Amazon Relational Database Operations
Jump to navigation
Jump to search
Internal
Create a Database Instance with CloudFormation
AWS::RDS::DBInstance
Resources: PostgresDBInstance: Type: AWS::RDS::DBInstance DeletionPolicy: Delete Properties: DBName: themyscira01 DBInstanceIdentifier: !Sub ${EnvironmentName}-${MicroworldName}-postgres AllocatedStorage: 8 DBInstanceClass: db.t2.micro Engine: postgres EngineVersion: 9.4.20 MasterUsername: bn73hewc MasterUserPassword: ce75h9w0 # # This is what configures the DB instance to be deployed in a specific VPC. See VPC Association. # DBSubnetGroupName: !Ref PostgresSubnetGroup VPCSecurityGroups: - !Ref PostgresSecurityGroup Tags: - Key: Name Value: !Sub ${EnvironmentName}-${MicroworldName}-postgres
For details on DBSubnetGroupName and VPCSecurityGroups, see:
Return Values
Ref
Returns instance identifier (DBInstanceIdentifier).
GetAtt
- Endpoint.Address returns the connection endpoint for the database (e.g. mystack-mydb-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com)
- Endpoint.Port
Examples
PostgreSQL
Resources
PostgresDBInstance:
Type: AWS::RDS::DBInstance
DeletionPolicy: Delete
Properties:
#
# We create just the first database of the environment, if we need more, we need to create them
# interactively, as CloudFormation does not support this
#
DBName: !Ref FirstPostgresDatabaseName
DBInstanceIdentifier: !Sub ${EnvironmentName}-${MicroworldName}-postgres
AllocatedStorage: 8
DBInstanceClass: db.t2.micro
Engine: postgres
EngineVersion: 9.4.20
MasterUsername: !Ref PostgreSQLUsername
MasterUserPassword: !Ref PostgreSQLPassword
DBSubnetGroupName: !Ref PostgresSubnetGroup
VPCSecurityGroups:
- !Ref PostgresSecurityGroup
Tags:
- Key: Name
Value: !Sub ${EnvironmentName}-${MicroworldName}-postgres
SQL Server
AWS::RDS::DBSubnetGroup
Resources: PostgresSubnetGroup: Type: AWS::RDS::DBSubnetGroup Properties: DBSubnetGroupDescription: !Sub The subnet group used by the ${MicroworldName}/${EnvironmentName} environment PostgreSQL instance DBSubnetGroupName: !Sub ${MicroworldName}-${EnvironmentName}-postgres-subnet-group SubnetIds: - !Ref PostgresSubnet1 - !Ref PostgresSubnet2 Tags: - Key: Name Value: !Sub ${MicroworldName}-${EnvironmentName}-postgres-subnet-group
Deploying a RDS Instance into a Specific VPC
PostgreSQL Operations
psql --host=test-rds-01.asxqzuh7ivbrb.us-east-1.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=postgres