AWS is the leading cloud provider with 32% of the market share. It offers highly available and cost effective services, so it’s no surprise companies are migrating from on-premises to AWS in droves. As developers, we’re often caught in the middle of this, being asked to re-architect software to new models such as containers or […]
S3 bucket access from the same and another AWS account
Creating an S3 bucket is easy enough, but to apply the principle of least privilege properly we need to understand how to create the right permissions for specific IAM identities. This might be straightforward if it weren’t for the multiple ways to configure permissions in S3, each having its own rules and edge cases. This […]
Setup Jenkins to assume a role in another AWS account
Setup Jenkins to access resources in another AWS account using one of these 4 assume role methods. At some point most Jenkins jobs are going to need to deploy the application they’ve built. If you’re following AWS best practices, you’ll have a different account for your production and development environments. This creates separation between environments, […]
AWS Fargate Spot vs. Fargate price comparison
Discover how much Fargate Spot could save you on your AWS bill with this price comparison between 100 Fargate Spot and 100 Fargate containers. Did you know you could save money in AWS by switching from Fargate to Fargate Spot? If you’re using ECS, Fargate Spot offers significant cost reductions by using spare capacity in […]
Setup Spring Boot behind a load balancer using the X-Forwarded headers
If you’ve ever deployed Spring Boot behind a load balancer, you might be aware of issues coming from differences between the request into the load balancer and the request into your application. These requests will often have a different protocol, host, or port. If Spring Boot isn’t correctly setup it can lead to all sorts […]
Running Jenkins jobs in AWS ECS with slave agents
So you’ve setup your Jenkins instance in AWS ECS? And people start using it. Awesome! Hold on a sec though, loads of people are using it. So many that Jenkins is grinding to a halt with all the running jobs. Thankfully, we can offload those jobs to run in a completely separate container called a […]
VPCs, subnets, and gateways – fundamentals for working with containers in AWS
Let’s be honest, for most developers getting their software written and working on their own machine and maybe a test environment is the main priority. Deploying to production? Ah, that’s another team. All the AWS network ‘stuff’ – VPCs, subnets, gateways? Someone else’s business, right? Secondary to the contents of the holy Docker image and […]
AWS SNS for CloudWatch alarm email notifications
Do you want to learn how to setup email notifications to tell you about important events that happen in CloudWatch? In this article you’ll discover how to setup the AWS Simple Notification Service (SNS) to send you emails whenever a CloudWatch alarm gets triggered. We’ll run through a full working example, setting up the alarm […]
Shipping AWS EC2 logs to CloudWatch with the CloudWatch agent
Want to learn how to monitor EC2 logs automatically without having to manually log into servers? Well, in this article we’ll explore how to setup the CloudWatch agent on an EC2 instance to easily stream your logs to AWS. We’ll also setup a simple alarm for when the logs contain certain text that we want […]
When to use an AWS S3 VPC endpoint
What is an S3 VPC endpoint? To understand what an S3 VPC endpoint is, we first need to know what problem it solves. Imagine we want to get access to S3 from an AWS resource. In the example below, we have an EC2 instance that needs to copy a file from an S3 bucket: This […]