Temporary Cloud VPN with EC2 and Wireguard

This quick terraform project sets up an EC2 instance, configures wireguard, generates the required keys (including a PSK) and provides the wireguard “Client” configuration. The code can be found here WARNING: Cloud network egress/throughput will incur costs which can vary from region to region. Purpose This terraform code (and associated template file containing a bash script) will create an EC2 instance which is running wireguard and can be used as a VPN endpoint....

December 28, 2023 · 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

Designing a SaaS Platform

What is SaaS? Software as a Service (SaaS) is everywhere. Put simply, SaaS is way of providing an application that can be used directly over the internet. Typically, there’s no need to install anything on a computer, and all that’s usually required to get started (as a user) is a web browser. A huge number of people rely on SaaS applications everyday without giving it too much thought. Below are some examples of “everyday” SaaS products which are widely used:...

March 19, 2023 · Ed Randall

Getting started with Kubernetes on Amazon EKS using Helm

In this post, I will go over the steps needed to provision a Kubernetes cluster in AWS, and deploy a Neo4j cluster using Neo4j’s helm charts. This post takes steps from the official Neo4j Kubernetes Documentation Prerequisites An AWS Account Configured AWS Command Line Interface An SSH Key named id_rsa.pub. If you do not have one, you can generate it by running: ssh-keygen -t rsa -C "[email protected]" Setting up a Kubernetes Cluster in EKS Installation of tools and applications In order to create a Kubernetes (EKS) cluster in AWS, you will need to download the following applications: kubectl...

March 1, 2023 · Ed Randall

Announcing the newest Neo4j and AWS Partner Solution

My post on the neo4j blog explains how to get up and running with Neo4j using the AWS partner solution. AWS Partner Solutions (formerly known as AWS Quick Start) are pre-configured reference deployments that work seamlessly with Amazon Web Services (AWS) and follow AWS’s recommended design practices. They provide customers with a variety of deployment options for managing their workloads on AWS. Neo4j’s AWS Partner Solution for AWS is a quick and easy way to deploy a fully-managed Neo4j cluster on the AWS platform....

February 24, 2023 · Ed Randall

EC2 Instances in Private Subnets behind an application LoadBalancer

Recently, I had to re-visit an old architectural challenge in AWS that I came across a couple of years ago but couldn’t quite remember how to resolve: EC2 instances which have no public IP address (residing in a private subnet) which can accept requests from (and serve responses back to) the internet. The motivation for this particular topology is security focused: The EC2 instances cannot be directly addressed via the internet due to the absence of a public IP, but can serve (web, in this example) content over the internet using the load balancer....

January 26, 2023 · Ed Randall