<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>CloudFront on {O}</title>
    <link>https://omarmakled.com/tags/cloudfront/</link>
    <description>Recent content in CloudFront on {O}</description>
    <generator>Hugo -- 0.151.1</generator>
    <language>en-us</language>
    <atom:link href="https://omarmakled.com/tags/cloudfront/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Host Static Website on AWS with Terraform, S3, and CloudFront</title>
      <link>https://omarmakled.com/posts/s3-cloudfront/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://omarmakled.com/posts/s3-cloudfront/</guid>
      <description>&lt;p&gt;This example outlines a method for deploying static websites on &lt;strong&gt;Amazon Web Services (AWS)&lt;/strong&gt; using &lt;strong&gt;Terraform&lt;/strong&gt; for infrastructure as code, &lt;strong&gt;Amazon S3&lt;/strong&gt; for content storage, and &lt;strong&gt;Amazon CloudFront&lt;/strong&gt; for global content delivery. The deployment process is fully automated.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;project-structure&#34;&gt;Project Structure&lt;/h3&gt;
&lt;p&gt;Below is an overview of the project&amp;rsquo;s key directories and files:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;public/&lt;/code&gt;&lt;/strong&gt;: Contains the static website assets, such as &lt;code&gt;index.html&lt;/code&gt; and &lt;code&gt;404.html&lt;/code&gt;. These are the files that will be served to users.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;terraform/&lt;/code&gt;&lt;/strong&gt;: This directory holds all the Terraform configuration files (&lt;code&gt;.tf&lt;/code&gt;) responsible for provisioning and managing AWS resources.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;main.tf&lt;/code&gt;: Defines the core AWS resources, including the S3 bucket and CloudFront distribution.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;variables.tf&lt;/code&gt;: Contains input variables to parameterize the Terraform configuration (e.g., bucket names, domain names).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;outputs.tf&lt;/code&gt;: Specifies output values that are useful after Terraform applies the configuration, such as the CloudFront distribution domain name.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deploy.sh&lt;/code&gt;: A shell script to execute the Terraform plan and apply the infrastructure, including uploading static files to S3.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;destroy.sh&lt;/code&gt;: A shell script to tear down all provisioned AWS resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Project Repository:&lt;/strong&gt; &lt;a href=&#34;https://github.com/OmarMakled/aws-terraform-s3&#34;&gt;https://github.com/OmarMakled/aws-terraform-s3&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
