Create a Windows VM in AWS using terraform

AWS Windows Server Deployment with Terraform This is a simple Terraform configuration for deploying a Windows Server instance on AWS—a useful setup if you occasionally need a quick Windows environment for testing, development, or troubleshooting. It provisions a basic infrastructure including a VPC, subnet, and an RDP-accessible Windows Server instance. Access is restricted to your own IP address to provide a reasonable layer of security without over-complicating things. Code The code can be found in this github repository ....

November 10, 2024 · Ed Randall

An EC2 based Kubernetes Cluster

Github Repo All the code required can be found in the github repo: github.com/edrandall-dev/kubernetes-on-ec2 Introduction Last year, when I was learning Kubernetes, I wanted to create my own cluster on AWS using EC2 instances. The idea behind this was go through the installation of Kubernetes from start to finish, learning everything I needed to along the way. I’ve also used Amazon’s Elastic Kubernetes Service (EKS) to deploy Neo4j using the official Neo4j Helm Charts....

August 27, 2023 · Ed Randall

Notes on Terraform Modules and Variables

In this post, I outline the steps needed to take an input from a terraform parent (or calling) module and pass it to a config file on a target EC2 instance. What are Terraform Modules? Using modules in terraform helps to organise and reuse code, allowing a module to be defined once and used many times. For example, a development team may want to quickly create and destroy a number of EC2 instances....

January 6, 2023

Creating subnets in AWS using terraform with 'count', 'join' and 'element'

The following code snippets show how to create three private subnets in AWS using terraform with ‘count’, ‘join’ and ’element’: To start with the following variables were declared and set: terraform.tfvars base_cidr_block = "192.168.0.0/16" node_count = 3 availability_zones = ["a", "b", "c"] variables.tf variable "base_cidr_block" { description = "The base of the address range to be used by the VPC and corresponding Subnets" } variable "availability_zones" { description = "A list containing 3 AZs" type = list(string) } variable "node_count" { description = "The number of ec2 instances to deploy" type = number } Three subnets are then created using a single resource block....

December 20, 2022 · Ed Randall