Skip to main content

Posts

Building a Dev Enviroment in Terraform in AWS (From More than Certified)

Want to see a better formatted version of this post? Check my Notion !   Created development environment using AWS and Terraform including a route table, internet gateway, security group, public subnet, and EC2 instance, using templates, provisioners, and key generation for remote access. NEW Concepts Learned aws_ami  A data segment instead of resource that pulls an owner number, filters by name (with  Userdata Made it a template file, it bootstaps the instance as well as installing the docker engine. AMI searcher in EC2 Console Going to search the AMI in the Instance Launcher, then returning to EC2 console to search it for the owner number and other info. ssh-keygen I used PuTTy for previous keys. Terraform’s homemade File function For relative file paths for shorter access The .tpl extension Makes templates that map to certain sections of the main code. Usually using ${ } , but that’s also very module-esque, I feel. Call it with templatefile() Provisioners I think it’s u

Using Dynamic Blocks in Terraform

9/20/2023: The open source version of Terraform is now  OpenTofu     Want to read it with nice formatting? Check out the Notion page. Continuing from the post about Modules , let's look at Dynamic Blocks. What are Dynamic Blocks? It's a way to construct dynamically repeatable nested blocks in Terraform code. Think about using for_each - This is often used to make individual resources with a value to iterate over. Is This a Dynamic Block? I’ve done something like this, but it involved the multiple function (*) and a stand-in variable ${var.ex} . network_interface_ids = ["${element(azurerm_network_interface.CA-NetInt.*.id, 01)}"] The index (01) was the number of network_interface_ids one would want. Was that unknowingly a dynamic block, or something else? By all means, comment what you think. Apparently, It Wasn’t resource "aws_elastic_beanstalk_environment" "tfenvtest" { name = "tf-test-name" application

Using Terraform and AWS Cloud9

Wanted to try Cloud9 but didn't feel like making an EC2 instance in the GUI. So I made a Terraform file instead, remade a default VPC, and it took 20 minutes of troubleshooting. #AWS — Morgan (@runtcpip) February 1, 2022 9/20/2023: The open source version of Terraform is now  OpenTofu     👉🏾 Find the Notion page of this post here , if it's easier for you. It certainly looks nicer!   Setup: An EC2 instance A reference to the default VPC, which I had to remake, as I had deleted mine.    Downloading Terraform into Cloud9: Instructions here . Done and Done. Now, How About Using It? The kicker (or blessing) is that Cloud9 doesn't auto save, like I’ve set my VSCode up to do. Had to do a lot of manual saving, but it wasn’t a struggle. The lock file is created, but I don't see it in my file system to the left until resources have been pushed, so I made a simple bucket to try it out. Because this instance is attached to my AWS account, I suppose anything I make within th

I Visited Twitter Spaces for 30 Days - Here's How It Went

Want to share this page easily? Check out the Notion version. I'm a strong believer in the ability to self learn ( waves hand at blog ), educate, and apply the knowledge. I believe that's how someone should get a position. However, we live in a world where you have to be in as many faces as possible for the greatest chance at survival. So why not bite the bullet and improve? Especially when you don't technically have to be in someone's face. I Tried to Say Something in Each Room, without Talking Anyone's Ear Off...👂🏼 People really have a lot to say in Spaces. I try to be impactful and succinct over wordy, unless needed. The challenge came from entering a room too late; What if I repeat something? If I have, no one pointed it out besides maybe a "Oh yeah, X person had brought that up, that's a good point.". Other times, the rooms were not accepting new speakers, and the pressure was off. Phew! ...Except When I Hosted My Own 📣 I was the only

Book: The 4 Hour Workweek by Timothy Ferriss

The general idea of the book is protecting your time* - From meetings, overbearing bosses, and phone calls, something I can relate to. I will be more receptive to you if you outline your ideas about the position in an e-mail rather than "hop on a call for a quick chat about this opportunity". I've taken to sending a link to this portfolio, a few relevant posts, and asking if this is in line with the position, and encouraging them to ask more questions. I'm picking out the quotes that spoke to me.   "Risks weren't that scary once you took them." It's true! "It is far more lucrative and fun to leverage your strengths instead of attempting to fix all the chinks in your armor." Struggling to drill down and use the Cybersecurity minor? Not for me. Security is to be respected and should be incorporated into new builds, and I will leave the CISSP to others and cheer them on.  Learning, writing, and teaching? That's more my speed.  "Most b

Building AWS Infrastructure with Python (+ Learning the Code)

Follow along with more DevOps stuff! It's not only CloudFormation and YAML we can use to build infrastructure in AWS - The ever-popular Python is here. I like how the docs say it should take around 6 minutes, and I'm here on maybe...minute 34 waiting for packages to finish installing. I'm sure it doesn't account for setup, but for a while, I was concerned I had misconfigured something. No, there are just a ton of packages to download.   Node.js had to not only open Powershell, but update my chocolatey and some VS Code components. Importing Python packages happens in consoles/terminals . You have to import them each session.  So, I open a terminal in VS Code to install this Pipenv Virtual Environment Package in theory. The hardest part is always installing Python packages, as I never remember what command works in Windows Terminal.  It's never pip install or apt-get, but 'python -m pip install [package], when you are not in the Python prompt. Now, into the cmd

Working With Terraform Modules for AWS

9/20/2023: The open source version of Terraform is now  OpenTofu  Terraform (now OpenTofu) for AWS is somewhat clearer than Terraform for Azure - easier to grasp than YAML and it's finicky formatting. After pushing some DevOps Terraform (TF) configurations live to AWS, I wondered if I could push a static webpage. Situation - Why Would You Use This? To quickly spin up the front-end for a simple webpage that might take user input after attaching it to back end services that accept and hold the data.  What Other Options Are There? I've documented hosting static webpages through Azure before on here through various methods - The process is somewhat intensive and relies strongly on interconnected systems. GitHub to host the code Azure Webapps to take the code and display it Another option would be using Netlify,  but that works best for truly single-page apps like this . It looks like it has different pages to the untrained eye, but it's only one. Task - How Is It Done? Here, t