以下CloudFormation脚本创建任务定义,但似乎未正确创建容器定义。谁能告诉我为什么?
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "Test stack for troubleshooting task creation",
"Parameters": {
"TaskFamily": {
"Description": "The task family to associate the task definition with.",
"Type": "String",
"Default": "Dm-Testing"
}
},
"Resources": {
"TaskDefinition": {
"Type": "AWS::ECS::TaskDefinition",
"Properties": {
"Family": {
"Ref": "TaskFamily"
},
"RequiresCompatibilities": [
"EC2"
],
"ContainerDefinitions": [
{
"Name": "sample-app",
"Image": "nginx",
"Memory": 200,
"Cpu": 10,
"Essential": true,
"Environment": [
{
"Name": "SOME_ENV_VARIABLE",
"Value": "SOME_VALUE"
}
]
}
]
}
}
}
}
当我查看创建的任务时,aws中的任务定义的构建器视图中没有列出容器。
但是,信息在任务定义的json选项卡下列出:
请注意,上图是显示的信息的子集,并非全部。
其结果是,当任务在集群中运行时,它确实运行了映像,但是在未应用环境变量的情况下运行了该映像。此外,在创建此堆栈或运行创建的任务时,CF不会报告任何错误。
最后,CloudFormation脚本是“真实”脚本的简化示例,该脚本已开始出现相同的问题。该脚本已经运行了大约一年了,据我所知,在工作和中断之间,该脚本没有任何变化。
如果对此有任何想法或建议,我将不胜感激,因为我的脸因砸在这堵特殊的墙上而开始受到伤害。
答案 0 :(得分:0)
事实证明,这是cloudformation中的错误,仅在通过aws控制台使用脚本创建任务定义时才会发生。亚马逊现在已经解决了这个问题。