Deploy the environment

Coming from Event Engine

If you are running the lab from Event Engine, you should be looking at your AWS Console’s landing page. In the next step you will create an EC2 key pair. You can follow the URL below to go directly to the key creation wizard or navigate from the main console page.

EC2 key pair

You will need an EC2 key pair to access the resources in the lab. You can use this link to create a new key pair. Be sure to download the key pair and store it on your local disk. You won’t have another opportunity.

Click Create key pair

ec2-keypairs

Fill in a name for the key pair. I named my key pair migration. Click Create key pair

ec2-create-keypair

Be sure to download the key pair in the ensuing dialog. When you’ve done that, you’ll see it in your console.

ec2-keypair-created

Cloud9 environment

The AWS Cloud Development Kit (CDK) is an open source software development framework to define your cloud application resources using familiar programming languages. Its convenient classes enable you to build full architectures with just a few lines of code. When you use the CDK, it creates an AWS CloudFormation template to deploy your code and application resources. You’ll use the CDK in this lab to create the application.

Click the following link to create an AWS Cloud9 environment: Create environment

Critical: make sure to select the correct region or the environment will be created by default in us-east-1.

Give your environment a name – e.g., odfe – and optionally a description and click Next step. On the following wizard page, keep all of the default values and scroll down to click Next step. On the final wizard page, click Create environment.

Cloud9 will take a few minutes to spin up and connect to your environment. Once it has completed, close the welcome screen and the “AWS Toolkit Quick Start”, and move the horizontal divider to expand the bash shell window. You should see this

cloud9-terminal-created

Run the following command to download the lab’s CDK code from the public s3 bucket:

aws s3 cp s3://ee-assets-prod-us-east-1/modules/4355131df236401f84582927415385b5/v1/AesMigrationLab.zip .

Run the following command to unzip the archive and go inside the directory:

unzip AesMigrationLab.zip && cd AesMigrationLab

The core CDK is built on Javascript. You’ll need npm to grab packages during bootstrap. The bootstrap.sh shell script downloads a few packages and initializes the CDK. You use cdk deploy to build the application, send the template to CloudFormation, and deploy your resources.

Run the following commands to prepare the CDK.

./bootstrap.sh

Run the following command to deploy the lab’s infrastructure. Be sure to replace odfe with the name of the key pair you created above.

cdk deploy --parameters keypair=migration

Type 'y' to agree to the deployment.

cdk-deploy

This will take around 15 minutes to deploy.

You should see an output similar to:

CDK output

Copy paste the output to a local editor to preserve the links. The outputs are:

  • The web application URL is displayed as AesMigrationLabStack.CloudFrontEndpoint

  • You can add users to affect them to user groups in Cognito to access Kibana from the new Amazon Elasticsearch Service following the link displayed as: AesMigrationLabStack.CreateUserUrl

  • The self-managed Elasticsearch endpoint (load balancer) is displayed as AesMigrationLabStack.ElasticsearchURL

  • The self-managed Kibana endpoint (load balancer) is displayed as AesMigrationLabStack.KibanaURL

  • The bastion host to proceed with the migration is displayed as AesMigrationLabStack.BastionUrl

  • The new Kibana (Amazon Elasticsearch Service) is behind a proxy displayed as AesMigrationLabStack.KibanaNewUrl

  • The Logstash instance will be accessible through the bastion host and its internal URL is displayed as AesMigrationLabStack.migrationLogstashInstanceXXXXXXXX

  • We will need to map backend roles to Elasticsearch roles for both Logstash and the Lambda backing the API:

    • AesMigrationLabStack.LogStashRoleArn
    • AesMigrationLabStack.ApiLambdaArn

Note: the CDK code for this Lab is region agnostic, so everything will be deployed on 2 availability zones only.