Deploying Sample Lambda application along with Well-Architected review

The CloudFormation template that accompanies this lab requires the ability to create IAM Roles and AWS Lambda functions. If the account you are using does not have these capabilities, you will not be able to complete this lab.

Deploy Sample Application CloudFormation Template

  1. Download the SampleLambdaAPIGWDeploy.yaml CloudFormation template to your machine.

  2. For this lab, you will need to use us-east-2

  3. Go to the AWS CloudFormation console at https://console.aws.amazon.com/cloudformation and click Create Stack > With new resources Images/CFNCreateStackButton

  4. Leave Prepare template setting as-is

    • For Template source select Upload a template file
    • Click Choose file and supply the CloudFormation template you downloaded: SampleLambdaAPIGWDeploy.yaml CFNUploadTemplateFile
  5. Click Next

  6. For Stack name use WALabDemoApp

  7. Parameters

    • Look over the Parameters and their default values.

    • None of these parameters need to be changed, but are available if you wish to try different settings

    • LambdaStackName - Name of the Role Stack to reference outputs. This should be the same as the stack you deployed in the second step.

    • WAWorkloadType - Example list of Workload types that could be used in your environment. For this lab we only allow these values:

      • APIGWLambda
      • EC2WebApp
      • EKSWebApp
      • ECSWebApp
    • WAWorkloadDescription - Description for WA Workload field

    • WAWorkloadOwner - Who owns the WA workload

    • WAEnvironment - The environment in which your workload runs. You must select either PRODUCTION or PREPRODUCTION

    • APIGWName - Name for the API Gateway

    • apiGatewayStageName - The stage name for the API Gateway

    • APIGWHTTPMethod - The method type for the deployed API

    • SampleLambdaFunctionName - The name for the sample lambda function

    • Click Next

  8. For Configure stack options we recommend configuring tags, which are key-value pairs, that can help you identify your stacks and the resources they create. For example, enter Owner in the left column which is the key, and your email address in the right column which is the value. We will not use additional permissions or advanced options so click Next. For more information, see Setting AWS CloudFormation Stack Options.

  9. For Review

    • Review the contents of the page
    • At the bottom of the page, select I acknowledge that AWS CloudFormation might create IAM resources with custom names
    • Click Create stack CFNIamCapabilities
  10. This will take you to the CloudFormation stack status page, showing the stack creation in progress.

    • Click on the Events tab
    • Scroll through the listing. It shows the activities performed by CloudFormation (newest events at top), such as starting to create a resource and then completing the resource creation.
    • Any errors encountered during the creation of the stack will be listed in this tab. StackCreationStarted
  11. When it shows status CREATE_COMPLETE, then you are finished with this step.

This template will take between 2-5 minutes to fully deploy.

Review CloudFormation Outputs from stack creation

Once deployed, you can click on the Outputs tab and find the various outputs from the Cloudformation. The WAWorkloadId is the WorkloadId from the Well-Architected Tool.

CFNOutputs

The link next to apiGatewayInvokeURL will show you the sample Lambda function responding via Amazon API Gateway. If you click on the link, it will show your IP address as reported by API Gateway headers as well as a link to the Well-Architected labs website.

CFNOutputs