我正在 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/