Menu
AWS Cloud9
User Guide

AWS Cloud9 SSH Development Environment Host Requirements

When you create an EC2 environment, AWS Cloud9 creates a new environment, requests Amazon EC2 to launch a new instance, and then connects the newly launched instance to the new environment. Creating an EC2 environment has the following benefits:

  • Automatic instance launching. When you create an EC2 environment, AWS Cloud9 requests Amazon EC2 to launch a new instance at the same time. In an SSH environment, you must launch a new Amazon EC2 instance yourself.

  • Automatic instance hibernation. By default, AWS Cloud9 auto-hibernates the EC2 environment 30 minutes after your environment has not been used. (You can change this behavior at any time.) This helps reduce additional charges to your AWS account for using Amazon EC2. In an SSH environment, auto-hibernation might not work as expected when connected to an existing Amazon EC2 instance, and is turned off completely when connected to your own server.

  • Automatic instance cleanup. When you delete an EC2 environment, the connected Amazon EC2 instance is automatically deleted. This also helps reduce additional charges to your AWS account for using Amazon EC2. In an SSH environment, you must remember to delete the Amazon EC2 instance yourself.

When you create an SSH environment, AWS Cloud9 does not launch a new Amazon EC2 instance. Instead, AWS Cloud9 creates a new environment and then connects an existing instance or your own server to the new environment.

When and How to Create an SSH Environment

You must create an SSH environment instead of an EC2 environment whenever any of the following is true:

Requirement Directions

You don't want to incur additional charges to your AWS account for using Amazon EC2, so you decide to connect AWS Cloud9 to your own server instead.

  1. Be sure your server meets the requirements later in this topic.

  2. Create an SSH environment for AWS Cloud9 to connect your server to.

You want to use an existing Amazon EC2 instance in your AWS account instead of having AWS Cloud9 to launch a new instance at the same time the environment is created.

  1. Be sure the instance meets the requirements later in this topic.

  2. Create an SSH environment for AWS Cloud9 to connect the instance to.

You want to use an Amazon EC2 instance type that AWS Cloud9 currently doesn't support for an EC2 environment (for example, R4).

  1. Launch an Amazon EC2 instance based on the desired instance type. Or identify an existing instance in your AWS account that runs the desired instance type.

  2. Be sure the instance meets the requirements later in this topic.

  3. Create an SSH environment for AWS Cloud9 to connect the instance to.

You want to use an Amazon EC2 instance that is based on an Amazon Machine Image (AMI) other than Amazon Linux (for example, Ubuntu Server).

  1. Launch an Amazon EC2 instance based on the desired AMI. Or identify an existing instance in your AWS account that is based on the desired AMI.

  2. Be sure the instance meets the requirements later in this topic.

  3. Create an SSH environment for AWS Cloud9 to connect the instance to.

You want to connect multiple environments to a single existing Amazon EC2 instance or your own server.

  1. Be sure the instance or server meets the requirements later in this topic.

  2. Create an SSH environment for each environment you want AWS Cloud9 to connect the instance or server to.

Note

Launching an Amazon EC2 instance may result in possible charges to your AWS account for Amazon EC2. For more information, see Amazon EC2 Pricing.

SSH Host Requirements

The existing Amazon EC2 instance or your own server must meet the following requirements for AWS Cloud9 to connect it to an SSH environment.

  • It must run Linux.

    Note

    To log in to an existing Amazon EC2 instance to verify and meet requirements, see one or more of the following resources:

  • It must be reachable over the public internet.

    Note

    If you are using an existing Amazon EC2 instance, and that instance is part of an Amazon Virtual Private Cloud (Amazon VPC), there are additional requirements. See Amazon VPC Settings.

  • It must have Python installed, and the version must be 2.7. To check the version, from the existing instance's or server's terminal, run the command python --version . To install Python 2.7 on the instance or server, see one of the following:

  • It must have Node.js installed, and the version must be 0.6.16 or later. To check the version, from the existing instance's or server's terminal, run the command node --version . To install Node.js on the instance or server, see one of the following:

  • The public SSH key value that AWS Cloud9 generates for the SSH environment must be stored in the correct location on the existing instance or server. To do this, as you create a new environment, with the create environment wizard open to the Configure settings page and Connect and run remote server (SSH) chosen, choose Copy key to clipboard. Paste the public SSH key value that was copied into the ~/.ssh/authorized_keys file on the existing instance or server.

    Note

    To see the public SSH key value that was copied, expand View public SSH key on the Configure settings page.

  • The path to the directory on the existing instance or server that you want AWS Cloud9 to start from after login must have its access permissions set to rwxr-xr-x. This means read-write-execute permissions for the owner, read-execute permissions for the group, and read-execute permissions for others. For example, if the directory's path is ~, you can set these permissions on the directory by running the chmod command from the instance's or server's terminal, as follows.

    Copy
    sudo chmod u=rwx,g=rx,o=rx ~

After you are sure your instance or server meets the preceding requirements, create an SSH environment for AWS Cloud9 to connect it to.