Part 3: How to set up a VPS on AWS.
This is the 3rd section of a 4 part guide that will culminate in you staking on the Fusion Foundation’s Main Network. In part 3, I take you through the steps of setting up a Virtual Private Server (VPS) on Amazon Web Services (AWS).
This guide is not security advice, Fusion takes no responsibility for the safety of your cryptocurrencies. Do your own due diligence before experimenting with staking, using VPS’s and cryptocurrencies in general.
Link to the other sections of the How to Set Up A Fusion Node Guide:
- Part 1 — Introduction to Consensus Algorithms
- Part 2 — Introduction to Fusion’s Unique Approach to Staking
- Part 4A — SSH into your VPS and connect your node to the Fusion Blockchain on Mac and Linux
- Part 4B — SSH into your VPS and connect your node to the Fusion Blockchain on Windows
How to set up a VPS on AWS
Step 1 — Register an account on AWS
Registering an account on AWS is very straightforward. I’m not going to take you through this process.
The only aspect of registration that may be unfamiliar to a person first using a VPS provider, is selecting the location of your VPS. It’s generally good practice to pick a location near to where you live (specifically, where the local computer that you are accessing the VPS from lives).
I live in NYC so I chose North Virginia.
Once completing the registration process, you should arrive at the home screen displayed below.
Step 2 — Generating SSH keys
If you are familiar with Generating SSH Keys you can skip this step and perhaps this guide altogether. For those who are new to cloud computing here is a basic intro. SSH keys are a safe way to access your VPS from your local computer. Much like a ECDSA signature in cryptography, SSH keys come in pairs, with a public and private key. There are numerous ways to set up SSH keys and much to learn about how they work. Fusion community member @iruwen has created an in-depth SSH guide here.
In this guide I will show you how to generate SSH keys within the AWS interface.
Head to the home screen and navigate:
Services > EC2 > Network Security > Key Pairs
At the top left of the screen click ‘Create Key Pair’
Select a name for your Key Pair, it’s not really important what you call them, in this guide I name my Key Pair ‘FusionNode’. Click ‘Create’.
Your Key Pair should now display in the box as shown below.
A file that contains your private key will automatically be downloaded to your computer.
This file needs to be stored somewhere on your hard drive. It is common practice to keep this file in your .ssh folder but really it can belong anywhere. For the purpose of this article, I created a folder on my Desktop called AWS and put the private key file in this folder.
Once completed, your private key will be saved on your hard drive and your public key has been loaded to AWS.
Step 3 (For Mac and Linux users, skip this step if using Windows)— Set private key permissions so only the owner can read it.
Once you have created your Key Pair and saved your SSH private key to your hard drive we need to set the private key permissions so only the owner and creator of the private key can read the file.
This is done by executing the following command in your terminal. First the section highlighted in yellow needs to be updated with the full path to where you are keeping the private key on your hard drive and the file name.
- chmod 400 /path/nameofprivatekeyfile
Example Edited command:
- chmod 400 /Users/yonatakac/Desktop/AWS/FusionNode.pem
After editing the command as per the example above, copy the command and execute the command in your terminal. Nothing will display after running this command, this likely means it is running correctly.
Step 3 — Set up infrastructure on AWS using Cloud Formation.
Now that we have generated our SSH keys and set permissions to our private key, we can proceed with setting up our VPS infrastructure.
To get started navigate as follows:
Services > Cloud Formation (under Management and Governance heading)
Click ‘Create Stack’ to begin.
In the Create Stack screen, leave all parameters as their defaults except for the Amazon S3 URL.
Paste the Following Amazon S3 URL into the empty field.
Click ‘next’ to proceed.
In the following screen, you need to set a Stack Name. Any name will do. For this guide, I will name the stack FusionVPS.
On this screen, the default parameters have already been customized for you. In the parameters section, the Instance Type has already been pre-set to ‘t2.medium’.
In the ‘Key Name’ section, use the dropdown box to select the Key Pair that we created in step 2 of this guide.
Finally, you have the option of restricting the IP address in which you can SSH into (log into) the VPS that you are setting up. This is an additional security measure for those that want it. If you set an IP address in this field, you will only be able to SSH into your VPS when connecting from this IP address. This is not a requirement and in this guide, I will leave this field as is. See inputs in image below.
Click ‘Next’ to proceed.
On the following page, there is no requirement to make any changes. Click ‘Next’ at the bottom of the page and proceed.
Once again, on the following page, there is no requirement to make any changes. Click ‘Create Stack’ at the bottom of the page and proceed.
If this is a new AWS account you may get a ‘Rollback’ error that looks like this:
Unfortunately, this means that AWS needs to verify your account before you can launch your Instance. AWS will immediately begin the verification process and will send an email to the address you used to register your account, once it is verified.
It should only take a few minutes to verify and maximum a few hours.
*Yona Twiddles thumbs for 20 minutes*
Once verified you will need to delete this Instance by clicking the ‘Delete’ button in the screen above and repeat Step 3 from the beginning.
When your instance has been deployed successfully, the screen will look as below.
Congratulations, you have now successfully launched your instance on AWS. You are almost ready to start staking and earning Fusion rewards!
For more assistance or additional information, please join us in the Fusion Developer Telegram Channel! Many community members and staking gurus will help you with any and all of your node setup troubles.