【发布时间】:2019-12-29 06:57:08
【问题描述】:
对于以下 MySQL 数据库实例,使用以下模板创建:
DbInstance:
Type: "AWS::RDS::DBInstance"
Properties:
DBSubnetGroupName: { "Ref": "DbSubnetGroup" }
MultiAZ: "true"
AvailabilityZone: { "Ref": "DbAvailabilityZone" }
AllocatedStorage: 8
StorageType: "gp2"
DBInstanceClass: "db.t2.micro"
DBName: "someapp"
Engine: "MySQL"
EngineVersion: "5.6"
MasterUsername: { "Ref": "DbUsername" }
MasterUserPassword: { "Ref": "DbPassword" }
VPCSecurityGroups:
- { "Ref": "DbSecurityGroup" }
Tags:
- Key: "Name"
Value: { "Fn::Join": ["", [ { "Ref": "AWS::StackName" }, "-db" ] ] }
DbSecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
GroupDescription: "someapp DB Security Group"
VpcId: { "Ref": "VpcId" }
SecurityGroupIngress:
- IpProtocol: "tcp"
FromPort: "3306"
ToPort: "3306"
SourceSecurityGroupId: { "Ref": "EC2InstanceSecurityGroup" }
DbSubnetGroup:
Type: "AWS::RDS::DBSubnetGroup"
Properties:
DBSubnetGroupDescription: "someapp DB Subnet Group"
SubnetIds: { "Ref": "DbSubnets" }
Tags:
- Key: "Name"
Value: { "Fn::Join": ["", [ { "Ref": "AWS::StackName" }, "-db-subnet-group" ] ] }
我的理解是,
RDS 是一台计算机(EC2 实例),其中将在"DbSubnetGroup" 的每个子网上启动一个 EC2 实例。
这台计算机是"db.t2.micro" EC2 实例类型。
每台计算机将托管一个 MySQL 数据库实例 (someapp)。
"DbSubnetGroup" 中的多个子网可以位于相同或不同的可用区,因为MultiAZ: "true"
如果这是正确的理解,那么,
是否将DbSecurityGroup 分配给"db.t2.micro" 的每个EC2 实例类型(DBInstanceClass)?
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-rds