Skip to main content

Posts

Showing posts from April, 2022

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

Updated for clarity 4/9/26. The Notion page is in progress. 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 of an AMI hosted by AWS. 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 Reads a text file and injects the contents as a string. The .tpl extension Makes templates that map to variables of the main code. If you need to have, for example, EC2 instanc...

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 ...