Amazon EC2 でウェブアプリケーションをデプロイする
入門ガイド
モジュール 3: CDK スタックのデプロイ
このモジュールでは、インフラストラクチャとアプリケーションのデプロイを行います。
はじめに
作成した AWS CDK アプリケーション、定義したリソース、初回起動時にソフトウェアをインストールするためのユーザーデータアセットがあれば、スタックのデプロイとリソースを作成する準備はできました。このモジュールでは、CDK を使用してスタックをデプロイします。
学習内容
- CDK のブートストラップ
- CDK を使用してインフラストラクチャをデプロイする
所要時間
5 分
モジュールの前提条件
- 管理者レベルのアクセス権を持つ AWS アカウント**
- 推奨ブラウザ: Chrome または Firefox の最新バージョン
[**] 過去 24 時間以内に作成されたアカウントは、このチュートリアルに必要なサービスへのアクセス権限がまだ付与されていない可能性があります。
実装
CDK のブートストラップ
CDK アプリケーションをデプロイする前に、デプロイ先アカウントで CDK をセットアップする必要があります。bin/cdk-ecs-infra.ts ファイルを編集し、14 行目のコメントを解除します。
env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION },
これは、AWS CLI で設定されたアカウント ID とリージョンを使用します。CDK を使用する前に、ブートストラップする必要があります。これにより、CDK がアカウントのインフラストラクチャを管理するために必要なインフラストラクチャが作成されます。CDK をブートストラップするには、cdk bootstrapを実行します。
次のような出力が表示されます。
cdk bootstrap
#output
⏳ Bootstrapping environment aws://0123456789012/<region>...
✅ Environment aws://0123456789012/<region> bootstrapped
スタックのデプロイ
ブートストラップが完了したら、cdk deploy を実行して作成した全てのインフラストラクチャをデプロイします。以下のアウトプットと確認画面が表示されます。
スタックはセキュリティへの影響を含むため、これらの概要が表示されデプロイに進む前に確認を求められます。

「y」を入力し、デプロイに進みリソースを作成します。CLI は、デプロイプロセスを表示し、最後に CDK アプリケーションで定義したアウトプットを表示します。
Do you wish to deploy these changes (y/n)? y
Ec2CdkStack: deploying...
[0%] start: Publishing afe67465ec62603d27d77795221a45e68423c87495467b0265ecdadad80bb5e2:current
[33%] success: Published afe67465ec62603d27d77795221a45e68423c87495467b0265ecdadad80bb5e2:current
[33%] start: Publishing 73887b77b71ab7247eaf6dc4647f03f9f1cf8f0da685460f489ec8f2106d480d:current
[66%] success: Published 73887b77b71ab7247eaf6dc4647f03f9f1cf8f0da685460f489ec8f2106d480d:current
[66%] start: Publishing 13138ebf2da51426144f6f5f4f0ad197787f52aad8b6ceb26ecff68d33cd2b78:current
[100%] success: Published 13138ebf2da51426144f6f5f4f0ad197787f52aad8b6ceb26ecff68d33cd2b78:current
Ec2CdkStack: creating CloudFormation changeset...
✅ Ec2CdkStack
Outputs:
Ec2CdkStack.DownloadKeyCommand = aws secretsmanager get-secret-value --secret-id ec2-ssh-key/cdk-keypair/private --query SecretString --output text > cdk-key.pem && chmod 400 cdk-key.pem
Ec2CdkStack.IPAddress = 54.75.32.202
Ec2CdkStack.sshcommand = ssh -i cdk-key.pem -o IdentitiesOnly=yes ec2-user@54.75.32.202
Stack ARN:
arn:aws:cloudformation:eu-west-1:123456789012:stack/Ec2CdkStack/c8bde0b0-16ed-11ec-a147-0a4fed479a1b
これで、アプリケーションはデプロイされました。最下部のアウトプットを使用して SSH キーをダウンロードすることができます。必要であれば EC2 インスタンスにアクセスすることもできます。また、上部にプリントされた IP を貼り付けてブラウザでアプリケーションにアクセスすることもできます。
まとめ
このモジュールでは、CDK をアカウントにブートストラップし、それを使用してインフラストラクチャとウェブアプリケーションをデプロイする方法を説明しました。次のモジュールでは、このガイドで作成された全てのリソースをクリーンアップします。
次回: リソースをクリーンアップする