写真に示すように、VPCを作成しようとしているAwsクラウド形成を学習しようとしています。3 つのパブリック サブネット、プライベート サブネット、natgateway および Internetgateway とパブリックおよびプライベート ルート テーブルが含まれています。 テンプレートを作成しましたが、雲の形成にスタックを作成しようとするとエラーが発生します
"The elastic-ip ID 'xx.xxx.xx.xxx' is malformed (Service: AmazonEC2; Status Code: 400; Error Code: InvalidElasticIpID.Malformed; Request ID: 2e3a9f8c-5a7e-482e-869c-8a0e46a08f27; Proxy: null)"
. Elastic IP を NatGateway にアタッチしようとすると、上記のエラーが発生します。これを行う方法を教えてください。
{
{
"AWSTemplateFormatVersion": "2010-09-09",
"Resources": {
"ExampleEc2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"InstanceType": "t2.micro",
"ImageId" : "ami-047a51fa27710816e",
"AvailabilityZone" : "us-east-1a",
"SecurityGroupIds" : [{
"Ref":"ExampleSecurityGroup"
}],
"SubnetId" : {
"Ref":"public2A"
}
}
},"ExampleEc2InstancePrivate": {
"Type": "AWS::EC2::Instance",
"Properties": {
"InstanceType": "t2.micro",
"ImageId" : "ami-047a51fa27710816e",
"AvailabilityZone" : "us-east-1a",
"SecurityGroupIds" : [{
"Ref":"ExampleSecurityGroup"
}],
"SubnetId" : {
"Ref":"private2A"
}
}
},
"public2A":{
"Type" : "AWS::EC2::Subnet",
"Properties":{
"AvailabilityZone" : "us-east-1a",
"CidrBlock" : "10.0.2.0/24",
"Tags" : [{"Key" : "public2A", "Value" : "public2A"}],
"VpcId" : {
"Ref":"ExampleVpcId"
}
}
},"public2B":{
"Type" : "AWS::EC2::Subnet",
"Properties":{
"AvailabilityZone" : "us-east-1a",
"CidrBlock" : "10.0.3.0/24",
"Tags" : [{"Key" : "public2B", "Value" : "public2B"}],
"VpcId" : {
"Ref":"ExampleVpcId"
}
}
},
"public2C":{
"Type" : "AWS::EC2::Subnet",
"Properties":{
"AvailabilityZone" : "us-east-1a",
"CidrBlock" : "10.0.1.0/24",
"Tags" : [{"Key" : "public2C", "Value" : "public2C"}],
"VpcId" : {
"Ref":"ExampleVpcId"
}
}
},"private2A":{
"Type" : "AWS::EC2::Subnet",
"Properties":{
"AvailabilityZone" : "us-east-1a",
"CidrBlock" : "10.0.5.0/24",
"Tags" : [{"Key" : "private2A", "Value" : "private2A"}],
"VpcId" : {
"Ref":"ExampleVpcId"
}
}
},"private2B":{
"Type" : "AWS::EC2::Subnet",
"Properties":{
"AvailabilityZone" : "us-east-1a",
"CidrBlock" : "10.0.6.0/24",
"Tags" : [{"Key" : "private2B", "Value" : "private2B"}],
"VpcId" : {
"Ref":"ExampleVpcId"
}
}
},
"private2C":{
"Type" : "AWS::EC2::Subnet",
"Properties":{
"AvailabilityZone" : "us-east-1a",
"CidrBlock" : "10.0.7.0/24",
"Tags" : [{"Key" : "private2C", "Value" : "private2C"}],
"VpcId" : {
"Ref":"ExampleVpcId"
}
}
},
"privateRT":{
"Type" : "AWS::EC2::RouteTable",
"Properties" : {
"Tags" : [{"Key" : "privateRT", "Value" : "privateRT"}],
"VpcId" : {
"Ref":"ExampleVpcId"
}
}
},
"publicRT":{
"Type" : "AWS::EC2::RouteTable",
"Properties" : {
"Tags" : [{"Key" : "publicRT", "Value" : "publicRT"}],
"VpcId" : {
"Ref":"ExampleVpcId"
}
}
},
"public2ARouteTableAssociation" : {
"Type" : "AWS::EC2::SubnetRouteTableAssociation",
"Properties" : {
"SubnetId" : { "Ref" : "public2A" },
"RouteTableId" : { "Ref" : "publicRT" }
}
},
"public2BRouteTableAssociation" : {
"Type" : "AWS::EC2::SubnetRouteTableAssociation",
"Properties" : {
"SubnetId" : { "Ref" : "public2B" },
"RouteTableId" : { "Ref" : "publicRT" }
}
},
"public2CRouteTableAssociation" : {
"Type" : "AWS::EC2::SubnetRouteTableAssociation",
"Properties" : {
"SubnetId" : { "Ref" : "public2C" },
"RouteTableId" : { "Ref" : "publicRT" }
}
},
"private2ARouteTableAssociation" : {
"Type" : "AWS::EC2::SubnetRouteTableAssociation",
"Properties" : {
"SubnetId" : { "Ref" : "private2A" },
"RouteTableId" : { "Ref" : "privateRT" }
}
},
"private2BRouteTableAssociation" : {
"Type" : "AWS::EC2::SubnetRouteTableAssociation",
"Properties" : {
"SubnetId" : { "Ref" : "private2B" },
"RouteTableId" : { "Ref" : "privateRT" }
}
},
"private2CRouteTableAssociation" : {
"Type" : "AWS::EC2::SubnetRouteTableAssociation",
"Properties" : {
"SubnetId" : { "Ref" : "private2C" },
"RouteTableId" : { "Ref" : "privateRT" }
}
},
"myVpcInternetGateWay":{
"Type" : "AWS::EC2::InternetGateway",
"Properties" : {
"Tags" : [{"Key" : "myVpcInternetGateWay", "Value" : "myVpcInternetGateWay"}]
}
},
"myVpcInternetGateWayRoute":{
"Type" : "AWS::EC2::Route",
"Properties" : {
"DestinationCidrBlock" : "0.0.0.0/0",
"GatewayId" : {"Ref":"myVpcInternetGateWay"},
"RouteTableId" : {"Ref":"publicRT"}
}
},
"myVpcInternetGateWayAttachement":{
"Type" : "AWS::EC2::VPCGatewayAttachment",
"Properties" : {
"InternetGatewayId" : {"Ref":"myVpcInternetGateWay"},
"VpcId" : {"Ref":"ExampleVpcId"}
}
},
"myNatGateWay":{
"Type" : "AWS::EC2::NatGateway",
"Properties" : {
"AllocationId" : {"Ref":"myElasticIP"},
"SubnetId" :{"Ref":"public2A"},
"Tags" : [{"Key" : "myNatGateWay", "Value" : "myNatGateWay"}]
}
},"myVpcNatGatWayRoute":{
"Type" : "AWS::EC2::Route",
"Properties" : {
"DestinationCidrBlock" : "0.0.0.0/0",
"GatewayId" : {"Ref":"myNatGateWay"},
"RouteTableId" : {"Ref":"privateRT"}
}
},
"myElasticIP":{
"Type" : "AWS::EC2::EIP",
"Properties" : {
"Domain" : "VPC",
"Tags" : [{"Key" : "myElasticIP", "Value" : "myElasticIP"}]
}
},
"ExampleSecurityGroup":{
"Type":"AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "Allow http to client host",
"GroupName" : "templateSecuritygrp",
"Tags" : [ {"Key" : "securityGroup", "Value" : "cloudformationSecurityGroup"} ],
"VpcId" : {
"Ref":"ExampleVpcId"
}
}
},
"ExampleSecurityGroupEgress" : {
"Type":"AWS::EC2::SecurityGroupEgress",
"Properties":{
"IpProtocol":"-1",
"FromPort":"-1",
"ToPort":"-1",
"DestinationSecurityGroupId":{
"Ref":"ExampleSecurityGroup"
},
"GroupId":{
"Ref":"ExampleSecurityGroup"
}
}
},
"ExampleSecurityGroupIngress" :{
"Type":"AWS::EC2::SecurityGroupIngress",
"Properties":{
"IpProtocol":"-1",
"FromPort":"-1",
"ToPort":"-1",
"SourceSecurityGroupId":{
"Ref":"ExampleSecurityGroup"
},
"GroupId":{
"Ref":"ExampleSecurityGroup"
}
}
},
"ExampleVpcId":{
"Type":"AWS::EC2::VPC",
"Properties" : {
"CidrBlock" : "10.0.0.0/16",
"EnableDnsSupport" : "false",
"EnableDnsHostnames" : "false",
"InstanceTenancy" : "default",
"Tags" : [ {"Key" : "tmpltVPC", "Value" : "firstVpc"}]
}
}
}
}
}