3-1: Setting up a Cloud VM
For this next and final section, we’re moving on from the Podman environments. There are limits to what we can do in a fully containerized world. It’s time to use what we’ve learned to build something real.
You’ll need a cloud VM.
Providers
There are multiple options for choosing a Virtual Private Server (VPS). AWS has a free tier that can suffice for this project. Microsoft Azure has a signup bonus of $200, which also works. I use Digital Ocean for my personal servers, which does not have a free tier.
Since I want this lab to be accessible to all, I will use AWS for these examples. The steps will be similar for other providers, with some platform-specific modifications.
That said, this is not a course on AWS operations. I will not be going through VM creation in every single detail; instead I will explain the necessary configurations for our purposes.
System Requirements
Our requirements are modest for our cloud VM. Keeping within the free tier for AWS, we’ll want a system with:
- 2 vCPUs
- 2 GB RAM
- 30 GB root volume
Operating System
I’m going to use Ubuntu for commonality. If you choose another Linux distribution, there may be some differences in the setup commands.
Networking
We will require a public IP address as well. For the firewall rules, you’ll want to configure the following:
- SSH allowed from your IP address, not the whole internet
- HTTP/HTTPS allowed from everywhere
- UDP 3478 allowed from everywhere—this may have to be configured after initial setup.
Access
Since we’re allowing SSH from our port, create an (or add an existing) SSH key to the VM.
Once the VM is set up and you’re connected, we’ll begin building a network with a more sophisticated Wireguard tool.