<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Isaac Adepitan</title>
    <description>The latest articles on DEV Community by Isaac Adepitan (@1zyik).</description>
    <link>https://dev.to/1zyik</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1012284%2Fd8eca71f-39b6-4e89-b132-8ad14c65eb49.jpeg</url>
      <title>DEV Community: Isaac Adepitan</title>
      <link>https://dev.to/1zyik</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/1zyik"/>
    <language>en</language>
    <item>
      <title>Configure a WordPress Instance with Amazon Lightsail</title>
      <dc:creator>Isaac Adepitan</dc:creator>
      <pubDate>Fri, 26 May 2023 12:51:29 +0000</pubDate>
      <link>https://dev.to/1zyik/configure-a-wordpress-instance-with-amazon-lightsail-al1</link>
      <guid>https://dev.to/1zyik/configure-a-wordpress-instance-with-amazon-lightsail-al1</guid>
      <description>&lt;p&gt;Sometimes you just want to get up and running without the hassle involved with configurations and the likes. With Amazon Lightsail you can do this and more. Lightsail provides developers compute, storage, and networking capacity and capabilities to deploy and manage websites and web applications in the cloud. &lt;/p&gt;

&lt;p&gt;Lightsail includes everything you need to launch your project quickly – virtual machines, containers, databases, CDN, load balancers, DNS management etc. This is especially good if you just need to get started quickly and have  a good jump off point seeing as Amazon Lightsail is the easiest way to get started with Amazon Web Services (AWS) if you just need virtual private servers. Lightsail includes everything you need to launch your project quickly. You can &lt;a href="https://aws.amazon.com/lightsail/"&gt;read more about lightsail.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  WordPress?
&lt;/h2&gt;

&lt;p&gt;WordPress is an open-source content management system (CMS). It's a popular tool for individuals without any coding experience who want to build websites and blogs. The software doesn't cost anything. Anyone can install, use, and modify it for free. &lt;a href="https://wordpress.com/"&gt;More on wordpress.&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Enough talk let’s get into deploying wordpress on lightsail. &lt;br&gt;
 &lt;br&gt;
Before we proceed, here are basic assumptions i have: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You have a working AWS Account.&lt;/li&gt;
&lt;li&gt;You have registered a domain name with AWS Route 53 or any domain registrar. &lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Step 1: Sign into the AWS console, search for lightsail and click to navigate to the lightsail dashboard.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rbWxLv6F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wptraru7cfq0fbbe6vcn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rbWxLv6F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wptraru7cfq0fbbe6vcn.png" alt="AWS Console search for lightsail" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MdvKRk6x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rkr2f1gf1qlpa1bd7v90.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MdvKRk6x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rkr2f1gf1qlpa1bd7v90.png" alt="Lightsail Dashboard Welcome" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 2: Creating the Wordpress Lightsail Instance
&lt;/h3&gt;

&lt;p&gt;a. On the Instances tab of the Lightsail home page, choose Create instance.&lt;/p&gt;

&lt;p&gt;b. An AWS Region and Availability Zone is selected for you but you can  choose or change AWS Region and Availability Zone if you want to create your instance in a different  location.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hx42XniH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u4ok7719p4tnftraxkfd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hx42XniH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u4ok7719p4tnftraxkfd.png" alt="Create Instance" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;c. Choose your instance image.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose Linux/Unix as the platform.&lt;/li&gt;
&lt;li&gt;Choose WordPress as the blueprint.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lVqvgCNv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7m920w734n6kail48qlm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lVqvgCNv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7m920w734n6kail48qlm.png" alt="Choose platform and blueprint" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;d. Choose an instance plan. I went with the smallest for this demonstration but lightsail is free for the first 3 months so no cost was incurred. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ru-DW9Bx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nqm593yb7r5u2bcn500k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ru-DW9Bx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nqm593yb7r5u2bcn500k.png" alt="Select plan" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;e. Enter a name for your instance and choose Create instance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--II3jDQ6S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1csyrw31dxndro51g1j8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--II3jDQ6S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1csyrw31dxndro51g1j8.png" alt="Create instance" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 3: Connect to your instance via SSH and get the password for your WordPress website
&lt;/h3&gt;

&lt;p&gt;The default password to sign in to the administration dashboard of your WordPress website is stored on the instance. So we have to ssh into it and retrieve the password. &lt;/p&gt;

&lt;p&gt;a. On the Instances tab of the Lightsail home page, choose the SSH quick-connect icon for your WordPress instance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vK4b_Ey0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ykodhyz3pcbqdy3mzh55.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vK4b_Ey0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ykodhyz3pcbqdy3mzh55.png" alt="SSH link to instance" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;b. After the browser-based SSH client window opens, paste the following command to get the admin password.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cat $HOME/bitnami_application_password
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;c. Copy the password out to a text document or somewhere as you would use it to sign in. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bcAAYOjr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2vjkmg2dl5drfvtizhvx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bcAAYOjr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2vjkmg2dl5drfvtizhvx.png" alt="Terminal output of password" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Sign in to the administration dashboard of your WordPress website.
&lt;/h3&gt;

&lt;p&gt;a. In a web browser window go to&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://PublicIpAddress/wp-login.php
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note you need to replace PublicIpAddress with the public IP address of your WordPress instance. You can get your instance's &lt;code&gt;public IP address&lt;/code&gt; from the Lightsail console as shown in the image below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tCJYSMw9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qo6piswc160kqdlab2gi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tCJYSMw9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qo6piswc160kqdlab2gi.png" alt="IP Address of instance" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;b. Log in to your instance. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the Username or Email Address box, enter user.&lt;/li&gt;
&lt;li&gt;In the Password box, enter the default password obtained earlier in from the SSH login.&lt;/li&gt;
&lt;li&gt;Choose Log in. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M9SMGAfF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v5us51t0g10k7vqk7325.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M9SMGAfF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v5us51t0g10k7vqk7325.png" alt="Wordpress login" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;c. You should be signed in now. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yUqAIi4H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qca9oye6mkacjsayy3vx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yUqAIi4H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qca9oye6mkacjsayy3vx.png" alt="Wordpress dashboard" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Create a Lightsail static IP address and attach it to your WordPress instance
&lt;/h3&gt;

&lt;p&gt;The default IP always changes when you stop and start your instance to fix that we would create and attach a static IP to our lightsail instance to prevent this from happening. &lt;/p&gt;

&lt;p&gt;a. On the Instances tab of the Lightsail home page, choose your running WordPress instance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--obIjF_Ct--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mrdjqsj1fow1nuopra64.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--obIjF_Ct--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mrdjqsj1fow1nuopra64.png" alt="Select instance" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;b. Choose the Networking tab, then choose Create static IP.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EpSFWFLM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dghqzx9vegtpjh42eagh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EpSFWFLM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dghqzx9vegtpjh42eagh.png" alt="Select static IP" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;c. The static IP location is preselected based on the instance zone that you chose earlier. Select the created WordPress instance from the Attach to an instance dropdown.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KkNBxT5a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j8eiujnvxus0go6dagqb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KkNBxT5a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j8eiujnvxus0go6dagqb.png" alt="Select instance for static ip" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;d. Name your static IP, then choose Create. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HdTvwZTC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bvr517humktnyq4ldzvs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HdTvwZTC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bvr517humktnyq4ldzvs.png" alt="Name and create static ip" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can now navigate to your wordpress instance using the new static IP, you can also stop and start your instance to test out the static IP. &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Create a Lightsail DNS zone and map a domain to your WordPress instance
&lt;/h3&gt;

&lt;p&gt;We don’t really want our wordpress website visitors memorising a series of numbers or IP addresses right. This is where the DNS zone mapping comes in. &lt;/p&gt;

&lt;p&gt;a. On the Domain and DNS tab of the Lightsail home page, choose Create DNS zone. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BSeV9aYe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8y0ivszrq05j92c7y0bo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BSeV9aYe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8y0ivszrq05j92c7y0bo.png" alt="Create DNS" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;b. Enter your domain, then choose Create DNS zone. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9h7QpBsI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zxkhjdaw8epauq3521mb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9h7QpBsI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zxkhjdaw8epauq3521mb.png" alt="Enter domain name" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: Make sure you have the domain registered already on AWS or any domain registrar.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;c. Make note of the name server address listed on the page. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VmO5IaaG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x26ygxtf6tinw9ksml1g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VmO5IaaG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x26ygxtf6tinw9ksml1g.png" alt="Nameservers" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You add these name server addresses to your domain name’s registrar to transfer management of your domain’s DNS records to Lightsail. If you don’t know how to do this, &lt;a href="https://dev.to/1zyik/how-to-connect-your-namecheap-domain-to-route-53-2i8"&gt;i have a guide on this here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;d. Next we create an A record, In the DNS zone for your domain, choose Add record.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fJ4FfDVX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8b623uy67f28nthtz8a0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fJ4FfDVX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8b623uy67f28nthtz8a0.png" alt="Create a record" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;e. In the Subdomain box, enter an @ symbol to map the apex of your domain (such as example.com) to your instance. The @ symbol explicitly symbolises that you’re adding an apex record. It is not added as a subdomain.&lt;/p&gt;

&lt;p&gt;In the Resolves to box, choose the static IP that you attached to the WordPress instance in the previous step of this tutorial.&lt;/p&gt;

&lt;p&gt;Choose the green save icon.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iMwQ_7xP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uft3wnn2lhs2r57rozgd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iMwQ_7xP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uft3wnn2lhs2r57rozgd.png" alt="Create record complete" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Allow time for the change to propagate through the internet's DNS before your domain begins routing traffic to your WordPress instance. &lt;/p&gt;

&lt;p&gt;You should be able to visit your lightsail wordpress instance  now using the your domain name. &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 7: Clean up
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;On the Instances tab of the Lightsail home page, choose the ellipsis (⋮) icon next to the WordPress instance you just created and choose Delete.&lt;/li&gt;
&lt;li&gt;Choose Yes, delete from the prompt.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9xHNn19L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ggkkfyssf2g5tej8s1k1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9xHNn19L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ggkkfyssf2g5tej8s1k1.png" alt="Delete instance" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You should also navigate to the static IP section and delete the IP as well. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And that is how you configure wordpress on Amazon Lightsail, pretty easy right. I’ll see you around ✌️&lt;/p&gt;

&lt;p&gt;Credits: &lt;em&gt;Amazons guide to &lt;a href="https://aws.amazon.com/getting-started/hands-on/launch-a-wordpress-website/?ref=gsrchandson"&gt;configuring wordpress on Lightsail.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>aws</category>
      <category>cloud</category>
      <category>wordpress</category>
    </item>
    <item>
      <title>Host a static website on AWS using S3, Route 53, AWS Certificate Manager and CloudFront</title>
      <dc:creator>Isaac Adepitan</dc:creator>
      <pubDate>Wed, 17 May 2023 12:53:53 +0000</pubDate>
      <link>https://dev.to/1zyik/host-a-static-website-on-aws-using-s3-route-53-aws-certificate-manager-and-cloudfront-3mi6</link>
      <guid>https://dev.to/1zyik/host-a-static-website-on-aws-using-s3-route-53-aws-certificate-manager-and-cloudfront-3mi6</guid>
      <description>&lt;p&gt;Websites are key to modern day businesses' success. While they are essential, the cost of keeping one up and running can be daunting and this is greatly felt by small business. Seeing as hosting companies charge an arm and a leg for simple static sites, by utilising tools from cloud services like AWS we can achieve highly available and low latency static websites which are easily accessible round the world all at the fraction of the cost, and let’s face it, those hosting companies web load speeds kind of suck. &lt;br&gt;
 &lt;br&gt;
Let’s begin with a brief intro to each service used and then we proceed to build out the architecture. &lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  What is S3?
&lt;/h3&gt;

&lt;p&gt;Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. Customers of all sizes and industries can use Amazon S3 to store and protect any amount of data for a range of use cases. Amazon S3 provides management features so that you can optimise, organise, and configure access to your data to meet your specific business, organisational, and compliance requirements.&lt;br&gt;
In essence, think of S3 as a massive hard drive in the cloud with unlimited storage space which you can put stuff in and only pay for what you use.  You can &lt;a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html" rel="noopener noreferrer"&gt;read more about S3.&lt;/a&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  What is Route 53?
&lt;/h3&gt;

&lt;p&gt;Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service. Route 53 connects user requests to internet applications running on AWS or on-premises. In essence a DNS turns domain names into IP addresses, which allow browsers to get to websites and other internet resources. You can &lt;a href="https://aws.amazon.com/route53/" rel="noopener noreferrer"&gt;read more about Route 53.&lt;/a&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  What is AWS Certificate Manager?
&lt;/h3&gt;

&lt;p&gt;We use AWS Certificate Manager (ACM) to provision, manage, and deploy public and private SSL/TLS certificates for use with AWS services and your internal connected resources. ACM removes the time-consuming manual process of purchasing, uploading, and renewing SSL/TLS certificates. In essence these certificates ensure that the traffic and from your applications (websites) are secure. More about &lt;a href="https://aws.amazon.com/certificate-manager/" rel="noopener noreferrer"&gt;certificate manager.&lt;/a&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  What is CloudFront?
&lt;/h3&gt;

&lt;p&gt;Amazon CloudFront is a content delivery network (CDN) service built for high performance, security, and developer convenience. It works by storing a copy of your application content at edge locations so it’s faster for your users to download and access them. This significantly speeds up application load time, &lt;a href="https://aws.amazon.com/cloudfront/" rel="noopener noreferrer"&gt;more about cloudfront.&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Now that we know about these services, let’s move on to utilising them in creating a highly available and low latency website. &lt;br&gt;
 &lt;/p&gt;

&lt;h4&gt;
  
  
  Before we proceed, here are basic assumptions i have:
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;You have a copy of your website file (HTML, CSS, JS and their respective artefacts). &lt;/li&gt;
&lt;li&gt;You have a working AWS Account.&lt;/li&gt;
&lt;li&gt;You have registered a domain name with AWS Route 53 or have utilised the hosted zone feature to connect  your domain to Route 53. If not &lt;a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html" rel="noopener noreferrer"&gt;learn how to register one on aws&lt;/a&gt; and i covered how you can &lt;a href="https://dev.to/1zyik/how-to-connect-your-namecheap-domain-to-route-53-2i8"&gt;connect an existing domain&lt;/a&gt;
 &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Alright let’s get started… &lt;br&gt;
 &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhggxfi5vok9lx9nulknr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhggxfi5vok9lx9nulknr.jpg" alt="Architecture Diagram of Site Hosting"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Image of the static website architecture&lt;/em&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;h3&gt;
  
  
  Creating the static website with S3
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; You navigate to the search bar on the AWS console and search for S3. Click on it to move to S3 Console. Click on create bucket next. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9spbgbb1ptcxz43biiy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9spbgbb1ptcxz43biiy.png" alt="AWS search S3"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn86wm1o72houenfotuap.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn86wm1o72houenfotuap.png" alt="S3 landing page"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
&lt;strong&gt;Step 2:&lt;/strong&gt; Input the name of the bucket and ensure it’s the same as the domain name you purchase so &lt;code&gt;example.com&lt;/code&gt; domain should be represented as &lt;code&gt;example.com&lt;/code&gt; bucket name. Select a region you prefer. Since we would be using cloudfront you can pick anyone. Leave all the defaults and proceed to create the bucket.&lt;br&gt;
 &lt;br&gt;
&lt;strong&gt;Step 3:&lt;/strong&gt;  Click the name of the bucket to navigate into it and click upload to upload the static website files from the folder they are stored. Don’t upload the folder, only the files in the folder. You can also drag and drop the files into s3. Wait for the upload to complete and navigate back to the bucket.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F147b2891jp0hmbw0b4y6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F147b2891jp0hmbw0b4y6.png" alt="S3 created bucket"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5scw2ncjwl59tpce6s5w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5scw2ncjwl59tpce6s5w.png" alt="S3 bucket successful upload"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
&lt;strong&gt;Step 4:&lt;/strong&gt; We will then need to configure our bucket so it is publicly available for our CloudFront to access. We can do this by making the bucket publicy accessible and pasting a policy statement into the Bucket Policy.&lt;br&gt;
 &lt;br&gt;
To do that we go to &lt;strong&gt;permissions, click edit on Block public access (bucket settings) uncheck the checkbox and click save changes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzkwp66aup764gp99jgr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzkwp66aup764gp99jgr.png" alt="Making bucket public"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Next you scroll to bucket policy and click edit. We then paste the policy below. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9fx2ziki9pu5210xsu1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9fx2ziki9pu5210xsu1.png" alt="Edit bucket policy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::Bucket-Name/*"
            ]
        }
    ]
}


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Make sure to edit the bucket name to match your bucket name.&lt;/em&gt;&lt;br&gt;
 &lt;br&gt;
You can make use of &lt;a href="https://awspolicygen.s3.amazonaws.com/policygen.html" rel="noopener noreferrer"&gt;aws policy generator&lt;/a&gt; to generate your's.&lt;br&gt;
 &lt;br&gt;
We now have a publicly accessible bucket. And it should be indicated at the top of the bucket name. &lt;br&gt;
 &lt;br&gt;
&lt;strong&gt;Step 5:&lt;/strong&gt; We’ll also need to enable static website hosting under &lt;strong&gt;properties section, scroll to the bottom and select Static website hosting, click on edit, select enable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fawysvpwd3xc3v8rziqpe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fawysvpwd3xc3v8rziqpe.png" alt="Edit static site settings"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
You will be presented with the option to input your index file and error file. Do so and ensure they are correctly spelt. Click save changes and a static site url would automatically be generated for you. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2kbsm5ulnfcw277nq8ob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2kbsm5ulnfcw277nq8ob.png" alt="Provide static site file paths"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Figgd3qxb267gfg435y40.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Figgd3qxb267gfg435y40.png" alt="Static site done"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Yay! You now have a fully functioning static website on AWS. But we are not stopping there right. &lt;/p&gt;

&lt;h3&gt;
  
  
  Creating a Certificate
&lt;/h3&gt;

&lt;p&gt;Navigate to certificates manager from the AWS search bar. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgcdqfkbntqnr4lqcarf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgcdqfkbntqnr4lqcarf.png" alt="AWS Certificate manager"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Click request certificate &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqojohl1e366nsm3t0ivs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqojohl1e366nsm3t0ivs.png" alt="Request certificate"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Provide the details for the domain name and make sure to leave DNS validation on. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fdxkypec2c9lrxydx6x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fdxkypec2c9lrxydx6x.png" alt="Creating certificate - step one"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ut8lmbr7csgdo9zww8g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ut8lmbr7csgdo9zww8g.png" alt="Creating certifictae - step two"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
You get a screen like this, showing pending validation. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxnx75azy1loy5jtouvwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxnx75azy1loy5jtouvwl.png" alt="Certificate created"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Click into it and you should see the CNAME name and CNAME values you need to validate with Route 53. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flovchd7x3sg49zw1oqtg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flovchd7x3sg49zw1oqtg.png" alt="Pending resolution"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Navigate to the hosted zone of your domain in Route 53 and click add records to your domain. Ensure the value is type of CNAME then copy the CNAME name into the subdomain removing the &lt;code&gt;.yourwebsite.com&lt;/code&gt;. Also copy the CNAME value into the values box. It should look like this. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5xvyqwerb8fmcudmu3yl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5xvyqwerb8fmcudmu3yl.png" alt="CNAME record creating"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Give it a few minutes and the certificate would be issued. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqedx114b42nnh3rqbbvs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqedx114b42nnh3rqbbvs.png" alt="Certificte Issued"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Our next step is to make the website globally distributed with CloudFront.&lt;/p&gt;

&lt;h3&gt;
  
  
  Set up Cloudfront Distribution
&lt;/h3&gt;

&lt;p&gt;Navigate to cloudfront from AWS search bar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwokgb81ykdod73l3ik4d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwokgb81ykdod73l3ik4d.png" alt="CloudFront Search"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Click create a cloudfront distribution&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmm2l00j1oqtqarkfn6w7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmm2l00j1oqtqarkfn6w7.png" alt="Creating distribution"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Provide details for the origin by selecting your S3 bucket&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fntxnel7ao7porhd3226w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fntxnel7ao7porhd3226w.png" alt="Set origin to S3"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Change viewer protocol policy to Redirect HTTP to HTTPS&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiuchndic54u32q03ekai.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiuchndic54u32q03ekai.png" alt="Change viewer protocol"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Select your SSL certificate from the dropdown list and click create distribution&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhl825snc2h1u9b722qf1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhl825snc2h1u9b722qf1.png" alt="Choose SSL and finish up"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
Give it a few minutes and your distribution should be created. You can verify by copying the link and testing out. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhx243iehonst6tvj23g4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhx243iehonst6tvj23g4.png" alt="CloudFront created successfully"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Point Domain to our CloudFront distribution
&lt;/h3&gt;

&lt;p&gt;Navigate back Route53 and select your hosted zone for your domain.&lt;br&gt;
 &lt;br&gt;
Then click on add record. &lt;br&gt;
 &lt;br&gt;
This time we are creating an A record, make sure the alias is checked on. Then select your cloudfront distribution and hit save.&lt;br&gt;
 &lt;br&gt;
Give it a few minutes and you should have a working website that is secure and globally accessible. &lt;br&gt;
 &lt;br&gt;
Yay!! You did it and i'll see you around..&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>cloudskills</category>
      <category>devops</category>
    </item>
    <item>
      <title>How to Connect Your Namecheap Domain to Route 53</title>
      <dc:creator>Isaac Adepitan</dc:creator>
      <pubDate>Sat, 06 May 2023 13:39:06 +0000</pubDate>
      <link>https://dev.to/1zyik/how-to-connect-your-namecheap-domain-to-route-53-2i8</link>
      <guid>https://dev.to/1zyik/how-to-connect-your-namecheap-domain-to-route-53-2i8</guid>
      <description>&lt;p&gt;So I'm guessing you just bought your first domain and like everyone else, you went with Namecheap, like the name implies 😉. But you want to leverage this domain beyond the regular static site hosting, you want this domain to exist on a cloud provider like AWS, Azure or GCP to name a few. Well if you intend to connect your domain to AWS (Route 53) then this guide is for you. &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;We begin by knowing what Route 53 is, why you would want to connect your domain to Route 53 and cap off with you making the connection.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  What is Route 53
&lt;/h2&gt;

&lt;p&gt;Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service. Route 53 connects user requests to internet applications running on AWS or on-premises. In essence a DNS turns domain names into IP addresses, which allow browsers to get to websites and other internet resources. I wouldn’t want to bore you with the technical jargon and such, so you can read more about &lt;a href="https://aws.amazon.com/route53/" rel="noopener noreferrer"&gt;Route 53&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Why Route 53
&lt;/h2&gt;

&lt;p&gt;So I know you must be thinking why Route 53, Namecheap also has a DNS right?  Well you are right. If you don’t need the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Global Routing: Route end users to your site reliably with globally-dispersed Domain Name System (DNS) servers and automatic scaling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Routing Policies: Customise your DNS routing policies to reduce latency, improve application availability, and maintain compliance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Readiness Checks: Ensure that your resources across Availability Zones or Regions are continually audited for recovery readiness.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;IP Based Routing: Fine-tune your DNS routing approach based on the Classless Inter-Domain Routing (CIDR) block that the query-originating IP address belongs to.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;And much &lt;a href="https://aws.amazon.com/route53/features/" rel="noopener noreferrer"&gt;more...&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In essence Route 53 goes way beyond what a basic DNS like Namecheap offers as such these are features which can help provide better product experiences for customers.&lt;/p&gt;

&lt;p&gt;Enough talk, let's connect our domain to Route 53. &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting Namecheap Domain to Route 53
&lt;/h2&gt;

&lt;p&gt;I would assume you have already purchased a domain from Namecheap. If you do not have one &lt;a href="https://www.namecheap.com/support/knowledgebase/article.aspx/10072/35/how-to-register-a-domain-name/" rel="noopener noreferrer"&gt;this guide&lt;/a&gt; would walk you through it. I would also assume you have an aws account set up and ready to go. &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Note, I've blurred out sections just for security reasons. &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Firstly you would sign into your AWS dashboard and navigate to Route 53 using the Search Bar. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpzijom8pqbhhdyoo1mk6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpzijom8pqbhhdyoo1mk6.png" alt="Image of AWS Dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;In the Route 53 dashboard click on create hosted zone and input your domain name in the first field then click create hosted zone. Ensure you input the domain name without prefixes. So example.com not &lt;code&gt;http://example.com&lt;/code&gt; or &lt;code&gt;www.example.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fch6bwsys5jwvwxjgkrk2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fch6bwsys5jwvwxjgkrk2.png" alt="Route 53 Dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frs4qq3q3hb75p0hf2n9l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frs4qq3q3hb75p0hf2n9l.png" alt="Creating hosted zone on Route 53"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;When it’s created you should get an image like this&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bqzft6cl4gn235lgxuw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bqzft6cl4gn235lgxuw.png" alt="Route 53 hosted zone completed"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Next you need to navigate to your Namecheap dashboard and click manage on the domain name you wish to connect. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fak28xj6fmps6vedviw9b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fak28xj6fmps6vedviw9b.png" alt="Namecheap Dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Click the dropdown on name servers and select custom dns &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8r30sv56ccvn0jji9q7k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8r30sv56ccvn0jji9q7k.png" alt="Namecheap dashboard - manage domain name"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Navigate back to Route 53 and copy the NS records, go back to Namecheap and enter the NS records in the Nameserver input field in order. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr0wafyza1nu2yrqw7m9f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr0wafyza1nu2yrqw7m9f.png" alt="Namecheap dashboard - Mange custom dns"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You then click  the green checkmark to save.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;And that’s it! You have successfully connected your Namecheap Domain to Route 53. However you should note that it takes 24-48 hours to fully propagate, so don’t expect it to work instantly. &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;You can go on to create several records like the A, CNAME, SRV, TXT and the likes  on Route 53.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;I’ll see you around! &lt;/p&gt;

</description>
      <category>aws</category>
      <category>tutorial</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
