<?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: KIRAN KARTHIK PN</title>
    <description>The latest articles on DEV Community by KIRAN KARTHIK PN (@kiran_karthikpn).</description>
    <link>https://dev.to/kiran_karthikpn</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4125478%2Fff1960cb-932f-4293-8dc2-938f0d4d1c06.png</url>
      <title>DEV Community: KIRAN KARTHIK PN</title>
      <link>https://dev.to/kiran_karthikpn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kiran_karthikpn"/>
    <language>en</language>
    <item>
      <title>cloud workshop documentation</title>
      <dc:creator>KIRAN KARTHIK PN</dc:creator>
      <pubDate>Tue, 15 Sep 2026 06:51:32 +0000</pubDate>
      <link>https://dev.to/kiran_karthikpn/cloud-workshop-documentation-186d</link>
      <guid>https://dev.to/kiran_karthikpn/cloud-workshop-documentation-186d</guid>
      <description>&lt;p&gt;Deploying a Portfolio Website with AWS S3&lt;/p&gt;

&lt;p&gt;This guide walks through creating an S3 bucket, uploading a static portfolio site (index.html), and configuring it for public web hosting.&lt;/p&gt;

&lt;p&gt;Prerequisites&lt;br&gt;
An AWS account&lt;br&gt;
Your website files (index.html and any images/assets)&lt;br&gt;
Step 1: Create an S3 Bucket&lt;br&gt;
Sign in to the AWS Management Console.&lt;br&gt;
Open the S3 service.&lt;br&gt;
Click Create bucket.&lt;br&gt;
Enter a bucket name. This must be globally unique across all AWS accounts (e.g. yourname-portfolio).&lt;br&gt;
Choose an AWS Region close to you or your target audience.&lt;br&gt;
Under Block Public Access settings, leave the defaults for now — this will be adjusted in Step 4.&lt;br&gt;
Leave other settings at their defaults and click Create bucket.&lt;br&gt;
Step 2: Upload Your Files&lt;br&gt;
Open the newly created bucket.&lt;br&gt;
Click Upload.&lt;br&gt;
Click Add files and select index.html (and any images used by the page).&lt;br&gt;
Click Upload to complete.&lt;/p&gt;

&lt;p&gt;Step 3: Enable Static Website Hosting&lt;br&gt;
Open your bucket, go to the Properties tab.&lt;br&gt;
Scroll down to Static website hosting and click Edit.&lt;br&gt;
Select Enable.&lt;br&gt;
Set:&lt;br&gt;
Index document: index.html&lt;br&gt;
Error document: index.html (or a custom error page if you have one)&lt;br&gt;
Click Save changes.&lt;br&gt;
AWS will display a bucket website endpoint URL (e.g. &lt;a href="http://your-bucket-name.s3-website-" rel="noopener noreferrer"&gt;http://your-bucket-name.s3-website-&lt;/a&gt;.amazonaws.com). Note this down.&lt;br&gt;
Step 4: Allow Public Read Access&lt;/p&gt;

&lt;p&gt;Static hosting requires the files to be publicly readable.&lt;/p&gt;

&lt;p&gt;Go to the Permissions tab.&lt;br&gt;
Under Block public access (bucket settings), click Edit.&lt;br&gt;
Uncheck Block all public access and confirm.&lt;br&gt;
Under Bucket policy, click Edit and add the following policy (replace your-bucket-name):&lt;br&gt;
json&lt;br&gt;
{&lt;br&gt;
  "Version": "2012-10-17",&lt;br&gt;
  "Statement": [&lt;br&gt;
    {&lt;br&gt;
      "Sid": "PublicReadGetObject",&lt;br&gt;
      "Effect": "Allow",&lt;br&gt;
      "Principal": "&lt;em&gt;",&lt;br&gt;
      "Action": "s3:GetObject",&lt;br&gt;
      "Resource": "arn:aws:s3:::your-bucket-name/&lt;/em&gt;"&lt;br&gt;
    }&lt;br&gt;
  ]&lt;br&gt;
}&lt;br&gt;
Click Save changes.&lt;/p&gt;

&lt;p&gt;Note: This makes every object in the bucket publicly readable. If the bucket contains files unrelated to the website, consider using a dedicated bucket or scoping the policy to a specific folder/prefix instead.&lt;/p&gt;

&lt;p&gt;Step 5: Test the Website&lt;br&gt;
Go back to Properties → Static website hosting.&lt;br&gt;
Open the bucket website endpoint URL in a browser.&lt;br&gt;
Confirm the portfolio loads correctly, including the image.&lt;br&gt;
Step 6 (Optional): Custom Domain and HTTPS&lt;/p&gt;

&lt;p&gt;Plain S3 static website hosting only supports HTTP, not HTTPS, and doesn't support a custom domain directly. To add both:&lt;/p&gt;

&lt;p&gt;Create a CloudFront distribution with the S3 bucket (or its website endpoint) as the origin.&lt;br&gt;
Request or import an SSL/TLS certificate via AWS Certificate Manager (must be in the us-east-1 region for CloudFront).&lt;br&gt;
Attach the certificate to the CloudFront distribution.&lt;br&gt;
In Route 53 (or your domain registrar), point your domain's DNS record to the CloudFront distribution.&lt;br&gt;
Updating the Site Later&lt;/p&gt;

&lt;p&gt;To publish changes, upload the updated index.html (and any changed assets) to the same bucket, overwriting the existing files. If using CloudFront, you may need to invalidate the cache for changes to appear immediately:&lt;/p&gt;

&lt;p&gt;Go to your CloudFront distribution.&lt;br&gt;
Open the Invalidations tab.&lt;br&gt;
Create an invalidation for /* to clear the cache.&lt;/p&gt;

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

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

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
