2016-08-31 6 views
0

AWSリソースAWS::ApplicationAutoScaling::ScalableTargetでは、スケーラブルターゲットに関連付けられた一意のリソース識別子であるResourceIdの値を取得するにはどうすればよいですか?スケーラブルターゲットのResourceIdを取得する

ResourceIdプロパティで使用される形式はservice/cluster_name/service_nameです。

答えて

0

Iは{ "Fnは::参加":[ ":"、[ "A"、 "B"、 "C"] "}使用RESOURCEID "の値を取得するために、"

0

。 。あなたは、ちなみに

RESOURCEIDプロパティは、フォーム service/<cluster_name>/<service_name>でなければならないことを正しい(と将来のGooglerを助けるために)間違った ResourceIdまたは ScalableDimensionを使用するときに取得エラーメッセージは次のとおりです。サポートされていない

サービスネームスペース、リソースタイプまたはスケーラブルなディメンション

CloudFormationでこれを達成するには、にFn::Joinを使用できます。以下は、私が使用しているScalableターゲットのスニペットです:

"ECSServiceScalableTarget": { 
    "Type": "AWS::ApplicationAutoScaling::ScalableTarget", 
    "Properties": { 
     "MaxCapacity": 5, 
     "MinCapacity": 1, 
     "ResourceId": { "Fn::Join" : ["/", [ 
      "service", 
      { "Ref": "ECSCluster" }, 
      { "Fn::GetAtt" : ["ECSService", "Name"] } 
     ]]}, 
     "RoleARN": { "Fn::Join" : ["", ["arn:aws:iam::", { "Ref" : "AWS::AccountId" }, ":role/ApplicationAutoscalingECSRole"]]}, 
     "ScalableDimension": "ecs:service:DesiredCount", 
     "ServiceNamespace": "ecs" 
    } 
} 
関連する問題