Developing web application using an online development environment (ODE) is possible using the AWS tool Cloud9. To begin, you must register with Amazon Web Services.
If you already have an Amazon account, you can log on using these credentials.
You will need the following to complete this process:
A phone nearby for Amazon to contact you and verify the account information
A valid credit card. While AWS is free to register and use for the first year, a credit card is required to register an account.
Create an AWS account:
If you don't have an account already, navigate to https://portal.aws.amazon.com/gp/aws/developer/registration/index.html, otherwise just sign into the console at AWS Developer
AWS Identity and Access Management (IAM) enables you to securely control access to AWS services and resources for your users. Using IAM, you can create and manage AWS users and groups, and use permissions to allow and deny their access to AWS resources.
We will create a group called "TTS_C9" for our TTS projects with 1 user called "TTS_Cloud9_User" that will have the necessary permissions to create projects.
To create an IAM user for yourself, add the user to the TTS_C9 group, and create a password for the IAM user.
Select the blue Create user button
Your user can now sign-in to AWS using their name and this newly created password.
In your IAM Dashboard, take note of the custom sign-in link that your users go to for logging in:
Log out and use the custom link to sign in with the user credentials
On the homepage, click "Create environment".
Once logged in, navigate to over to the Cloud 9 console at
Your new environment has three areas:
1) File System Explorer, 2) Text Editor, and 3) Command-line Shell
File System Explorer: This area show structure of the folders and files in the working directory
Text Editor: This is the area where the project code is written and edited.
Command Line Shell: This area is for using command line prompts that will help us navigate through our file structure and build projects in Rails. Knowing command line prompts is very important. The command prompt in Cloud9 follows the same prompts as the OS Terminal. For an overview of essential commands, check out this list.
If you haven't already done so, sign up at for an account at Github. It's free and it will act as your coding resume.
Once you've signed up, click the "+" sign next to your profile picture and choose "Your Profile"
On the profile page, navigate to the left side of the screen and click the "Edit Profile" button
Select "SSH and GPG Keys". Click the green "New SSH Key" button.
Our next step will be to get our SSH key for our enviroment. This key will be used later to connect our workspace to Github. In the terminal, type the following command:
$ ssh-keygen -t rsa -b 4096 -C "email@example.com"
Substitute the email used for signing up for GitHub:
You will be returned a similar response:
Generating public/private rsa key pair. Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ec2-user/.ssh/id_rsa. Your public key has been saved in /home/ec2-user/.ssh/id_rsa.pub. The key fingerprint is: SHA256:uNiCpjy05AZ+mEgK0bfWbB+q3RSYAsCZx+Ki2vj64S0 firstname.lastname@example.org The key's randomart image is: +---[RSA 4096]----+ |o + | | * o | |..+ | |o.... + | |o. ..++ SSS | |++ .o++... | |%oB.o.oo.... | |*%E+ o.o. | |+=*.o.. . | +----[SHA256]-----+
$ eval "$(ssh-agent -s)" $ ssh-add -k ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub
Continue by typing the following into your Cloud 9 terminal:
This last step will return the ssh key for your environment. Here's an example of what is will look like:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCnk1lvp3pa9koMWRM30zBcsdCFnlD4MRu4wmdt8MSrwnNibUtIFm8LbR/4m2dH+jwzddG+O13/2a7dqUUR6J97lOaz0+OEz1VlFsC+7lauKIyf hfLx6stkZygHfHZlLx7TECoELQSCCeIjhWbNQ0rzLP9qs4iWdZ3p5SD61iabDkmNszhUlT+zQc+sp/WGx6Nk/INPbTeRhVS3lAlZC1uMPMgHxE4Ob3J+oHMBBSgVuEUKLZdA5UdneaQ+ DaiJ2WARnlZphynPWGMgXTmOl2Xn7blpv3970qDg4KYQYeYp0yQBzSrFOrrjjuerTQgZPZgc4lYd5eD5omKyqoI3w01K8VZLqtJ40kyI+xQurabnXE+p066QvekD4vH/O7FurK9fLsQI trC40rW1aYTCRFrxGfvSl8YiiFBVmTJl12JVBA4KY/72wFq14jkvNn6Mic0FpyXoWuuzjAMQPk1pHEjLsP1vJLGY7e6oQFb9WCkzXNWhStIwWlYGPHJUloekYb/y3QfYtGg8AB1i+6vW WVUPEoVcWfHVO8lNOFyXNqRmozGcDpOxsSV28ombOv9kYyAIO+51Bgi9ix21IMDpsGgxcbbDClsQZdI7ftsx2T9fNJqKLq7td14pc2ovdArqwWn9oUGksP/lwwozWatle7Dwa2yeMmNn VYPcAj41mGVZNcGw== YOUR_EMAIL.COM
Add your key to Github and click "Add SSH Key" when done.
Back in Cloud9, in the command line prompt, add the following code:
~/environment $ git config --global user.name "YOUR GITHUB USERNAME" ~/environment $ git config --global user.email YOUR_EMAIL_ADDRESS
Make sure to add YOUR Github username and the email you used to sign up with Github.
Before you begin, make sure to sign up for a free account with Heroku
Now, we have to install the Heroku CLI in Cloud 9. In the command line area, add the following commands:
$ sudo yum -y update
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
$ export NVM_DIR="/home/ec2-user/.nvm" $ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
$ nvm install node
$ npm install -g heroku-cli
$ npm install -g cli-engine-command@^8.0.0
$ heroku --version
$ npm install -g cli-engine-config@^3.0.0
Check to see that Heroku has been installed:
Now that you are set-up, let's go over a couple of things:
When working with Rails applications, you will click the "Run" button to see a rendering of your code: