CloudFormation で ECS クラスターを使用して OpsWorks レイヤーをセットアップする方法がわかりません。以下のエラーが原因でレイヤーの作成が失敗しますが、クラスターをテンプレートのスタックに登録する明確な方法がないようです。スタックとレイヤーの両方に追加しようとしEcsClusterArn
ましたが、うまくいきませんでした。API にはコマンドがありますが、テンプレートにすべてを含めたいと思います。
エラー:
Attributes - EcsClusterArn: XXX must be registered to the layer's stack first.
テンプレートのスニペット:
"ecsCluster" : {
"Type" : "AWS::ECS::Cluster"
},
...
"opsworksStack" : {
"Type" : "AWS::OpsWorks::Stack",
"Properties" : {
"Name" : "my-stack",
"ServiceRoleArn" : {
"Fn::Join" : [ "", [ "arn:aws:iam::", {
"Ref" : "AWS::AccountId"
}, ":role/", {
"Ref" : "ServiceRole"
} ] ]
},
"DefaultInstanceProfileArn" : {
"Fn::Join" : [ "", [ "arn:aws:iam::", {
"Ref" : "AWS::AccountId"
}, ":instance-profile/", {
"Ref" : "InstanceRole"
} ] ]
},
"UseOpsworksSecurityGroups" : "false",
"ChefConfiguration" : {
"BerkshelfVersion" : "3.3.0",
"ManageBerkshelf" : "true"
},
"ConfigurationManager" : {
"Name" : "Chef",
"Version" : "11.10"
}
}
},
"opsworksLayer" : {
"Type" : "AWS::OpsWorks::Layer",
"DependsOn" : "ecsCluster",
"Properties" : {
"StackId" : {
"Ref" : "opsworksStack"
},
"Type" : "ecs-cluster",
"Name" : "my-layer",
"Shortname" : "my-layer",
"Attributes" : {
"EcsClusterArn" : {
"Fn::Join" : [ "", [ "arn:aws:ecs:", {
"Ref" : "AWS::Region"
}, ":", {
"Ref" : "AWS::AccountId"
}, ":cluster/", {
"Ref" : "ecsCluster"
} ] ]
}
},
"CustomSecurityGroupIds" : [ {
"Ref" : "ec2DefaultSecurityGroup"
} ],
"EnableAutoHealing" : "true",
"AutoAssignElasticIps" : "false",
"AutoAssignPublicIps" : "false",
"InstallUpdatesOnBoot" : "true"
}
}
ありがとう、ティエン