An independent guide to building modern software for serverless and native cloud

Setting up your AWS Account

Support Document

Here’s the checklist of AWS account setup tasks that you need to run through for the courses on this site. Detailed instructions for these tasks follow below:

Signing Up for an AWS Account

If you don't already have one, then you can sign up for an AWS account here:

https://portal.aws.amazon.com/billing/signup

When you’ve just completed the sign-up process you’ll only have access to AWS through the root user account.

Securing the Root User Account

You don't want your AWS root user account to ever be compromised. So you shouldn't use the root account to access AWS, except for account-level management, and you should secure the root account with multi-factor authentication. For details on setting this up, see the "Enable a virtual MFA device for your AWS account root user (console)" heading in this document:

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html

Creating an Admin User Account

To avoid using your root account, create a separate user account that has administrative privileges. For details, see this document:

https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html

Generating Access Keys

To use the command-line utilities for AWS you need to generate access keys for the admin user account. For information about how to generate these keys, see the "Managing access keys (console)" heading in this document:

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey

Note that you need to download these access keys to your workstation once generated, since they won't be available subsequently.

Setting Up a Billing Alarm

Sometimes you inadvertently deploy a service in your AWS account that costs more money than you realize. So, while this isn't strictly required for this course, I do recommend that you set up a billing alarm to prevent any unexpectedly large expenses. See this document for details:

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html

Selecting a Region

AWS defines clusters of related data centres in one general location as a "region", with individual data centres within a region defined as "availability zones". For the serverless courses on this site, you don't generally have to worry about specifying availability zones. But you do have to specify a default region for the command-line-interface (CLI) that you install on your workstation. You also have to specify the region as a variable in Postman for API testing.

So it's at this point, after you have set up your AWS account, that it makes sense to settle on the region that you'll use. You can see an interactive list of the regions that AWS currently has on this page:

AWS Regions and Availability Zones

Once you know which region you wish to use, you'll need the region name (or code), such as "us-west-2", which is the region code for the US West region in Oregon. This third-party site provides a useful listing of regions and region codes for specific AWS services. Here's the page listing the available regions for the Lambda service:

AWS Lambda Regions

As the screen shot of this page shows below, you can copy the "region code" value for your preferred region that you see in the first column, and save it for the CLI configuration that will follow: