Bootstrap the Initial State

First, we will setup the initial state, including the integrating of the Unicorn Management Service (leveraging Amazon API Gateway and AWS Lambda), the Rides Store (leveraging Amazon DynamoDB) and all 3 backend services listed above (leveraging AWS Fargate behind Application Load Balancer).

Step 1

1. Browse to your AWS Cloud9 IDE

Browse to your AWS Cloud9 Console and find the environment called WildRydesAsyncMessaging. Click the Open IDE button to navigate to your AWS Cloud9 IDE.

Detailed description

2. Build the lab artifacts from source

First, test whether there is already the Amazon ECS service linked role in you account by running the following command in the bash tab (at the bottom) in your AWS Cloud9 IDE:

aws iam get-role --role-name AWSServiceRoleForECS

If this reports an error, please create the Amazon ECS service linked role as described in the hidden section below.

Create ECS service linked role

We provide you with an AWS SAM template which we will use to bootstrap the initial state. In the bash tab (at the bottom) in you AWS Cloud9 IDE, run the following commands to build the lab code:

cd ~/environment/wild-rydes-async-messaging/lab-1
sam build
Detailed description

3. Deploy the application

Now we are ready to deploy the application, by running the following command in the lab-1 directory:

export AWS_REGION=$(aws --profile default configure get region)
sam deploy \
    --stack-name wild-rydes-async-msg-1 \
    --capabilities CAPABILITY_IAM \
    --region $AWS_REGION \
    --guided

Confirm the first 4 proposed arguments by hitting ENTER. When you get asked SubmitRideCompletionFunction may not have authorization defined, Is this okay? [y/N]:, enter y and hit ENTER again 2 times.

4. Wait until the stack is successfully deployed

It takes usually 4 minutes until the stack launched. You can monitor the progress of the wild-rydes-async-msg-1 stack in the SAM CLI or in your AWS CloudFormation Console. When the stack is launched, the status will change from CREATE_IN_PROGRESS to CREATE_COMPLETE.

Detailed description

In the meantime while your waiting, you may want to have a look at the AWS SAM template to make yourself familiar with the stack we launched. Just click on the template.yaml attachment below to see the content.