Create a Workspace

The Cloud9 workspace should be built by an IAM user with Administrator privileges, not the root account user. Please ensure you are logged in as an IAM user, not the root account user.

A list of supported browsers for AWS Cloud9 is found here.

Ad blockers, javascript disablers, and tracking blockers should be disabled for the cloud9 domain, or connecting to the workspace might be impacted. Cloud9 requires third-party-cookies. You can whitelist the specific domains.

Launch Cloud9 in your closest region:

  • Select Create environment
  • Name it eksworkshop, click Next.
  • Choose t3.small for instance type, take all default values and click Create environment

When it comes up, customize the environment by:

  • Closing the Welcome tab c9before
  • Opening a new terminal tab in the main work area c9newtab
  • Closing the lower work area c9newtab
  • Your workspace should now look like this c9after

If you intend to run all the sections in this workshop, it will be useful to have more storage available for all the repositories and tests.

Increase the disk size on the Cloud9 instance

pip install --user --upgrade boto3
export instance_id=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
python -c "import boto3
import os
from botocore.exceptions import ClientError 
ec2 = boto3.client('ec2')
volume_info = ec2.describe_volumes(
    Filters=[
        {
            'Name': 'attachment.instance-id',
            'Values': [
                os.getenv('instance_id')
            ]
        }
    ]
)
volume_id = volume_info['Volumes'][0]['VolumeId']
try:
    resize = ec2.modify_volume(    
            VolumeId=volume_id,    
            Size=30
    )
    print(resize)
except ClientError as e:
    if e.response['Error']['Code'] == 'InvalidParameterValue':
        print('ERROR MESSAGE: {}'.format(e))"
if [ $? -eq 0 ]; then
    sudo reboot
fi

  • Note: The above command is adding more disk space to the root volume of the EC2 instance that Cloud9 runs on. Once the command completes, we reboot the instance which could take a minute or two for the IDE to come back online.