FileMaker Cloud Custom Domain Name

While FileMaker Cloud simplifies hosting your database files, the initial setup process can be complicated. This blog post focuses on a step that frequently trips people up: configuring FileMaker Cloud with a custom domain name.

Upon signing up for FileMaker Cloud you’ll be provided with a Usage Instructions page. This page includes links to AWS CloudFormation templates that automatically deploy the underlying AWS resources required to serve FileMaker Cloud in the region of your choice. These resources include a Linux instance (the server), EBS volumes (the root and data hard drives), a security group (the firewall rules), and a dynamic public IP address. AWS refers to the collection of these resources as a stack.

You should receive an automated email from FileMaker a few minutes after your stack has transitioned to status “CREATE_COMPLETE”. This email includes a link to the Admin Console Setup page. It’s important not to make changes to the components configured by CloudFormation prior to setting up the Admin Console. As described by FileMaker Portland Meetup (FMPDX) member Dean Suhr, if the instance’s IP address changes before you’ve set up the Admin Console, the link included in the email will not work.

The Admin Console Setup page requires you to specify a unique host name within the fmi.filemaker-cloud.com subdomain. The page automatically verifies that the host name you provide is unique and then creates a DNS record within AWS Route 53 that maps your fmi.filemaker-cloud.com host name to your instance’s IP address. The SSL certificate for your fmi.filemaker-cloud.com subdomain is only good for 90 days, so it should really only be used for this initial set up process. Once the set up completes and you’re redirected to the Admin Console log in page, you are ready to make changes to your FileMaker Cloud instance’s networking configuration.

A FileMaker Cloud instance has a dynamic public IP address by default. This means that if in the future you need to stop the instance, for example because it’s unresponsive or you’re changing its type, the instance’s IP address will change. If you haven’t updated your DNS records, when your IP address changes users will no longer be able to connect to FileMaker Cloud because the hostname users have for your FileMaker Cloud instance will still resolve to the old IP address. A ping sent to yourserver.example.com will still be routed to your original address, rather than your new address.

You can avoid dynamic IP address headaches two ways.

The first approach is to assign an Elastic IP address to your instance. An Elastic IP address is a static, public IPv4 address that you can request from AWS. As long as you have the Elastic IP attached to a running instance, and that Elastic IP is the only one attached to the instance, AWS will not charge you for it.

You can associate an Elastic IP with your FileMaker Cloud instance in two steps. First, request an Elastic IP from AWS. The request should only take a second, after which you can associate it with your FileMaker Cloud instance.

With the Elastic IP associated with your instance, you are now ready to configure a custom domain name. If you don’t already have a domain name, register one. There are many domain registrars available, including AWS Route 53.

Next, determine who hosts your domain name’s DNS records using a tool like MXToolbox. Most of the time your domain’s nameservers will be managed by your domain registrar. Once you’ve identified them, find out how they let customers manage DNS records. Using whichever tool they provide (typically a webpage), create a DNS A record that maps your domain name or subdomain name to your FileMaker Cloud instance’s Elastic IP address.

Once you’ve updated the A record, your FileMaker Cloud deployment will be reachable via your custom domain name! Better still, maintenance tasks like stopping and starting the instance will not require you to update the A record and wait for DNS propagation.

The downside of using an Elastic IP is that if FileMaker Cloud recreates your instance during maintenance, it’s not clear if the new instance will automatically be configured with the old instance’s Elastic IP. My assumption is that won’t be, and you’ll need to reassociate the Elastic IP to the new instance via an automated script or manually through the console.

The second and perhaps better approach is to configure your domain name with a CNAME record rather than an A record. Using this method, you will map your domain name to your FileMaker Cloud deployment’s persistent DNS name instead of to your instance’s IP address. This makes your custom domain name essentially an alias for your fmi.filemaker-cloud.com subdomain name. Users will not see the fmi.filemaker-cloud.com subdomain, and your custom domain name’s SSL certificate will work. If your instance’s IP address changes, your persistent DNS name’s A record will automatically be updated by FileMaker Cloud to map to the new address.

Hopefully this blog helps you avoid common pitfalls during your next FileMaker Cloud deployment. Are there other areas of FileMaker Cloud you’re interested in learning more about? If so, please reach out in the comments or contact AppWorks!