Cloud Resume Challenge part 1: Host your resume with S3, CloudFront, and Route53

Cloud Resume Challenge part 1: Host your resume with S3, CloudFront, and Route53

The Cloud Resume Challenge gives you the opportunity to develop hands-on experience by building your own cloud-hosted resume. This part will guide you through creating a website hosted on S3, securing it with SSL, and linking it to a custom domain with Route53. Start your journey to a more tech-savvy future today.

Step 1: Domain Registration on Route 53

💡
Route 53 is a scalable domain name system (DNS) web service. It's designed to give developers an easy way to direct end-users to Internet applications by translating human-readable names like www.example.com into the numeric IP addresses like 192.0.2.1 -- Route 53 effectively connects user requests to your website's infrastructure – whether it’s hosted on AWS or elsewhere.

Navigate to theRoute 53service, and embark on the process with a click on 'Get Started':

You'll see many top-level domains (TLDs) available after you enter your preferred domain name.

💡
After you've made your selection, proceed to checkout and anticipate a confirmation email to verify domain ownership—don't neglect to check your inbox.

Step 2: S3 Buckets and Web Hosting

💡
Amazon Simple Storage Service (S3) is a service that provides object storage through a web service interface. Think of it as a vast and flexible online storage facility. You can use S3 to store and retrieve any amount of data at any time, from anywhere on the web.

So let's use this great service to host our static resume.

1 - Create a bucket matching your domain URL

Name your S3 bucket after your domain and keep the default settings.

2 - Transform the bucket into a web hosting hub

  1. Enable public access

  2. Enable Web Hosting

  3. Modify the bucket policy

To accomplish these steps succinctly, consider following the tutorial.

💡
Enabling public access allows your S3 bucket to be reachable by the public, but specific permissions are still needed for interaction. To grant these, you modify the bucket policy accordingly.

3 - Uploading your resume

Assuming you have your resume as an HTML file with CSS styling. If not, you can use a template from this repository.

Check if you did it correctly.

Once everything is set up correctly, your resume should be displayed. Enjoy seeing your resume's global reach—whether on your own device or someone else's halfway across the world. It really is a small world.

Step 3: SSL Certificate

💡
AWS Certificate Manager (ACM) is a service that makes managing security certificates simple. ACM allows you to easily get, set up, and renew SSL/TLS certificates. With ACM, we can enable HTTPS.

Let's request a SSL certificate from the AWS Certificate Manager in the us-east-1 region, which is necessary for later steps.

1 - Initiate a certificate request

2 - DNS validation vs. email validation

💡
Generally, DNS validation is recommended, especially if your DNS service is Route 53. However, if you are using another service, the email option might be more suitable for you.

3 - Prove the ownership of your domain

AWS will provide you with a set of DNS records to insert into your domain's DNS configuration. These records are crucial for proving ownership of the domain.


4 - Validation process

Once the status shows as Issued, you are ready to proceed.

Step 4 : CloudFront Distribution Setup

💡
CloudFront is a global content delivery network that ensures your resume is available quickly to users all over the world, highlighting your ability to implement widespread cloud solutions.

1 -Configuring Origin Settings

💡
The S3 Website Endpoint lets you fully use the features of S3's static website hosting, like custom error pages and redirects, which regular bucket endpoints don't support.

2 - Disable security feature

Choose the certificate you created in the previous step.

💡
Remember, CloudFront requires the use of a certificate from the us-east-1region – one of the many reasons we emphasized setting up within this region.

State the name of your HTML file. This should be the same name as your resume's HTML file.

Leave the rest as it is and create the distribution.


And Like any good thing, it takes time – usually about 5 minutes.

In your CloudFront console, you'll find the Distribution Domain Name

Look for the padlock icon in your browser's address bar, confirming that HTTPS is active and the connection is secure, thanks to the SSL/TLS certificate you've configured.

Step 5: Custom Domain Setup with Route 53

Once your CloudFront distribution is up and running, the next important step is to link it with your custom domain by creating a DNS A record that directs your domain's traffic to the CloudFront domain hosting your cloud resume.

Once the A record is created and the changes propagate, your custom domain will resolve to your CloudFront distribution, displaying your cloud resume.

Conclusion

With Part 1 of the Cloud Resume Challenge complete, you've laid the foundation of a professional online presence with AWS:

  1. Successfully registered and validated a domain through Route 53.

  2. Configured an S3 bucket for website hosting while securing necessary permissions.

  3. Secured your website with a verified SSL/TLS certificate from AWS Certificate Manager.

  4. Enhanced your website's reach by setting up a CloudFront distribution.

  5. Seamlessly linked your custom domain with CloudFront using Route 53's DNS A record.

You find a Terraform code that automate all those steps here.

Get ready to build upon this solid foundation in Part 2, where we'll introduce a visitor counter to bring interactivity to your project. Keep an eye out for the next steps, and great work so far!