Category: Terraform

Dynamic IAM Resources with Terraform

IAM requirements differ between project to project. Depending on the complexity, we could create the IAM resources with Terraform in the relevant layer. However, having the IAM resources dynamically create within its own module, or even combining them with their resource counterparts, gives us great power. Combining the IAM instance profile/role within an ASG module …

WordPress on ECS

WordPress is used by over 60 million users, it has powerful features and runs various workloads across the planet. We wanted to run WordPress on ECS as efficiently as possible, this post covers how we attempted that. We’ll also dive into how to customise the example solution to fit your requirements. Why ECS? ECS is …

Up and running with the Cloudflare Terraform Provider

By leveraging the Cloudflare Terraform provider you can manage your Cloudflare resources using the same refined processes and pipelines you already have in place for your cloud infrastructure. Configuration kept in version control reaps various benefits, such as auditable changes and ease of rollback when issues occur. It’s clear to see why when managing vital …

Protecting your ALB with WAF & Cloudfront

You can protect load balancers from unwanted traffic in various ways. You can achieve this by using feature rich third party products such as Cloudflare & Incapsula. Or depending on the use case, you can also leverage native AWS services. In this post, I’ll be focusing on using ALB with WAF & Cloudfront. I’ll also …

Blue and Green Deployments with Terraform Workspaces

This post showcases the simplicity of leveraging Terraform Workspaces for blue green deployments. Including the benefits this can bring to your projects and how to best structure your project repo when leveraging Jenkins, Terraform & Ansible together. Blue and Green Deployments Blue Green deployments is a deployment strategy that reduces downtime and risk by running …

Terraform Pipeline Structure with Jenkins

Running Terraform locally is perfect when creating and testing new functionality in development or testing accounts. However, it’s best not to use this approach for staging and production environments. A Terraform Pipeline gives us predictable, well defined and repeatable actions to take when deploying Terraform infrastructure. In this post we’ll run through the base structure …

Managing Multiple AWS Accounts with Terraform

When managing resources in multiple AWS accounts you need to know how you want to manage your state files. This will determine which approach is viable for managing multiple AWS accounts with Terraform. If you’re happy to have a single state file in a central account containing all resources for all other accounts then life …