私はAmazonサービス、特にCloudFormationが初めてです。
そのため、Amazonサイトの「Getting Started with CloudFormation」から読み始めました http://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/GettingStarted.html 現在、起動例CloudFormationテンプレート https://s3.amazonaws.com/cloudformation-templates-us-east-1/WordPress_Single_Instance_With_RDS.template Wikiの概要で説明されているように。
しかし、デフォルトのVPCを削除して新しいもの(10.0.0.0/16)を追加し、その中に新しいサブネットを作成する前に-10.0.0.0/24。 AWSのドキュメントによると、自分のVPCをデフォルトとして設定できず、上記のCloudFormationテンプレートを起動できず、そのようなエラーが表示されます。
AWSのページによると https://aws.Amazon.com/premiumsupport/knowledge-center/cloudformation-cloudformer-default-vpc/ 新しいVPCの説明でこの問題を解決できますが、わかりませんなぜこれを正しく行うのか。
多分あなたは私を助けることができますか?
削除したデフォルトのVPCを引き続き使用する場合は、AWSサポートに連絡して再度作成する必要があります。使用しているテンプレートのAWSリソースは、それに依存しています。
それ以外の場合は、デフォルト以外のVPCで使用できるように少しカスタマイズする必要があります。提案された変更があります:
0)VPC IDとサブネットIDをCloudFormationパラメーターとして渡します。
"myVPC": {
"Description" : "Id of my VPC",
"Type" : "String",
"Default" : "vpc-XXXXXXXX"
},
"MySubnet": {
"Description" : "My subnet from my VPC",
"Type": "String",
"Default": "subnet-YYYYYYYY"
},
"RDSSubnets": {
"Description" : "RDS subnets from my VPC",
"Type": "CommaDelimitedList",
"Default": "subnet-YYYYYYY1,subnet-YYYYYY2"
},
1)セキュリティグループは、VPC IDで識別される新しいVPC内に作成する必要があります。
"DBSecurityGroup": {
"Type": "AWS::RDS::DBSecurityGroup",
"Properties": {
===>>> "EC2VpcId" : { "Ref" : "myVPC" }, <<<====
"DBSecurityGroupIngress": { "EC2SecurityGroupName": { "Ref": "WebServerSecurityGroup"} },
"GroupDescription" : "Frontend Access"
}
},
"WebServerSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
===>>> "VpcId" : {"Ref" : "myVPC"}, <<<====
"GroupDescription" : "Enable HTTP access via port 80 and SSH access",
"SecurityGroupIngress" : [
{"IpProtocol" : "tcp", "FromPort" : "80", "ToPort" : "80", "CidrIp" : "0.0.0.0/0"},
{"IpProtocol" : "tcp", "FromPort" : "22", "ToPort" : "22", "CidrIp" : { "Ref" : "SSHLocation"}}
]
}
}
2)VPCサブネット1を使用するようにEC2インスタンスを変更します。
"WebServer": {
"Type": "AWS::EC2::Instance",
...
"Properties": {
"SubnetId": { "Ref": "MySubnet1" },
...
3)RDS専用のVPCサブネットでRDS DBサブネットグループを作成します(VPCが存在するリージョンの少なくとも2つのアベイラビリティーゾーンのVPCにサブネットを作成する必要があります)。
"MyDBSubnetGroup" : {
"Type" : "AWS::RDS::DBSubnetGroup",
"Properties" : {
"DBSubnetGroupDescription" : "Subnets available for the RDS DB Instance",
"SubnetIds" : { "Ref" : "RDSSubnets" },
}
},
4)VDSサブネットとセキュリティグループを使用するようにRDSインスタンスを変更します(DBSecurityGroups
パラメーターをVPCSecurityGroups
に置き換えます):
"DBInstance" : {
"Type": "AWS::RDS::DBInstance",
"Properties": {
"DBSubnetGroupName" : { "Ref" : "MyDBSubnetGroup" },
"VPCSecurityGroups" : [ { "Ref" : "DBSecurityGroup" } ],
...
使用されているパラメーターの詳細については、AWSドキュメントをご覧ください。