在 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 在瀏覽器中存取該應用程式。