<?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>Forem: Oladipupo Abeeb Olanrewaju</title>
    <description>The latest articles on Forem by Oladipupo Abeeb Olanrewaju (@oladipupoabeeb).</description>
    <link>https://forem.com/oladipupoabeeb</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%2F999596%2F5f0e5f10-822e-4bd3-970c-6264fdb90525.png</url>
      <title>Forem: Oladipupo Abeeb Olanrewaju</title>
      <link>https://forem.com/oladipupoabeeb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/oladipupoabeeb"/>
    <language>en</language>
    <item>
      <title>AWS: S3 Storage Classes</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Thu, 22 Aug 2024 03:47:51 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-s3-storage-classes-3oda</link>
      <guid>https://forem.com/oladipupoabeeb/aws-s3-storage-classes-3oda</guid>
      <description>&lt;h2&gt;
  
  
  Amazon S3 Standard (S3 Standard)
&lt;/h2&gt;

&lt;p&gt;S3 Standard provides highly durable, available, and performant object storage for data that is accessed frequently. With its low latency and high throughput, S3 Standard is ideal for various applications such as cloud services, dynamic websites, content distribution, mobile and gaming apps, and big data analytics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;General-purpose storage for frequently accessed data&lt;/li&gt;
&lt;li&gt;Low latency and high throughput performance&lt;/li&gt;
&lt;li&gt;Designed for 99.99% availability, with a (11 9's)% durability &lt;/li&gt;
&lt;li&gt;More than 3 Availability Zones&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Amazon S3 Standard-Infrequent Access (S3 Standard-IA)
&lt;/h2&gt;

&lt;p&gt;Amazon S3 Standard-Infrequent Access (S3 Standard-IA) is a storage class designed for data that is accessed less frequently but still requires rapid access when needed. It offers a lower cost compared to S3 Standard, while still maintaining high durability, availability, and performance. This makes S3 Standard-IA ideal for use cases like backups, disaster recovery, and long-term storage of data that doesn't need to be accessed often.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Infrequently accessed data that needs millisecond access&lt;/li&gt;
&lt;li&gt;Same low latency and high throughput performance of S3 Standard&lt;/li&gt;
&lt;li&gt;Designed to deliver 99.9% , with a (11 9's)% durability &lt;/li&gt;
&lt;li&gt;More than 3 Availability Zones&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Amazon S3 One Zone-Infrequent Access (S3 One Zone-IA)
&lt;/h2&gt;

&lt;p&gt;Amazon S3 One Zone-Infrequent Access (S3 One Zone-IA) is a storage class tailored for infrequently accessed data that is non-critical and can be stored in a single Availability Zone. It offers a lower cost compared to the S3 Standard-IA class, as it doesn't replicate data across multiple zones. S3 One Zone-IA is well-suited for cost-sensitive use cases such as backups, disaster recovery copies, and other data that can be easily recreated if lost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Re-creatable infrequently accessed data&lt;/li&gt;
&lt;li&gt;Same low latency and high throughput performance of S3 Standard&lt;/li&gt;
&lt;li&gt;Designed to deliver 99.5%, with a (11 9's)% durability &lt;/li&gt;
&lt;li&gt;With 1 Availability Zones&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Amazon S3 Intelligent-Tiering (S3 Intelligent-Tiering)
&lt;/h2&gt;

&lt;p&gt;Amazon S3 Intelligent-Tiering (S3 Intelligent-Tiering) is a storage class designed to optimize costs by automatically moving data between two access tiers: frequent and infrequent access, based on changing access patterns. It provides the same high durability and low latency as other S3 classes, while reducing costs for data that isn't frequently accessed. S3 Intelligent-Tiering is ideal for workloads with unpredictable or changing access patterns, as it eliminates the need to manually manage data lifecycle transitions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automatic cost savings for data with unknown or changing access patterns&lt;/li&gt;
&lt;li&gt;Frequent and Infrequent Access tiers have the same low-latency and high-throughput performance of S3 Standard&lt;/li&gt;
&lt;li&gt;Designed to deliver 99.9%, with a (11 9's)% durability &lt;/li&gt;
&lt;li&gt;More than 3 Availability Zones&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Amazon S3 Glacier Instant Retrieval
&lt;/h2&gt;

&lt;p&gt;Amazon S3 Glacier Instant Retrieval is a storage class designed for data that is rarely accessed but needs to be retrieved immediately when requested. It combines the low cost of archival storage with the benefit of millisecond retrieval times. This makes it ideal for use cases like long-term data archiving, digital preservation, and backup storage, where rapid access is occasionally required without the need to pay for frequent access storage classes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Long-lived data that is accessed a few times per year with instant retrievals&lt;/li&gt;
&lt;li&gt;Data retrieval in milliseconds with the same performance as S3 Standard&lt;/li&gt;
&lt;li&gt;Designed to deliver 99.9%, with a (11 9's)% durability &lt;/li&gt;
&lt;li&gt;More than 3 Availability Zones&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Amazon S3 Glacier Flexible Retrieval
&lt;/h2&gt;

&lt;p&gt;Amazon S3 Glacier Flexible Retrieval is a storage class designed for archival data that is infrequently accessed but requires flexible retrieval options. It offers low-cost storage with a range of retrieval times, from minutes to hours, depending on your needs. This class is ideal for use cases like long-term backups, data archiving, and regulatory compliance, where data can be stored at a low cost and retrieved within a specified time frame without the urgency of instant access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Backup and archive data that is rarely accessed and low cost&lt;/li&gt;
&lt;li&gt;Designed to deliver 99.99%, with a (11 9's)% durability &lt;/li&gt;
&lt;li&gt;More than 3 Availability Zones&lt;/li&gt;
&lt;li&gt;Supports SSL for data in transit and encryption of data at rest&lt;/li&gt;
&lt;li&gt;Ideal for backup and disaster recovery use cases when large sets of data occasionally need to be retrieved in minutes, without concern for costs&lt;/li&gt;
&lt;li&gt;Configurable retrieval times, from minutes to hours, with free bulk retrievals&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Amazon S3 Glacier Deep Archive
&lt;/h2&gt;

&lt;p&gt;Amazon S3 Glacier Deep Archive is the lowest-cost storage class designed for long-term data archiving that is rarely accessed, with retrieval times ranging from 12 to 48 hours. It is ideal for data that needs to be retained for years or decades for compliance purposes or digital preservation but does not require immediate retrieval. This storage class is particularly suited for organizations looking to minimize storage costs for data that is unlikely to be accessed frequently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Archive data that is very rarely accessed and very low cost&lt;/li&gt;
&lt;li&gt;Designed to deliver 99.99% , with a (11 9's)% durability &lt;/li&gt;
&lt;li&gt;More than 3 Availability Zones&lt;/li&gt;
&lt;li&gt;Retrieval time within 12 hours&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>computerscience</category>
      <category>webdev</category>
    </item>
    <item>
      <title>AWS S3 : Object ACLS and Bucket Policies</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Mon, 15 Jul 2024 14:38:58 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-s3-object-acls-and-bucket-policies-14i9</link>
      <guid>https://forem.com/oladipupoabeeb/aws-s3-object-acls-and-bucket-policies-14i9</guid>
      <description>&lt;p&gt;In Amazon Web Services (AWS) Simple Storage Service (S3), managing access to your data involves two main components: object ACLs (Access Control Lists) and bucket policies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Object ACLs (Access Control Lists)
&lt;/h2&gt;

&lt;p&gt;Object ACLs are used to manage permissions at the individual object level within an S3 bucket. Each object can have its own set of permissions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Permissions:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;READ&lt;/strong&gt;: Allows grantee to read the object data and its metadata.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WRITE&lt;/strong&gt;: Allows grantee to create, overwrite, and delete the object.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;READ_ACP&lt;/strong&gt;: Allows grantee to read the object ACL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WRITE_ACP&lt;/strong&gt;: Allows grantee to write the object ACL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FULL_CONTROL&lt;/strong&gt;: Grants READ, WRITE, READ_ACP, and WRITE_ACP permissions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grantees&lt;/strong&gt;: ACLs can grant permissions to:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Canonical user&lt;/strong&gt;: Specific AWS accounts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS Account ID&lt;/strong&gt;: Any AWS account.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Group&lt;/strong&gt;s: Predefined Amazon S3 groups (e.g., AllUsers, AuthenticatedUsers, LogDelivery).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Default ACLs&lt;/strong&gt;: When an object is created, the default ACL grants the owner (the AWS account that uploaded the object) full control.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to Allow access to Bucket level and Individual Object level
&lt;/h3&gt;

&lt;p&gt;1.&lt;strong&gt;Bucket Level&lt;/strong&gt;: By default when creating a s3 Bucket, the public access is blocked or restricted meaning there is no access to that particular bucket.&lt;br&gt;&lt;br&gt;
    To allow access, Click on the bucket name, navigate to permissions; and scroll down to a section named "&lt;em&gt;Block public access&lt;/em&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%2Fvp8r5dcp95ibawdi3g12.jpeg" 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%2Fvp8r5dcp95ibawdi3g12.jpeg" alt="Bucket Settings"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on edit at the right-cornered, and click on Block all public access to allow access i.e allowing unrestricted access to that bucket. Save changes and confirm settings.&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%2Frdbce3mml08t6mpdq6qb.jpeg" 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%2Frdbce3mml08t6mpdq6qb.jpeg" alt="Default Block"&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%2Fmzj423i5dwuz89qdldof.jpeg" 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%2Fmzj423i5dwuz89qdldof.jpeg" alt="Access block"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.&lt;strong&gt;Individual Object Level (ACLs)&lt;/strong&gt;: To make an object individually public in S3 bucket, Go to Object Ownership under permissions in the bucket to enable Access Control Lists(ACLs). Click on edit, then click on ACLs enabled to allow access for other AWS accounts.&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%2Foncnkibtd36v4xx4k06k.jpeg" 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%2Foncnkibtd36v4xx4k06k.jpeg" alt="Object Ownership"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Save Changes.&lt;/p&gt;

&lt;p&gt;Select the object you want to make public, click on Actions and scroll down to "Make Public using ACL"&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%2Flkqa15qxuf8bh6gt2xoq.jpeg" 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%2Flkqa15qxuf8bh6gt2xoq.jpeg" alt="Make Public using ACL"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Click it.&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%2Fhuodcakyggufb3rbd5h2.jpeg" 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%2Fhuodcakyggufb3rbd5h2.jpeg" alt="Make public"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on Make public.&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%2Fydj94013isr32krprsxq.jpeg" 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%2Fydj94013isr32krprsxq.jpeg" alt="Success"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is how Data Security works in AWS S3...&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>aws</category>
      <category>computerscience</category>
      <category>cloud</category>
    </item>
    <item>
      <title>AWS : IAM : Root Account</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Sat, 22 Jun 2024 14:17:29 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-iam-root-account-2mb4</link>
      <guid>https://forem.com/oladipupoabeeb/aws-iam-root-account-2mb4</guid>
      <description>&lt;p&gt;This article on DEV Community explains AWS Identity and Access Management (IAM) and its capabilities for managing users, groups, and permissions within AWS. It highlights how IAM allows creating users with unique credentials and assigning permissions through policies. The article includes examples of using Terraform to automate the creation of IAM users, access keys, and policies. &lt;/p&gt;

&lt;p&gt;Link:&lt;a href="https://dev.to/oladipupoabeeb/aws-identity-access-management-iam-16d8"&gt;WHAT IS IAM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;IAM is a service that allows you to create and manage users and groups, and to assign permissions that control access to AWS resources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Root Account&lt;/strong&gt; is the initial account created when you sign up for AWS. It has full administrative access to all AWS services and resources in the account. The root account is identified by the email address used during account creation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; The root account should only be used for tasks requiring unique permissions. For everyday administrative tasks, create IAM users with the necessary permissions.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Secure the Root User
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1. Enable Multi-Factor Authentication (MFA)
&lt;/h2&gt;

&lt;p&gt;·  Log in to the AWS Management Console using your root account.&lt;br&gt;
·  Navigate to the IAM service.&lt;br&gt;
·  In the left-hand navigation pane, click on Dashboard.&lt;br&gt;
·  Under the Activate MFA on your root account section, click on Manage MFA.&lt;br&gt;
·  Follow the instructions to set up MFA for your root account.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Create an admin group and assign the appropriate permission
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Step-by-Step Guide to Creating an "Admins" Group in AWS IAM&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Log in to AWS Management Console:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open your web browser and go to the AWS Management Console. Log in with your credentials.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Navigate to IAM:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the AWS Management Console, type "IAM" in the search bar and select IAM to open the Identity and Access Management dashboard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a New Group:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the left-hand navigation pane, click on User groups.&lt;br&gt;
Click the Create group button.&lt;br&gt;
&lt;strong&gt;Set Group Name:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On the Create user group page, enter a name for your group. For example, "Admins".&lt;br&gt;
Click Next to proceed.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxgb85uq52oym5oik9bmu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxgb85uq52oym5oik9bmu.png" alt="Creating group in AWS" width="800" height="302"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmjdgbn3w9dxmfq76sbeq.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmjdgbn3w9dxmfq76sbeq.jpeg" alt="Admins" width="800" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attach Permissions Policies:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On the Attach permissions policies page, you need to add the policies that will define the permissions for the group.&lt;br&gt;
Scroll through the list or use the search bar to find the policy named AdministratorAccess.&lt;br&gt;
Check the box next to AdministratorAccess. This policy provides full access to AWS services and resources.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcpizhaaw4flxquei1apy.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcpizhaaw4flxquei1apy.jpeg" alt="Permissions Policies" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review and Create the Group:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Review the group details, ensuring that the correct policy is attached.&lt;br&gt;
Click Create Group.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1blp2s5nc31ys1tecou.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1blp2s5nc31ys1tecou.jpeg" alt="Admins Group" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Create a User account for admins
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to the IAM service.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the left-hand navigation pane, click on Users and then Create User.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwh9d5t0dw461rjfuy5e7.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwh9d5t0dw461rjfuy5e7.jpeg" alt="Create User" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enter a username (e.g., UserAdmin).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select Programmatic access and AWS Management Console access.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set a custom password or allow the user to create one at first sign-in.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click Next: Permissions.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ktt2r6qe7som9rklbt5.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ktt2r6qe7som9rklbt5.jpeg" alt="Password" width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the policy list, search for AdministratorAccess.&lt;/li&gt;
&lt;li&gt;Check the box next to AdministratorAccess and click Create group.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4bpaj6x9rhtupptnjj5.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4bpaj6x9rhtupptnjj5.jpeg" alt="Groups" width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure the new group is selected and click Next: Tags.&lt;/li&gt;
&lt;li&gt;Add any tags if necessary and click Next: Review.&lt;/li&gt;
&lt;li&gt;Review the details and click Create user.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frq1pbehwk4zlq51a8zwj.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frq1pbehwk4zlq51a8zwj.jpeg" alt="Tags" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foapp4rm2ix7e7h8zd2i2.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foapp4rm2ix7e7h8zd2i2.jpeg" alt="User Successful" width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Add users to the admin group
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to User Groups, and click on the group name to add the user.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiyxuadbugkeh9j1pjnkh.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiyxuadbugkeh9j1pjnkh.jpeg" alt="Group Name" width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scroll down and Click on Add Users.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4fdiljfkfg4nyx418lf.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4fdiljfkfg4nyx418lf.jpeg" alt="Add users" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select the User to be added to the Admin group and the users will be added successfully to the group operating under the policies in that group.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyn1xwnja82fng00kv5uc.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyn1xwnja82fng00kv5uc.jpeg" alt="Review" width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82mn12kpwupyjbo6juku.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F82mn12kpwupyjbo6juku.jpeg" alt="Successfully" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By following these steps and best practices, you can ensure your AWS account is securely configured and that administrative access is managed appropriately.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>terraform</category>
      <category>webdev</category>
    </item>
    <item>
      <title>AWS PRICING</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Sat, 13 Apr 2024 01:23:04 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-pricing-1ced</link>
      <guid>https://forem.com/oladipupoabeeb/aws-pricing-1ced</guid>
      <description>&lt;p&gt;AWS enables quicker movement, lowered IT expenses, and global scalability by offering a wide range of global computing, storage, database, analytics, application, and deployment services. Cloud services, like AWS, empower you to efficiently adjust costs to align with your evolving requirements.&lt;/p&gt;

&lt;p&gt;AWS provides a range of services designed to support the development of advanced applications, offering enhanced flexibility, scalability, and reliability. Whether you require computing power, database storage, content delivery, or other features, AWS allows you to pay solely for the specific services you require, for the duration of your usage, without dealing with intricate licensing structures. With over 160 cloud services, AWS presents diverse pricing models, ensuring that you only pay for the services you utilize. Additionally, once you discontinue usage, there are no extra costs or termination fees involved.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fundamental of Pricing
&lt;/h2&gt;

&lt;p&gt;There are three fundamental drivers of cost which are:&lt;br&gt;
1.&lt;strong&gt;Compute resources&lt;/strong&gt;: You are billed based on hourly or secondly usage starting from resource launch until termination, unless you've prearranged a reservation with predetermined costs.&lt;/p&gt;

&lt;p&gt;2.&lt;strong&gt;Outbound data transfer&lt;/strong&gt; : Data sent out from AWS services incurs a charge, while incoming data and transfers within the same Region are free. Confirm data transfer rates beforehand, as exceptions may apply. Outbound data transfer costs are combined across services and billed based on the outbound data transfer rate, listed as AWS Data Transfer Out on your monthly statement. The larger your data transfer, the lower the cost per gigabyte.&lt;/p&gt;

&lt;p&gt;3.&lt;strong&gt;Storage resources&lt;/strong&gt; : are data stored in the cloud, you pay per GB.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing model Based on Product
&lt;/h2&gt;

&lt;p&gt;AWS presents various pricing models based on the product you choose. These options include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;On-Demand Instances&lt;/strong&gt;: Pay for compute or database capacity by the hour or second (minimum of 60 seconds) for the instances you use, without long-term commitments or upfront payments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Savings Plans&lt;/strong&gt;: This flexible pricing model offers reduced rates for Amazon EC2, Amazon SageMaker, AWS Lambda, and AWS Fargate usage in exchange for committing to a consistent usage level (measured in $/hour) for one or three years.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spot Instances&lt;/strong&gt;: Request spare computing capacity without upfront commitments, at a discounted hourly rate (up to 90% off the on-demand price) using the Amazon EC2 pricing mechanism.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reservations&lt;/strong&gt;: Secure a greater discount (up to 75%) by paying for capacity in advance with reservations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  AWS Free Tier
&lt;/h2&gt;

&lt;p&gt;The AWS Free Tier provides an opportunity to explore over 60 AWS products without charge. It consists of the following free offer types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Free Trials&lt;/strong&gt;: These are temporary trials that start from the activation date of a specific service. Once the trial period ends, you'll switch to standard pay-as-you-go rates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;12 Months Free&lt;/strong&gt;: This tier offers a year of free usage starting from your initial AWS signup date. After the 12-month period or if you exceed the allotted usage, standard pay-as-you-go rates apply.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Always Free&lt;/strong&gt;: These offers remain free indefinitely and are accessible to all AWS customers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  AWS Pricing/TCO Tools
&lt;/h2&gt;

&lt;p&gt;AWS provides complimentary pricing and migration tools at your disposal. Once you've determined the workload specifics and selected services, the AWS Pricing Calculator aids in estimating the overall cost of ownership. Additionally, the Migration Evaluator assists in inventorying your current environment, gathering workload details, and strategizing the design and planning of your AWS migration.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Pricing Calculator
&lt;/h2&gt;

&lt;p&gt;The AWS Pricing Calculator, available online, empowers you to generate cost estimates tailored to your AWS scenarios. It serves as a valuable tool for both newcomers to AWS and those looking to optimize or expand their current usage.&lt;/p&gt;

&lt;p&gt;With the AWS Pricing Calculator, you can delve into AWS services aligned with your use cases and create accurate cost projections. This allows you to conceptualize your solutions beforehand, understand the cost breakdown of your estimate, and explore instance types and contract terms that align with your requirements. These capabilities enable you to make well-informed decisions regarding your AWS usage, whether you're planning your costs and usage patterns or pricing out the setup of new instances and services.&lt;/p&gt;

&lt;p&gt;It's worth noting that the AWS Pricing Calculator is free to use and provides an estimate of your AWS fees and charges (excluding taxes). However, it's important to remember that the pricing details provided are for informational purposes only.&lt;/p&gt;

&lt;h2&gt;
  
  
  Migration Evaluator
&lt;/h2&gt;

&lt;p&gt;Migration Evaluator, formerly known as TSO Logic, is a free service designed to generate data-driven business cases for AWS Cloud planning and migration.&lt;/p&gt;

&lt;p&gt;Crafting business cases independently can be a lengthy endeavor and may not always pinpoint the most cost-efficient deployment and purchasing strategies. Migration Evaluator expeditiously furnishes a business case, enabling informed decisions for AWS planning and migration. By leveraging Migration Evaluator, your organization gains access to AWS expertise, visibility into various cost-effective cloud migration scenarios, and insights on leveraging existing software licenses to further minimize costs.&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>webdev</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>Mastering AWS_IAM</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Mon, 03 Jul 2023 13:51:17 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/mastering-awsiam-1j49</link>
      <guid>https://forem.com/oladipupoabeeb/mastering-awsiam-1j49</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#Mastering Identity and Access Management (IAM): 
#Creating Users, Groups, Roles, and Policies"

resource "aws_iam_user" "Example" {
  name = "Tester"
  path = "/"
}

resource "aws_iam_access_key" "Key" {
  user = aws_iam_user.Example.name
}

resource "aws_iam_user_login_profile" "Profile" {
  user                    = aws_iam_user.Example.name
  password_length         = 15
  password_reset_required = true
}

resource "aws_iam_role" "TestRole" {
  name = "Testing"
  path = "/"

  assume_role_policy = jsonencode({
    Version = "2012-10-17"
    Statement = [{
      Effect = "Allow"
      Action = "sts:AssumeRole"
      Sid    = "AssumeRole"

      Principal = {
        Service = "ec2.amazonaws.com"
      }
    }, ]
  })

}
resource "aws_iam_group" "Group" {
  name = "DevGroup"
}

resource "aws_iam_group_membership" "Member" {
  name  = "Devs"
  users = [aws_iam_user.Example.name]
  group = aws_iam_group.Group.name
}

resource "aws_iam_policy" "Policy" {
  name = "TestPolicy"
  path = "/"

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [{
      Effect   = "Allow"
      Action   = ["ec2:Describe*"]
      Resource = "*"
    }, ]
  })

}

resource "aws_iam_policy_attachment" "Attach" {
  name       = "test-attach"
  users      = [aws_iam_user.Example.name]
  roles      = [aws_iam_role.TestRole.id]
  groups     = [aws_iam_group.Group.name]
  policy_arn = aws_iam_policy.Policy.arn
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code is written in HashiCorp Configuration Language (HCL) and is using Terraform, an infrastructure as code tool, to manage Identity and Access Management (IAM) resources in Amazon Web Services (AWS). Let's break down the code and understand what each section does:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aws_iam_user:&lt;/strong&gt; This resource defines an IAM user named "Tester" with a specified path ("/"). The user resource is used to create and manage IAM users in AWS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aws_iam_access_key:&lt;/strong&gt; This resource creates an access key for the IAM user defined in the previous resource. Access keys are used for programmatic access to AWS services and resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aws_iam_user_login_profile:&lt;/strong&gt; This resource creates a login profile for the IAM user. It specifies the user, password length, and sets the password reset requirement. The login profile allows the user to access AWS services using the AWS Management Console.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;5.** Aws_iam_role:** This resource creates an IAM role named "Testing" with a specified path ("/"). The role is used to delegate permissions to AWS services or users.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Assume_role_policy:&lt;/strong&gt; This block specifies the trust policy for the IAM role, which defines who can assume the role. In this case, the role can be assumed by the Amazon EC2 service (identified by "ec2.amazonaws.com").&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aws_iam_group:&lt;/strong&gt; This resource creates an IAM group named "DevGroup". Groups are used to manage sets of IAM users and apply policies to the group as a whole.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aws_iam_group_membership:&lt;/strong&gt; This resource adds the IAM user defined earlier to the "DevGroup" group. The user is associated with the group using its name.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aws_iam_policy:&lt;/strong&gt; This resource creates an IAM policy named "TestPolicy" with a specified path ("/"). The policy allows the "ec2:Describe*" action on all resources. Policies are used to define permissions and access control for AWS resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aws_iam_policy_attachment:&lt;/strong&gt; This resource attaches the IAM policy created in the previous resource to various entities. It attaches the policy to the IAM user, IAM role, and IAM group defined earlier.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;users: The IAM user to attach the policy to.&lt;/li&gt;
&lt;li&gt;roles: The IAM role to attach the policy to.&lt;/li&gt;
&lt;li&gt;groups: The IAM group to attach the policy to.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy_arn:&lt;/strong&gt; The ARN (Amazon Resource Name) of the IAM policy to attach.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These resources and their configurations work together to create IAM users, groups, roles, and policies in AWS, and define the relationships between them.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>programming</category>
      <category>cloud</category>
    </item>
    <item>
      <title>AWS: Identity Access Management (IAM)</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Mon, 12 Jun 2023 14:40:41 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-identity-access-management-iam-16d8</link>
      <guid>https://forem.com/oladipupoabeeb/aws-identity-access-management-iam-16d8</guid>
      <description>&lt;p&gt;&lt;strong&gt;IAM&lt;/strong&gt; is a web service that enables AWS clients to manage users and their permissions in AWS. This services enables clients to create users with their own security credentials, controlled and billed to a single AWS account. Users can be created using IAM by the root User who owns the AWS account.&lt;/p&gt;

&lt;p&gt;Users can be created using Terraform; Requirements are as follows :&lt;br&gt;
Resources :  [iam_user, access_key, user_policy]&lt;br&gt;
data : [policy_document]&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources code&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "aws_iam_user" "example" {
  name = "example"
  path = "/System/"
  tags = {
    tag-key = "Valid Key"

  }
}

resource "aws_iam_access_key" "Key" {
  user = aws_iam_user.example.name
}

resource "aws_iam_user_policy" "example" {
  user   = aws_iam_user.example.name
  name   = "learn"
  policy = data.aws_iam_policy_document.Doc.json

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Data Code&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;data "aws_iam_policy_document" "Doc" {
  statement {
    effect    = "Allow"
    actions   = ["ec2:describe*"]
    resources = ["*"]
  }

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

&lt;/div&gt;



&lt;p&gt;Run terraform apply -auto-approve to add the resources &lt;/p&gt;

</description>
      <category>aws</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>AWS : Network ACL</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Sat, 25 Mar 2023 15:17:31 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-network-acl-35p1</link>
      <guid>https://forem.com/oladipupoabeeb/aws-network-acl-35p1</guid>
      <description>&lt;h2&gt;
  
  
  AWS Network ACL (Access Control List)
&lt;/h2&gt;

&lt;p&gt;AWS Network ACL (Access Control List) is a security feature that controls inbound and outbound traffic to and from your Amazon Web Services (AWS) Virtual Private Cloud (VPC).&lt;/p&gt;

&lt;p&gt;Network ACLs are stateless, which explicitly must allow both inbound and outbound traffic for each direction. Each subnets within a VPC can have separate network ACLs, and each network ACL can have multiple rules.&lt;/p&gt;

&lt;p&gt;Network ACLs allow or deny traffic based on rules that defined. These rules can specify the source and destination IP addresses, ports, and protocols. Network ACLs are evaluated in order, starting with the lowest numbered rule, and the first rule that matches the traffic is applied. If no rules match the traffic, the default rule is applied.&lt;/p&gt;

&lt;p&gt;Here is an example of an AWS Network ACL :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "aws_network_acl" "main_acl" {
  vpc_id = aws_vpc.main_vpc.id

  egress {
    protocol   = "tcp"
    rule_no    = 200
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = 443
    to_port    = 443
  }

  ingress {
    protocol   = "tcp"
    rule_no    = 100
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = 80
    to_port    = 80
  }

  tags = {
    Name = "main_acl"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Network ACLs in conjunction with Security Groups to provide multiple layers of security for a VPC. While Network ACLs operate at the subnet level, Security Groups operate at the instance level.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>aws</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
    <item>
      <title>AWS: Route Table Association &amp; Security Group</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Sat, 11 Mar 2023 18:31:42 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-route-table-association-security-group-38l7</link>
      <guid>https://forem.com/oladipupoabeeb/aws-route-table-association-security-group-38l7</guid>
      <description>&lt;h2&gt;
  
  
  AWS ROUTE TABLE ASSOCIATION
&lt;/h2&gt;

&lt;p&gt;AWS Route Table Association is the process of connecting a subnet in a Virtual Private Cloud (VPC) to a route table. A route table contains a set of rules called routes that are used to determine where network traffic is directed. When a subnet is associated with a route table, the routes in that table determine where the traffic to and from the subnet is routed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* AWS ROUTE TABLE ASSOCIATION */
resource "aws_route_table_association" "main_assoc" {
  subnet_id      = aws_subnet.main_publlc_subnet.id
  route_table_id = aws_route_table.main_route_table.id
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once a subnet is associated with a route table, the routes in that table determine where traffic is directed to and from the subnet. You can associate a subnet with only one route table at a time, and a route table can be associated with multiple subnets.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS SECURITY GROUP
&lt;/h2&gt;

&lt;p&gt;An AWS Security Group acts as a virtual firewall that controls inbound and outbound traffic for one or more Amazon Elastic Compute Cloud (EC2) instances. It acts as a filter that allows certain traffic to enter or leave the EC2 instances while blocking all other traffic.&lt;/p&gt;

&lt;p&gt;Each security group has a set of inbound and outbound rules that define the type of traffic that is allowed to enter or leave the associated EC2 instances. You can configure the rules to allow traffic based on the protocol, port number, and IP address range.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "aws_security_group" "main_security" {
  name        = "main_security"
  description = "Allow Main inbound Traffic"
  vpc_id      = aws_vpc.main_vpc.id

  ingress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;ingress&lt;/code&gt; block is used to define the inbound rules while the &lt;code&gt;egress&lt;/code&gt; block is used to define the outbound rules. This is not a secure configuration and should not be used in a production environment. In production, it is important to limit the traffic allowed by a security group to only the necessary protocols, ports, and IP addresses.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>webdev</category>
      <category>cloud</category>
      <category>devops</category>
    </item>
    <item>
      <title>AWS Route Table &amp; Route</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Sat, 04 Mar 2023 08:00:21 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-route-table-route-eee</link>
      <guid>https://forem.com/oladipupoabeeb/aws-route-table-route-eee</guid>
      <description>&lt;p&gt;An AWS Route Table is a virtual table that contains a set of rules, called routes, that are used to determine where network traffic is directed. Route tables are associated with subnets in a VPC (Virtual Private Cloud) and are used to control the flow of traffic between subnets, the internet, and other networks.&lt;/p&gt;

&lt;p&gt;Route tables can be modified to control the flow of traffic between subnets and to configure advanced network routing scenarios. For example, you can create a custom route that directs traffic to a virtual private gateway to enable communication between your VPC and an on-premises network.&lt;/p&gt;

&lt;p&gt;Route tables are a critical component of AWS networking and are used to ensure that network traffic is directed to the correct destination.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS ROUTE
&lt;/h2&gt;

&lt;p&gt;AWS Route is a service that enables you to create and manage routing rules for your Amazon Web Services (AWS) resources. AWS Route allows you to dynamically route incoming traffic to different AWS services or to external endpoints based on the content of the incoming request.&lt;/p&gt;

&lt;p&gt;AWS Route is commonly used to manage traffic between different services within an AWS infrastructure, as well as between external endpoints and AWS services. For example, you can use AWS Route to route traffic to different EC2 instances based on the geographic location of the user requesting the content, or to direct traffic to different AWS services based on the type of request.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS ROUTE TABLE &amp;amp;&amp;amp; ROUTE&lt;/strong&gt;&lt;br&gt;
Save the file and run &lt;em&gt;terraform apply&lt;/em&gt; in the terminal to see the results.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* AWS ROUTE TABLE */
resource "aws_route_table" "main_route_table" {
  vpc_id = aws_vpc.main_vpc.id

  tags = {
    Name = "main_rt"
  }
}
/* AWS ROUTE */
resource "aws_route" "main_route" {
  route_table_id         = aws_route_table.main_route_table.id
  destination_cidr_block = "0.0.0.0/0"
  gateway_id   =     aws_internet_gateway.main_internet_gateway.id
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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.amazonaws.com%2Fuploads%2Farticles%2Fywu3jnhf5bwfgfd7fxsc.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.amazonaws.com%2Fuploads%2Farticles%2Fywu3jnhf5bwfgfd7fxsc.png" alt="Terraform paln" width="800" height="449"&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.amazonaws.com%2Fuploads%2Farticles%2F5iu96jeculpicyhptm0h.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.amazonaws.com%2Fuploads%2Farticles%2F5iu96jeculpicyhptm0h.png" alt="Terraform Apply" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>privacy</category>
      <category>discuss</category>
    </item>
    <item>
      <title>AWS: Subnet &amp; Internet Gateway</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Wed, 22 Feb 2023 12:20:15 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-subnet-internet-gateway-dke</link>
      <guid>https://forem.com/oladipupoabeeb/aws-subnet-internet-gateway-dke</guid>
      <description>&lt;h2&gt;
  
  
  AWS SUBNET
&lt;/h2&gt;

&lt;p&gt;This is a range of IP addresses in your VPC &lt;a href="https://dev.to/daniees45/aws-create-vpc-using-terraform-cli-36an"&gt;(Virtual Private Cloud)&lt;/a&gt; that you can use to isolate resources within your network. A subnet can be associated with a specific availability zone, which is an isolated data center within a region, and can contain resources such as EC2 instances, RDS databases, and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS INTERNET GATEWAY
&lt;/h2&gt;

&lt;p&gt;This s a horizontally scalable, redundant, and highly available VPC component that allows communication between instances in your VPC and the internet. It provides a target in your VPC route tables for internet-routable traffic, and performs network address translation (NAT) for instances that have been assigned public IP addresses.&lt;/p&gt;

&lt;p&gt;When creating a subnet in AWS, associate it with an internet gateway, which allows instances in that subnet to access the internet otherwise if it is not associated with an internet gateway, there won't be an internet access, unless VPN or Direct Connect connection is being set up.&lt;/p&gt;

&lt;p&gt;This is how Aws Subnet &amp;amp; internet gateway are connected using Terraform on Vscode. Follow this link to learn how to set up &lt;a href="https://dev.to/daniees45/aws-create-vpc-using-terraform-cli-36an"&gt;AWS VPC&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  For AWS SUBNET
&lt;/h2&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.amazonaws.com%2Fuploads%2Farticles%2Fgfqd6ld33ypb4rih95gh.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.amazonaws.com%2Fuploads%2Farticles%2Fgfqd6ld33ypb4rih95gh.png" alt="AWS SUBNET" width="800" height="449"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;}
//AWS SUBNET 
resource "aws_subnet" "main_publlc_subnet" {
  vpc_id                  = aws_vpc.main_vpc.id
  map_public_ip_on_launch = true
  cidr_block              = "10.0.0.0/24"
  availability_zone       = "us-east-1a"

  tags = {
    Name = "main_subnet"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the code above, we defined the resource aws_subnet and set the name to "main_publlc_subnet" with the Vpc_id set to "aws_vpc.main_vpc.id", which is where we access our VPC. We also created a Subnet resource with the cidr_block set to 10.0.0.0/24, Availability zone set to "us-east-1a" where your resource is allocated and the Name tag set to main_subnet.&lt;/p&gt;

&lt;p&gt;Save the file.&lt;/p&gt;

&lt;p&gt;Open the terminal in VSCode and run the command terraform apply to create the Subnet. Terraform will show you a preview of the changes that will be made, and if you're happy with them, type yes to confirm and apply the changes or run the command terraform apply -auto-approve to confirm directly and apply changes.&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.amazonaws.com%2Fuploads%2Farticles%2Fgvmytc31keqgbk907abi.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.amazonaws.com%2Fuploads%2Farticles%2Fgvmytc31keqgbk907abi.png" alt="Terraform apply" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS INTERNET GATEWAY (IGW)
&lt;/h2&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.amazonaws.com%2Fuploads%2Farticles%2Fvt86imwnsux3dq67w699.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.amazonaws.com%2Fuploads%2Farticles%2Fvt86imwnsux3dq67w699.png" alt="Internet gateway" width="800" height="449"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//AWS INTERNET GATEWAY
resource "aws_internet_gateway" "main_internet_gateway" {
  vpc_id = aws_vpc.main_vpc.id

  tags = {
    Name = "main_igw"
  }
}

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

&lt;/div&gt;



&lt;p&gt;Save the file.&lt;/p&gt;

&lt;p&gt;Open the terminal in VSCode and run the command terraform apply to create the Internet Gateway. Terraform will show you a preview of the changes that will be made, and if you're happy with them, type yes to confirm and apply the changes or run the command terraform apply -auto-approve to confirm directly and apply changes.&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.amazonaws.com%2Fuploads%2Farticles%2Fq32l1rwyhr5m94testp1.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.amazonaws.com%2Fuploads%2Farticles%2Fq32l1rwyhr5m94testp1.png" alt="Successfully created" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the command finishes executing, you will have a Internet gateway created on your AWS account or check your AWS CLI for internet gateway on the resources.&lt;br&gt;
We hope that you found this blog helpful.&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>AWS: Create VPC using Terraform CLI</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Sun, 19 Feb 2023 10:25:44 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-create-vpc-using-terraform-cli-36an</link>
      <guid>https://forem.com/oladipupoabeeb/aws-create-vpc-using-terraform-cli-36an</guid>
      <description>&lt;h2&gt;
  
  
  Amazon Virtual Private Cloud (VPC)
&lt;/h2&gt;

&lt;p&gt;Amazon Web Services (AWS) provides Virtual Private Cloud (VPC) as a service to create a private, isolated network within the AWS Cloud. Using a VPC, you can launch resources such as EC2 instances, RDS databases, and S3 buckets within a virtual network that you control. In this blog, we will walk you through creating an AWS VPC using Terraform on VSCode.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It is a private Network&lt;/li&gt;
&lt;li&gt;It can launch resources like EC2 instances in  VPC&lt;/li&gt;
&lt;li&gt;VPC can isolate and protect resources&lt;/li&gt;
&lt;li&gt;It spans across availability zones in a region&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Configure Terraform CLI on VScode
&lt;/h2&gt;

&lt;p&gt;Download the Terraform CLI from VScode extension or download it manually through this &lt;a href="//vscode:extension/HashiCorp.terraform"&gt;HashiCorp Terraform&lt;/a&gt;. After the installation; create a folder 📂 &lt;em&gt;Terraform&lt;/em&gt; where all your terraform files will be accessed and saved on. In your folder, create a file named &lt;em&gt;Providers.tf&lt;/em&gt; this is where your Aws resources will be accessed by Aws provider.&lt;br&gt;
The region contains the location where your data center will be.&lt;br&gt;
Profile is the name of your AWS account&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.amazonaws.com%2Fuploads%2Farticles%2Fx0enpt6wnxylx64ywdi2.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.amazonaws.com%2Fuploads%2Farticles%2Fx0enpt6wnxylx64ywdi2.png" alt="Configure AWS " width="800" height="449"&gt;&lt;/a&gt;&lt;br&gt;
After creating the file, run &lt;em&gt;terraform init&lt;/em&gt; in your terminal to initialize Terraform configuration. &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.amazonaws.com%2Fuploads%2Farticles%2F6t2mr8p5vcop1adtplkk.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.amazonaws.com%2Fuploads%2Farticles%2F6t2mr8p5vcop1adtplkk.png" alt="Terraform init" width="800" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After this process;  create a new file with the .tf extension, e.g., main.tf. In the file, write the Terraform code to create a VPC &lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fcbeq65pkdgfpgkiyqg56.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.amazonaws.com%2Fuploads%2Farticles%2Fcbeq65pkdgfpgkiyqg56.png" alt="Terraform code" width="800" height="449"&gt;&lt;/a&gt;&lt;br&gt;
In the code above, we defined the provider aws with the region set to   us-east-1, which is the region where we want to create the VPC. We also created a VPC resource with the cidr_block set to 10.0.0.0/16 and the Name tag set to main_vpc.&lt;/p&gt;

&lt;p&gt;Save the file.&lt;/p&gt;

&lt;p&gt;Open the terminal in VSCode and run the command terraform apply to create the VPC. Terraform will show you a preview of the changes that will be made, and if you're happy with them, type yes to confirm and apply the changes.&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.amazonaws.com%2Fuploads%2Farticles%2F3y2sh31r4c30bu0ku97s.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.amazonaws.com%2Fuploads%2Farticles%2F3y2sh31r4c30bu0ku97s.png" alt="Terraform Apply" width="800" height="449"&gt;&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fhqxqiu58s6mm6o5btf1k.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.amazonaws.com%2Fuploads%2Farticles%2Fhqxqiu58s6mm6o5btf1k.png" alt="VPC confirmed" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the command finishes executing, you will have a VPC created on your AWS account.&lt;/p&gt;

&lt;p&gt;We started by configuring the Terraform CLI and then created a new Terraform project to create a VPC. We hope that you found this blog helpful and that it serves as a starting point for creating more complex infrastructures on AWS using Terraform.&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>AWS: Using VScode to Create Bucket in AWS S3</title>
      <dc:creator>Oladipupo Abeeb Olanrewaju</dc:creator>
      <pubDate>Sun, 29 Jan 2023 12:42:50 +0000</pubDate>
      <link>https://forem.com/oladipupoabeeb/aws-using-vscode-to-create-bucket-in-aws-s3-le7</link>
      <guid>https://forem.com/oladipupoabeeb/aws-using-vscode-to-create-bucket-in-aws-s3-le7</guid>
      <description>&lt;p&gt;This section talks about creating a bucket in &lt;a href="https://dev.to/daniees45/amazon-simple-storage-services-3aii"&gt;S3&lt;/a&gt;. These things are required of you to have:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AWS account&lt;/li&gt;
&lt;li&gt;VScode installed&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  STEP 1:
&lt;/h2&gt;

&lt;p&gt;Download AWS extension and connect your aws account to VScode using the AWS extension.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgly0idpan6u2ugo2i9j.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgly0idpan6u2ugo2i9j.jpg" alt="Connecting AWS account" width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 2:
&lt;/h2&gt;

&lt;p&gt;On the AWS extension panel; A list of AWS services are listed out such as Lambda, Api Gateway, Cloudformation, S3 etc....&lt;br&gt;
Click on S3 to create your bucket.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  STEP 3:
&lt;/h2&gt;

&lt;p&gt;To create a bucket under the S3, The name of the bucket must be unique (i.e the name of the bucket can't be found in that Availability zone).It must contain lowercase letters and number &lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkuuok0x8vjacq7f4h4di.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkuuok0x8vjacq7f4h4di.jpg" alt="Bucket Created Successfully" width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 4:
&lt;/h2&gt;

&lt;p&gt;The Bucket created is now ready to upload files into it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6fth3mcmfooxbiifcat.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6fth3mcmfooxbiifcat.png" alt="File uploaded successfully" width="800" height="432"&gt;&lt;/a&gt;&lt;br&gt;
Note: Check your AWS Account to see the Bucket created&lt;/p&gt;

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

</description>
      <category>aws</category>
      <category>s3</category>
      <category>vscode</category>
    </item>
  </channel>
</rss>
