amazon-web-services - 如何使用 AWS CloudFormation 模板将 AWS S3 存储桶映射到 AWS ECS 上的容器中?

标签 amazon-web-services amazon-s3 aws-cloudformation amazon-ecs docker-container

我正在 Linux 上使用 Asterisk 开发 VOIP 项目。我们当前的目标是让多台 EC2 机器在每台机器上运行 Asterisk 容器,并且我们希望能够拥有开发、登台和生产环境。为此,我正在编写一个 CloudFormation 模板来使用 AWS-ECS。 我的问题是我找不到将 AWS-S3 存储桶映射到容器卷的正确方法。我想使用 2 个不同的桶。一种用于将 Asterisk 配置文件注入(inject)所有容器。另一种用于保存所有容器的语音消息和日志。

谢谢

附注我已将我的 Asterisk 镜像推送到 AWS-ECR 上,并在 TaskDefenition 中引用它。我在那里看到了 MountPoints 和 Volumes,但它们似乎不是我的解决方案。

最佳答案

您可以尝试在任务定义中使用环境变量吗?

在CF模板中它会是这样的:

"DefJob":{
     "Type":"AWS::ECS::TaskDefinition",
     "Properties":{
        "ContainerDefinitions":[
           {
              "Name":"integration-jobs",
              "Cpu":"3096",
              "Essential":"true",
              "Image":"828387064194.dkr.ecr.us-east-1.amazonaws.com/poblano:integration",
              "Memory":"6483",
              "Environment":[
                 {
                    "Name":"S3_REGION",
                    "Value":"us-east-1"
                 },
                 {
                     "Name":"S3_BUCKET"
                     "Value":"Name-of-S3"
                  }
                  ........

然后在容器中引用这些环境变量以使用这些 S3 存储桶。您必须确保您的实例有权使用这些 S3 存储桶。

谢谢, 曼尼什

关于amazon-web-services - 如何使用 AWS CloudFormation 模板将 AWS S3 存储桶映射到 AWS ECS 上的容器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40097418/

相关文章:

amazon-web-services - AWS CloudSearch 是否有默认词干和同义词?

amazon-web-services - 在 cloudformation 模板中使用 env 变量

ios - 亚马逊网络服务 S3 超时

amazon-web-services - AWS 状态中 If 条件的替代

amazon-web-services - AWS - Cloudformation RDS 资源创建错误 - 数据库实例不稳定

amazon-web-services - 如何从 AWS::Serverless::Function (SAM) 输出 api 资源 arns?

python-3.x - 如何使用 AWS Lambda 在 AWS Sagemaker 中远程启动 Jupyter Notebook

linux - 如何选择 Amazon Machine Image(linux 发行版)到 AWS EC2?

amazon-web-services - 如何使用 Powershell 访问 Transfer Accelerated S3 存储桶

python - AWS lambda s3文件解压缩python中的文件名问题