Deploying a RDS Instance into a Specific VPC: Difference between revisions
Jump to navigation
Jump to search
Line 19: | Line 19: | ||
The subnet does not need a route to the internet. | The subnet does not need a route to the internet. | ||
<syntaxhighlight lang='yaml'> | |||
# | |||
# PostgreSQL Instance | |||
# | |||
PostgresSubnet: | |||
Type: AWS::EC2::Subnet | |||
Properties: | |||
VpcId: | |||
Fn::ImportValue: !Sub ${MicroworldName}-vpc-id | |||
CidrBlock: !Ref PostgreSQLCIDRBlock | |||
# | |||
# We do not explicitly associate the subnet with any availability zone, because we really don't care | |||
# about this, for the RDS instance. In case of the main private subnets of the environment we did, | |||
# as the ALB won't start if the subnets are in the same availability zone. | |||
# | |||
MapPublicIpOnLaunch: false | |||
Tags: | |||
- Key: Name | |||
Value: !Sub ${MicroworldName}-${EnvironmentName}-postgres-subnet | |||
PostgresRouteTable: | |||
Type: AWS::EC2::RouteTable | |||
Properties: | |||
VpcId: | |||
Fn::ImportValue: !Sub ${MicroworldName}-vpc-id | |||
Tags: | |||
- Key: Name | |||
Value: !Sub ${MicroworldName}-${EnvironmentName}-postgres-subnet-rt | |||
PostgresRouteTableAssociation: | |||
Type: AWS::EC2::SubnetRouteTableAssociation | |||
Properties: | |||
RouteTableId: !Ref PostgresRouteTable | |||
SubnetId: !Ref PostgresSubnet | |||
</syntaxhighlight> | |||
3. Create a DB subnet Group. | 3. Create a DB subnet Group. |
Revision as of 18:47, 17 April 2019
External
Internal
Procedure
The deployment of a RDS instance in a specific VPC consists in the following steps:
1. Create a VPC security group for the RDS instance.
2. Create a dedicated subnet.
This is optional, and it's probably best to do for the clarity of the solution, but it's probably not necessary.
The subnet does not need a route to the internet.
#
# PostgreSQL Instance
#
PostgresSubnet:
Type: AWS::EC2::Subnet
Properties:
VpcId:
Fn::ImportValue: !Sub ${MicroworldName}-vpc-id
CidrBlock: !Ref PostgreSQLCIDRBlock
#
# We do not explicitly associate the subnet with any availability zone, because we really don't care
# about this, for the RDS instance. In case of the main private subnets of the environment we did,
# as the ALB won't start if the subnets are in the same availability zone.
#
MapPublicIpOnLaunch: false
Tags:
- Key: Name
Value: !Sub ${MicroworldName}-${EnvironmentName}-postgres-subnet
PostgresRouteTable:
Type: AWS::EC2::RouteTable
Properties:
VpcId:
Fn::ImportValue: !Sub ${MicroworldName}-vpc-id
Tags:
- Key: Name
Value: !Sub ${MicroworldName}-${EnvironmentName}-postgres-subnet-rt
PostgresRouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
RouteTableId: !Ref PostgresRouteTable
SubnetId: !Ref PostgresSubnet
3. Create a DB subnet Group.
See:
4. Configure the RDS instance with all of the above.
See: