<?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: Maureen June</title>
    <description>The latest articles on DEV Community by Maureen June (@mj16).</description>
    <link>https://dev.to/mj16</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%2F3929576%2Fd7bd0f7f-44f1-4e8f-8f4e-6dcc26b192c9.JPG</url>
      <title>DEV Community: Maureen June</title>
      <link>https://dev.to/mj16</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mj16"/>
    <language>en</language>
    <item>
      <title>Step-by-Step Guide Setting Up Terraform, AWS CLI, and Your AWS Environment</title>
      <dc:creator>Maureen June</dc:creator>
      <pubDate>Tue, 19 May 2026 12:11:06 +0000</pubDate>
      <link>https://dev.to/mj16/step-by-step-guide-setting-up-terraform-aws-cli-and-your-aws-environment-51j9</link>
      <guid>https://dev.to/mj16/step-by-step-guide-setting-up-terraform-aws-cli-and-your-aws-environment-51j9</guid>
      <description>&lt;p&gt;If you are just getting into Infrastructure as Code, the setup phase is where a lot of people quietly give up. Not because it is hard, but because there are several moving parts and it is not always obvious how they connect. This post walks through exactly how I set up my Terraform environment on Windows as part of the 30-Day Terraform Challenge, so you can follow the same steps without the guesswork.&lt;/p&gt;

&lt;p&gt;What you will need before you start:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A Windows machine&lt;/li&gt;
&lt;li&gt;An AWS account (free tier works)&lt;/li&gt;
&lt;li&gt;Willingness to learn&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Step 1: Create your AWS account and set up an IAM user
&lt;/h4&gt;

&lt;p&gt;Go to &lt;a href="https://aws.amazon.com" rel="noopener noreferrer"&gt;aws official website&lt;/a&gt; and create an account if you do not have one. Once you are in, the first thing you should do is enable MFA on your root account. The root user has unrestricted access to everything in your account, and you do not want to use it for day-to-day work.&lt;/p&gt;

&lt;p&gt;Next, create a dedicated IAM user for Terraform. Go to the IAM console, click Users, then Add Users. Give it a name like terraform (the new AWS UI select programmatic access by default). Attach the &lt;code&gt;AdministratorAccess&lt;/code&gt; managed policy for now since this is a learning environment.&lt;/p&gt;

&lt;p&gt;When you finish creating the user, AWS will show you an &lt;strong&gt;Access Key ID&lt;/strong&gt; and a &lt;strong&gt;Secret Access Key&lt;/strong&gt;. Download or copy these immediately. AWS will not show the secret key again after you close that screen.&lt;/p&gt;

&lt;p&gt;Also set up a billing alert before you do anything else. Go to the Billing console, enable billing alerts, then create a CloudWatch alarm. Even on the free tier, it is good practice to know when you are approaching a spend threshold.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2: Install the AWS CLI
&lt;/h4&gt;

&lt;p&gt;Download the AWS CLI installer for Windows from the official AWS documentation page. It is a standard .msi file, so run it and follow the prompts.&lt;br&gt;
Once installed, open Git Bash or your terminal of choice and run:&lt;br&gt;
&lt;code&gt;aws --version&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You should see something like:&lt;br&gt;
&lt;code&gt;aws-cli/2.31.29 Python/3.13.9 Windows/10 exe/AMD64&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now configure it with your IAM user credentials:&lt;br&gt;
&lt;code&gt;aws configure&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You will be prompted for four things: your Access Key ID, your Secret Access Key, your default region, and your output format. For output format, &lt;code&gt;json&lt;/code&gt; is fine.&lt;/p&gt;

&lt;p&gt;Verify the configuration with:&lt;br&gt;
&lt;code&gt;aws configure list&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And confirm your identity with:&lt;br&gt;
&lt;code&gt;aws sts get-caller-identity&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you see your Account ID and the ARN of your IAM user in the output, your AWS CLI is correctly connected.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3: Install Terraform
&lt;/h4&gt;

&lt;p&gt;I installed Terraform manually from &lt;a href="https://developer.hashicorp.com/terraform/install" rel="noopener noreferrer"&gt;Hashicorp official website&lt;/a&gt;. On the downloads page, select Windows and download the AMD64 zip file.&lt;/p&gt;

&lt;p&gt;Once downloaded, extract the zip. You will get a single binary called terraform.exe. Move this file to a folder on your machine, then add that folder to your system PATH so you can run Terraform from any directory.&lt;/p&gt;

&lt;p&gt;To add it to PATH on Windows: search for “Environment Variables” in the Start menu, click “Edit the system environment variables”, then under System Variables find Path, click Edit, and add the folder where you placed terraform.exe.&lt;/p&gt;

&lt;p&gt;Open a new terminal window after doing this, then run:&lt;br&gt;
&lt;code&gt;terraform version&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You should see the version number printed out. That confirms Terraform is installed and accessible from the command line.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 4: Set up VS Code
&lt;/h4&gt;

&lt;p&gt;If you are using Visual Studio Code, install two extensions: &lt;strong&gt;HashiCorp Terraform&lt;/strong&gt; and &lt;strong&gt;AWS Toolkit&lt;/strong&gt;. The HashiCorp Terraform extension gives you syntax highlighting, autocompletion, and formatting for &lt;code&gt;.tf&lt;/code&gt; files. The AWS Toolkit lets you interact with AWS services directly from VS Code.&lt;/p&gt;

&lt;p&gt;Create a folder for your Terraform project and open it in VS Code. This will be your working directory for all the infrastructure code you write going forward.&lt;/p&gt;

&lt;h4&gt;
  
  
  How these tools connect
&lt;/h4&gt;

&lt;p&gt;It helps to understand what each tool is actually doing before you start writing code.&lt;/p&gt;

&lt;p&gt;Terraform reads your &lt;code&gt;.tf&lt;/code&gt; configuration files and talks to AWS on your behalf using the AWS provider. But Terraform itself does not store your AWS credentials. It finds them through the same credential chain that the AWS CLI uses: first it checks for environment variables, then it looks at the shared credentials file that aws configure creates at &lt;code&gt;~/.aws/credentials&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This is why running &lt;code&gt;aws configure&lt;/code&gt; before using Terraform matters. You are not just setting up the CLI, you are creating the credentials file that Terraform will also read.&lt;/p&gt;

&lt;p&gt;The IAM user is the identity Terraform assumes when it calls the AWS API. Everything Terraform creates, modifies, or destroys in your account will be done as that user. That is why you create a dedicated one instead of using root, so you have a clear record of what Terraform did and you can tighten permissions later as you get more specific about what your configuration actually needs.&lt;/p&gt;

&lt;h4&gt;
  
  
  Validating the full setup
&lt;/h4&gt;

&lt;p&gt;Once all four tools are in place, run these commands and confirm you get clean output on each:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;terraform version&lt;br&gt;
aws --version&lt;br&gt;
aws sts get-caller-identity&lt;br&gt;
aws configure list&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If all four return without errors, your environment is ready. From here you can start writing actual Terraform code and deploying infrastructure.&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>devops</category>
      <category>30dayschallenge</category>
      <category>aws</category>
    </item>
    <item>
      <title>What is Infrastructure as Code and Why It’s Transforming DevOps</title>
      <dc:creator>Maureen June</dc:creator>
      <pubDate>Tue, 19 May 2026 11:06:55 +0000</pubDate>
      <link>https://dev.to/mj16/what-is-infrastructure-as-code-and-why-its-transforming-devops-le9</link>
      <guid>https://dev.to/mj16/what-is-infrastructure-as-code-and-why-its-transforming-devops-le9</guid>
      <description>&lt;p&gt;I’ve been learning cloud technologies for a while, but there’s always been one thing that slows you down when managing infrastructure manually. Mistakes, inconsistencies, and time wasted configuring servers. That’s where Infrastructure as Code (IaC) comes in. For the next 30 days, I’ll be diving into Terraform as part of the 30-day Terraform challenge, and I want to share what I learn along the way.&lt;/p&gt;

&lt;h4&gt;
  
  
  What is Infrastructure as Code?
&lt;/h4&gt;

&lt;p&gt;Infrastructure as Code is simply managing and provisioning your infrastructure through code rather than manual configuration. Instead of clicking around in the AWS console to create servers, networks, or databases, you write code that defines what you want.&lt;/p&gt;

&lt;p&gt;The big advantage is consistency. Every time you run your code, you get the same environment. No more missing security settings, misconfigured instances, or forgotten network rules. Everything is repeatable, version-controlled, and reviewable.&lt;/p&gt;

&lt;h4&gt;
  
  
  Declarative vs Imperative Approaches
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Imperative&lt;/strong&gt;: You give step-by-step instructions. For example, “create a server, install software, configure settings.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Declarative&lt;/strong&gt;: You declare the final state you want, and the system figures out how to get there. For example, “I want a server with NGINX installed and this network configuration.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write on Medium&lt;/strong&gt;&lt;br&gt;
Terraform is declarative, which means I focus on describing what I need, and it handles all the steps behind the scenes. This makes deployments faster, safer, and easier to scale.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why Terraform is worth learning
&lt;/h4&gt;

&lt;p&gt;Terraform is cloud-agnostic, widely used, and integrates well with AWS, Azure, GCP, and more. Learning Terraform means I can confidently build infrastructure across different cloud platforms. It also makes it easy to collaborate with other engineers, because the infrastructure is just code.&lt;/p&gt;

&lt;p&gt;For someone like me who wants to grow in my devops/cloud engineering career, mastering Terraform is a clear advantage. It’s the skill that lets me move from experimenting to delivering real solutions for businesses.&lt;/p&gt;

&lt;p&gt;My goals for this 30-day challenge is to build tangible skills I can showcase. I want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand Terraform deeply, not just superficially&lt;/li&gt;
&lt;li&gt;Build practical projects I can showcase on GitHub and portfolio&lt;/li&gt;
&lt;li&gt;Learn how to manage infrastructure efficiently on AWS&lt;/li&gt;
&lt;li&gt;Share my journey so others can follow along and maybe learn a few things from my mistakes&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Conclusion
&lt;/h4&gt;

&lt;p&gt;Today was all about setting up my environment and understanding the foundations. The next days will be about writing actual Terraform code, experimenting with AWS resources, and turning ideas into real infrastructure.&lt;/p&gt;

&lt;p&gt;I’m excited to continue, and I’m looking forward to sharing progress, lessons, and challenges along the way. If you’re curious about Terraform or IaC, stay tuned.&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>devops</category>
      <category>aws</category>
      <category>30dayschallenge</category>
    </item>
  </channel>
</rss>
