AWS CloudFront Security Group for Workload Protection (Terraform)

AWS CloudFront allows you to front your application (be it on EC2 instances or REST API etc.) so you can provide high availability, caching and protection (with WAF) to the workload. When configuring your application, you don’t want the application to be directly accessible without using CloudFront, so therefore you need to add some restrictions, … Read more

Removing AWS Route Table Routes

Here’s a little oddity with AWS Route Tables within Terraform, if you want to remove all of the routes in a route table, you can’t just delete or comment them out, otherwise it treats them as if nothing has changed. See the below example, you comment/remove the routes, then in its place add a blank … Read more

Upload Files (Objects) to AWS S3 without timeouts

Its always best to be using a user account authenticated via SSO (so you can have additional levels of security, e.g. MFA) on-top, and access AWS resources using a temporary Role (to provide the permissions). For most use cases e.g. interacting with the Web Console, using the CLI or performing development tasks via Cloudformation templates … Read more

AWS S3 Performance Tweaks

We had a need to upload a large volume of data to AWS S3, obviously we want this to upload as fast as possible, we choose to use the AWS S3 Sync tool; however to get the most performance out of it, you need to perform some tweaks to the configuration. Although you can make … Read more

AWS Workstation, SSO Login and No Browser

Here’s a quick example configuration. I’m assuming you already have the AWS CLI packages installed, but if you need to use SSO to login to your AWS Organisation/Account, you can use the following example. AWS CLI Configuration File The AWS configuration file that should be located in: ~/.aws/config, with the contents such as: So let’s … Read more

Example Website Workload – Amazon Elastic Container Service (ECS) with Application Load Balancer and DNS (Route53), including NAT Gateway

The Amazon Elastic Container Service (ECS), specifically Fargate allows you to run containers on an ad-hoc basis.  The following guide assumes you have already deployed an Amazon Elastic Container Registry (ECR), built your image, pushed it to the ECR and have obtained the Repository URI. The guide also uses local Terraform state, please see the … Read more