Funtoo Linux on AWS (Amazon Web Services)
This page documents how to launch a Funtoo Linux Amazon EC2 instance.
The first thing you'll need to do, if you haven't already, is to head over to https://aws.amazon.com and create an account so that you can log in to the AWS Console. If you create a new account, you'll be using your "root credentials" to log in. Eventually, you should create an IAM User account to log in, instead of using your root credentials to log in, as this is a good security practice. While the steps to do this will not be covered in this document, you can read more in the official AWS documentation on how to do this.
Choosing A Region
OK, now you are logged in to the AWS Console. The first thing you'll want to do is to choose a region in which you'd like to deploy your Funtoo Linux image. This is done by selecting your preferred region in the upper right-hand corner:
Once you are in the correct region, it's now time to launch an image.
Starting the Launcher
To launch a Funtoo Linux image, we'll go through a "UI wizard" process that initiates by clicking the blue Launch button at the top of the screen:
Once clicking this button, the UI wizard will start to guide you through the process of creating an image. We'll go through each screen below.
You'll be prompted to choose an Amazon Machine Image (AMI). Click on AWS Marketplace and type "funtoo" in the search bar to find the available Funtoo Linux images. You will want to choose a Funtoo Linux AMI optimized for the particular instance type you want to use. If unsure, we recommend starting with the "optimized for t2 instances" Funtoo Linux AMI and using a
t2.xlarge instance type:
Now, click the blue Select button. You'll now be prompted to confirm a subscription to Funtoo Linux. Note that this doesn't actually incur any additional charges from us, since our images are available free of charge, but Amazon still records you as having "subscribed" to Funtoo Linux anyway:
You'll want to click the blue Continue button to continue.
Next, you'll be prompted to configure the instance. In general, the defaults are typically fine, but make sure that Shutdown behavior is set to stop, so that when you shut down, your instance will still exist but in a dormant state.
Don't click "Review and Launch" at this point! We'll want to continue to "Next: Add Storage"!
Next, we'll want to continue to the next screen by selecting the non-highlighted Next: Add Storage button.
Skipping this step will result in your AMI having only 8GiB of disk space total! This is because AMIs are created with a minimally-sized root EBS volume. You should modify the size of the root volume to suit your needs. At boot time, Funtoo Linux will resize the root volume to utilize all available space.
On this next screen of the wizard, you can add additional disks to your image, which is usually not required. What is generally required, however, is expanding the size of the disk from 10GB to a larger capacity (we recommend at least 50GB if you are starting out.) Do This by modifying the GiB setting for
/dev/xvda as follows:
When Funtoo Linux first starts, it will automatically resize its root partition and filesystem to take advantage of all available space, so that your additional storage space will be available by the time you log in.
The next step, Adding Tags, can be safely skipped. Proceed to the next part of the wizard: Configure Security Group.
Configure Security Group
This next section allows you to configure a security group for your new instance. This security group is what defines what kinds of connections are allowed to be made to your new instance. By default, we ship with an auto-generated security group that allows SSH access (via TCP port 22) from anywhere on the Internet. You should select this security group, or alternatively can select another security group that allows appropriate access.
Our default security group is ideal for initial login, but as you gain familiarity with AWS, you should consider restricting access to the IP(s) you use to access your Funtoo Linux virtual machines. Doing so is beyond the scope of this simple introduction but we welcome contributed documentation on how to perform these steps.
To be able to log in from any IP, you will want to make sure that your security group contains a rule that matches the one shown below.
Finally, you will be asked to review the launch plan. Now is a good time to review. It's generally safe to click the blue Launch button at this point:
Generating a Key Pair
Before your instance is launched, AWS will prompt you and ask if you want to use an existing key pair or create a new key pair. This part may be confusing
for new AWS users but it actually fairly easy to explain. AWS generates a public/private SSH key pair, and the public part of that key pair will automatically be installed under the
ec2-user account on the Funtoo Linux instance. You will then be able to download the private part of the key pair. Since this is just a regular SSH private key, SSH will happily accept it, but you must use the
-i path/to/private-key.pem when calling
ssh to provide your private key. When this is done, you'll be able to log in to the
ec2-user account using
ssh without providing a passphrase. Here's a screenshot of the Key Pair dialog below:
Once you've launch your image, you will now be free of the wizard and back in the AWS Console UI. You'll see your new instance launching:
You'll see that it is in a "pending" (yellow) state. In about 30 seconds, it should be in a green "ready" state. At this point, you should be able to copy the public IP of your instance as follows:
Now, you should be able to use this IP to log in:
drobbins@ryzen ~ $ ssh -i ~/Downloads/drobbins-funtoo-us-east-1.pem email@example.com The authenticity of host '184.108.40.206 (220.127.116.11)' can't be established. ECDSA key fingerprint is SHA256:06VxabD5Gom5FRzpg7jZrBWro+TJkZBFa2+29WTSII4. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '18.104.22.168' (ECDSA) to the list of known hosts. // Welcome to Funtoo Linux for Amazon EC2! This image has been optimized // for the best possible performance by taking advantage of all CPU // instruction sets offered by Amazon Web Services. >>> Release: Funtoo Linux 1.2-release-ec2 >>> Version: 17-Nov-2018 >>> Subarch: intel64-haswell >>> Created by: Daniel Robbins <firstname.lastname@example.org> >>> Open Source Community: Funtoo Linux (https://www.funtoo.org) >>> Commercial Support: BreezyOps (https://breezyops.com) >>> Bug reports: https://bugs.funtoo.org >>> Support email: email@example.com NOTE: This message can be removed by deleting /etc/motd. ec2-user@ip-172-31-22-215 ~ $ sudo su ip-172-31-22-215 /home/ec2-user # ego sync