在 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 之前,您需要先对其进行引导启动 - 这将为 CDK 创建所需的基础设施,以管理您账户中的基础设施。要引导启动 CDK,请运行 cdk bootstrap。 

您应会收到类似如下的输出:

cdk bootstrap

#output
⏳  Bootstrapping environment aws://0123456789012/<region>...
✅  Environment aws://0123456789012/<region> bootstrapped

部署堆栈

引导启动完成后,您将运行 cdk deploy 来部署您创建的所有基础设施。您将看到以下输出和确认屏幕。

由于我们的堆栈具有安全影响,您将看到这些内容的摘要,并需要在部署之前进行确认。

gsg-build-ec2-1

输入 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 应用程序。在下一个模块中,您将清理本指南中创建的所有资源。

下一模块:清理资源

请就我们的表现提供反馈。

感谢您的反馈
很高兴此页面对您有所帮助。您是否乐意分享更多详细信息,以帮助我们继续改进?
关闭
感谢您的反馈
很抱歉,此页面未能帮到您。您是否乐意分享更多详细信息,以帮助我们继续改进?
关闭