2017-01-09 42 views
1

このAWS CloudFormationがロールバックを継続する理由は何ですか?パラメータの検証に失敗しました:パラメータ名<some parameter>のパラメータ値が存在しません。ユーザーからロールバックが要求されました

{ 
    "Description" : "Single Instance", 

    "Resources" : { 
     "EC2Instance" : { 
      "Type" : "AWS::EC2::Instance", 
      "Properties" : { 
       "ImageId" : "ami-b73b63a0", 
       "InstanceType" : "t2.micro", 
       "KeyName" : "aws-key-here", 
       "Tags" : [ 
        { 
         "Key" : "Name", 
         "Value" : "test" 
        } 
        ], 
       "SubnetId" : { 
        "Fn::Select" : [ "0", { "Ref" : "Subnets" } ] 
       } 
      } 
     } 
    }, 

    "Parameters": { 
     "Subnets": { 
      "Type": "List<AWS::EC2::Subnet::Id>", 
      "Description": "The list of SubnetIds, for at least two Availability Zones in the region in your Virtual Private Cloud (VPC)" 
     } 
    } 
} 

特定のエラーは、サブネット参考程度のようだ:

Parameter validation failed: parameter value for parameter name Subnets does not exist. Rollback requested by user. 

私はすでに私のAWS Management Consoleの1つの有効なサブネットを作成し、手動でEC2インスタンスをスピンアップするとき、それが動作することをテストしています。

これをデバッグする方法や、より詳細な出力を得る方法はありますか?

+0

実行すると、サブネットの選択肢の一覧が表示されますか? –

+0

いいえちょうどそのエラー – Snowcrash

答えて

0

テンプレート内ののタイプはList<AWS::EC2::Subnet::Id>です。有効なサブネットIDのリストを参照する必要があります。表示されているエラーは、少なくとも1つの無効なサブネットIDをSubnetパラメータに渡したことを意味します。

あなたがaws cloudformation create-stackを使用してAWS CLIからあなたのスタックを展開している場合は、--parameters ParameterKey=Subnets,ParameterValue=subnet-12345678オプションを使用して、有効なパラメータ値を渡す必要があります。

管理コンソールからデプロイする場合は、提供されたダイアログを使用してspecify stack parametersに移動し、ドロップダウンリストから[サブネットID]を選択する必要があります。

+0

管理コンソールからデプロイする場合、CloudFormationテンプレートを介してどのサブネットIDを利用できるかを確認する方法はありませんか? (つまり、ドロップダウンリストにサブネットIDを指定しないで) – Snowcrash

+0

管理コンソールでパラメータ用に表示されるドロップダウンリストには、使用可能なサブネットIDのみが含まれている必要があります。これ以外に、サブネットIDがユーザのアカウントから利用可能なリストを取得する別の(あまり便利でない)方法は、AWS CLIから 'aws ec2 describe-subnets --queryサブネット[]。SubnetId --output text'を呼び出すことです、または他のAWS SDKの同等の機能 – wjordan

+0

はい、その仕事をしました。ありがとう。 – Snowcrash

関連する問題