Amazon Web Services (AWS) provide a ton of useful tools for machine learning. This post will describe the two things you should do to get started: sign up and create a user. This will set you up to be able to use the command-line tool.

Most of the services in AWS have a free tier, meaning you can try them out for some period of time without paying anything. But you will need to provide a credit card number and you should figure out the pricing details for every service before you use it.

Sign up

Signing up for AWS is easy.

  1. Head to and click “Create an AWS Account.”
  2. Follow the instructions for each step: Contact Information, Payment Information, Identity Verification, Support Plan, Confirmation. You’ll need to provide a valid phone number because they call you to verify your identity. Also, make sure you select the “Basic” support plan, which says “Price Included” unless you want to pay for support. This should be the default.

After completing these steps, you should be able to sign in to the AWS console:

AWS console

Create a user

To use the command line tool, you need to have a user with an access key.

  1. Go to the IAM service by typing “IAM” in the search box and selecting the first option.

    IAM console

  2. Select the “Users” item on the left and then click the blue “Add user” button.

  3. Fill out the required “User name” field and check the “Programmatic access” box. You can also give the user access to the console if you want to sign into the console as this user. Then, click the blue “Next: Permissions” button.

  4. To access services programmatically, you need to add permissions for the user. Click the “Attach existing policies directly” box and use the search field to look for the service you care about. “EC2” is a good one to start with. On a new account you can safely pick the “FullAccess” policy. Check as many policies as you like and then click the blue “Next: Review” button.

    EC2 policy

  5. Click the blue “Create user” button.

  6. Download the user’s credentials by clicking the gray “Download .csv” button. This has the user’s Access Key ID and Secret Access Key. These are important for accessing AWS programmatically so you should hang onto them, but make sure they stay secret. If you believe they’re compromised you can come back to the IAM service to deactivate them.