Category Archives: Terraform

Terraform is an open-source infrastructure as code software tool created by HashiCorp. It enables users to define and provision a datacenter infrastructure using a high-level configuration language known as Hashicorp Configuration Language, or optionally JSON.

Terraform: introduction to data types – primitives and complex

9 September 2023
 

  In this post, we will take a brief look at the data types that we can use in Terraform to better understand the topic of the following post – Terraform: count, for_each, and for loops. Documentation – Type Constraints and Types and Values. We have the following types divided into groups: Primitive Types: string: sequence of Unicode… Read More »

Terraform: dynamic remote state with AWS S3 and multiple environments by directory

3 September 2023
 

  Following the series of posts about preparing to use Terraform on a project. So, in the first part, we thought about how to organize the preparation of the backend for the project, that is, to perform its bootstrap, and a bit – how to manage the Dev/Prod environments in general, see Terraform: Getting started… Read More »

Terraform: remote state with AWS S3, and state locking with DynamoDB

3 September 2023
 

  We are preparing to transfer infrastructure management from AWS CDK to Terraform. I’ve already wrote about planning it in the Terraform: planning a new project with Dev/Prod environments post, but there I didn’t wrote about one very important option – creating a lock for state files. State file locking is used to avoid situations… Read More »

AWS: CDK and Python – building an EKS cluster, and general impressions of CDK

22 July 2023
 

  So, Terraform is great, but so far in our project, we have decided to create the first AWS EKS clusters using the AWS CDK, because firstly, it is already on the project, and secondly, it is very interesting to try a new tool. Today we will see what came out of it, and how… Read More »

Terraform: planning a new project with Dev/Prod environments

20 May 2023
 

  I need to plan the use of Terraform in a new project, and this includes planning the file structure for the project, how to create a backend (i.e. bootstrap) and other resources needed to get started, and think about working with multiple environments and AWS accounts. In general, this post was originally written purely… Read More »

AWS: CDK – an overview, and Python examples

14 May 2023
 

  The AWS Cloud Development Kit (AWS CDK) allows you to describe an infrastructure using the programming languages ​​TypeScript, JavaScript, Python, Java, C#, or Go. Under the hood, CDK creates a CloudFormation stack with the resources described in your code. The answer to the question “Our CDK, when is Terraform?” can be found here – 4 ultimate… Read More »

Prometheus: running Pushgateway on Kubernetes with Helm and Terraform

28 April 2023
 

  We have a lot of AWS Lambda functions in the project, and developers want to be able to send metrics to our Prometheus to add their own alerts and graphs in Grafana. For this, the functions use the Prometheus library, which allows these metrics to be created (see Prometheus: Building a Custom Prometheus Exporter… Read More »

Terraform: creating a project with an AWS EC2, VPC, and AWS cross-region VPC peering connection

18 March 2019
 

 One of the disappointing surprises in my AWS CloudFormation experience was the fact that it wasn’t able to automatically create cross-region VPC-peering connections. Note: this post originally was written in Rus on 28 June 2018 but now CloudFormation can do it, check the PeerRegion parameter of the AWS::EC2::VPCPeeringConnection resource. As a result – it tries… Read More »