在 Amazon EC2 上部署 Web 應用程式

入門指南

單元 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 之前,它需要進行 Bootstrap - 這將建立 CDK 的必要基礎設施,以在您的帳戶中管理基礎設施。若要 Bootstrap 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 自舉到您的帳戶,並使用它來部署基礎設施和 Web 應用程式。在下一個單元中,您將清理本指南中建立的所有資源。

下一步:清理資源

讓我們知道我們做的如何。