首页 > 解决方案 > 在部署期间将文件上传到 S3

问题描述

我想在部署过程中创建一个桶,但是当我这样做时,会出现资产问题,“必须有值”。所以我决定创建一个不同的堆栈来仅上传文件和其他堆栈来部署 EC2 实例。所以,当我使用这种方法时,EC2.UserData 没有找到 S3 上的文件来下载它们。我需要这个文件来配置我的实例。我可以在部署 EC2 之前手动创建 S3,但我想自动化这个过程。我怎么能做到这一点?

标签: amazon-web-servicesaws-cdk

解决方案


您可以执行以下操作:

  1. 创建 2 个单独的堆栈(我们将它们称为s3Stackec2Stack
  2. 添加ec2Stack.addDependency(s3Stack)创建这些堆栈的位置
  3. 在 s3 堆栈中,创建存储桶并使用aws-s3-deployment上传资产
  4. 授予 ec2 实例权限以从之前创建的存储桶中获取必要的文件。

这将确保您只需一个命令即可部署所有内容cdk deploy ec2Stack。它将检查是否需要首先创建/更新 s3Stack,并且只有在这些更新完成后,您的 ec2Stack 才会被部署。


推荐阅读