2017-07-12 8 views
0

パラメータがほとんどない単純な雲のテンプレートを作成しました。すべてのパラメータが機能します。しかし、私が可用性ゾーンを通過すると、テンプレートは作成中に "有効な可用性ゾーンではない"というエラーを出します。ここに私のエラーと以下のコードは次のとおりです。EC2インスタンスの雲情報 - 可用性ゾーンがパラメータとして渡されます

午前11時48分47秒UTC-0700 CREATE_FAILED AWS :: EC2 ::インスタンスEC2Instance無効なアベイラビリティゾーン:

{ 
     "AWSTemplateFormatVersion": "2010-09-09", 
     "Description": "EC2 Head Node Instance ", 
     "Parameters": { 
       "AZ": { 
       "Description": "Availablity Zone", 
       "Type": "String" 

    }, 
    "Region":{ 
     "Description": "Dev/Test/Prod regions", 
     "Type": "String" 
    }, 
    "AMI": { 
     "Description": "AMI to start virtual server", 
     "Type": "String", 
     "MaxLength": 12, 
     "MinLength": 12 
    }, 

    "Subnet": { 
     "Description": "subnet to launch virtual server in", 
     "Type": "AWS::EC2::Subnet::Id" 
    } 

}, 
"Resources": { 
    "EC2Instance": { 
     "Type": "AWS::EC2::Instance", 
     "Properties": { 
      "ImageId": {"Ref": "AMI"}, 
      "SubnetId": {"Ref": "Subnet"}, 
      "AvailabilityZone": {"Ref":"AZ"}, 
      "Tags": [ 
       { 
        "Key": "Name", 
        "Value": "QRM Head Node in DEV region" 
       } 
      ] 
      } 
     } 

}, 
"Outputs": { 
    "InstanceId": { 
     "Value": {"Ref": "EC2Instance"}, 
     "Description": "ID of virtual server" 
    }, 

    "PublicIPAddress": { 
     "Value": {"Fn::GetAtt": ["EC2Instance", "PublicIp"]}, 
     "Description": "public IP address of virtual server" 
    } 
} 

}

+1

あなたは本当にVPC内のサブネットに複数のAZSにまたがることはできません、あなたのCloudFormationテンプレートのパラメータとしてアベイラビリティゾーンは必要ありません。私は、エラーは、たとえば、eu-west-1aやeu-west-1cなどのサブネットなどの可用性ゾーンを選択したことに起因すると仮定しています。 CloudFormationは地域サービスでありグローバルではないので、Regionパラメータも不要です。 –

+0

ありがとうMichal – Jason

答えて

0

だけに、あなたのパラメータを変更します:あなたにもパラメータとしてサブネットIDを持っているので

"Parameters": { 
    "AZ": { 
     Description": "Availability Zone of the Subnet", 
     "Type": "AWS::EC2::AvailabilityZone::Name" 
    }, 
    .... 
}