Guide to the Cloud Resume Challenge — Part 2: Domain names, Route53 and Certificate Manager.

Shishir Khandelwal
5 min readOct 17, 2021

--

This article series is a walkthrough of the steps & methods I used to create a cloud resume on AWS.

I firmly believe that learning Cloud and DevOps by doing projects is perhaps the best approach to gain meaningful skills. The goal of this article is to help anyone who is trying to complete the Cloud Resume Challenge.

Check out my cloud resume here!

In Part 1 of the guide, S3 and Cloudfront were discussed.

In this article, we will see the setup of the Domain name, Route53 and Certificate Manager.

The main component of the project is the domain name, so let’s start with it!

  • We are going to buy a cheap domain name on GoDaddy and then set up our AWS services to use that domain name.
  • Choose a domain name for your website. I am going with ‘shishirkhandelwal.com’.

Next, we need to set up our Route53 so that it can be used to create records using our newly created domain name.

  • Create a hosted zone in route53 for our domain.
  • Notice that Route53 specifies some unique name servers to your newly created host zone. These are servers that need to be added to your domain name provider. (i.e. GoDaddy in our case)
  • In order to add the name servers in GoDaddy, go to your
    - account products — ‘Manage my domain’ option — ‘Manage DNS’ under ‘Additional Settings’ and then add the nameservers here as specified by Route53.
  • Add the name servers by choosing to add your own nameservers which AWS Route53 provided.
  • At this time, your nameservers are being updated in GoDaddy’s records — this process takes some time. After it’s done, Route53 will be able to create records for your domain.

Next, we need to set up our Amazon Certificate Manager (ACM) so that it can be used to create records that serve requests via HTTPS for our domain name.

  • Start by requesting a public certificate in the ACM. We want our certificate for the main domain name — ‘shishirkhandelwal.com’ and all the subdomains of it- ‘*.shishirkhandelwal.com’.
  • In the next step, we need to specify the method for validation. I’ll go with DNS validation as it is easier.
  • Next, let’s validate our certificates so that we can start using them. It’s quite easy — the wizard asks you to add certain records in route53, you can add them by clicking on the ‘Create a record in Route 53’ button.
  • After ACM is done with the validations, you’ll be able to see a success message in the UI.

Great job! Your Route53 and ACM setup are complete. Now you can create another CloudFront distribution and create the corresponding record in route53.

After this is done, you should delete the Cloudfront distribution that you had created earlier

The new CloudFront distribution can be created like this:

  • Create the distribution and add the following settings.
  • Since we have the SSL certifications now, we can add them to the CloudFront distribution and access our website over HTTPS.
  • We have the domain name added in Route53, so we should specify the CNAME record too.
    I want to have my website at “resume.shishirkhandelwal.com”.
  • After the CloudFront distribution has been created, we need to create a route53 record for “resume.shishirkhandelwal.com”. I created it by following these settings —
  • Let’s try to access our website now.

Congratulations! Our website is now accessible on the internet via a URL that we chose and is serving requests securely over HTTPS.

In the next part, we are going to see -
- Creation and setup of a DynamoDB table.
- Creation and code of the lambda functions.
- Creation of APIs using API gateway.
- Configuring the APIs on the website.

The next parts are coming soon.

If you found this article helpful — consider following me here. I talk about Cloud & DevOps tools along with sharing a lot of tips and tutorials.

--

--

Shishir Khandelwal
Shishir Khandelwal

Written by Shishir Khandelwal

I spend my day learning AWS, Kubernetes & Cloud Native tools. Nights on LinkedIn & Medium. Work: Engineering @ PayPal.

No responses yet