One
Prerequisites
- Sign up for a domain on One
- Deploy an app with Architect and make note of the
staging
andproduction
URLs - Ensure the app is deployed to
us-east-1
- Ensure the
@app
name is uniquely named after the domain.
Step 1: setup SSL certificates with AWS Certificate Manager
In this step we will request a certificate from Amazon for our domain.
- Open up AWS Certificate Manager in the AWS Console in
us-east-1
(region is required!) - Click
Request a certificate
and thenRequest a public certificate
- Ensure
example.com
and*.example.com
for sub domains to work - Choose
DNS validation
and clickNext
- Add any tags and confirm the request
- Open up One account dashboard and click
DNS settings
for the particular domain you want to use. - Open the
DNS records
tab. - Click the
CNAME
tab in theCreate new record
box - Create CNAME records of both issued certificates
- Wait until they change from
pending
tosuccess
Step 2: setup CloudFront
Generate a CloudFront distribution with the certificate from step 1.
- Sign into AWS CloudFront in the AWS Console
- Click
Create Distribution
and then clickGet Started
- Open API Gateway and make note of the
Invoke URL
. - Enter the URL from API Gateway in
Origin Domain Name
- Set
Origin Protocol Policy
toMatch Viewer
- Add the
Alternate Domain Names (CNAMEs)
that you will be using. ex.example.com
. - Set
Viewer Protocol Policy
toRedirect HTTP to HTTPS
- Set
Allowed HTTP Methods
toGET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
- Set
Compress Objects Automatically
toYes
- Set
SSL Certificate
toCustom SSL Certificate
and select the cert from step 1 - Click
Create Distribution
- Repeat for
staging
domain.
Step 3: configure the domain Alias in One
Add A
and CNAME
records to DNS.
- Open up One account dashboard and click
DNS settings
for the particular domain you want to use. - Open the
DNS records
tab. - Click the
A
tab in theCreate new record
box - Use record type
A
for the root domain.- Leave
Hostname
input empty and add the IP address of the CloudFront domain that was created in step 2 to theWill point to
input.
- Leave
- Use record type
CNAME
for thestaging
domain.- Add the word
staging
to theHostname
input and add the CloudFront domain that was created in step 2 to theIs an alias of
input.
- Add the word
Conclusion
Now we’re done! You can check to see if your domains are online with the DNS checker tool DNS Checker tool.