Amazon Relational Database Operations: Difference between revisions
Jump to navigation
Jump to search
Line 112: | Line 112: | ||
- Key: Name | - Key: Name | ||
Value: !Sub ${MicroworldName}-${EnvironmentName}-postgres-subnet-group | Value: !Sub ${MicroworldName}-${EnvironmentName}-postgres-subnet-group | ||
=Delete a Database= | |||
aws rds delete-db-cluster --db-cluster-identifier <db-cluster-identifier> | |||
where <db-cluster-identifier> is the value of the DBClusterIdentifier from the <code>aws rds describe-db-clusters</code> operations. | |||
=Deploying a RDS Instance into a Specific VPC= | =Deploying a RDS Instance into a Specific VPC= |
Revision as of 00:36, 4 May 2023
Internal
Create a Database
From AWS Console
AWS Console → RDS → Create Database → Standard Create (Easy Create does not let choosing the VPC)
PostgreSQL
Templates: Free tier
DB instance identifier: test-db (this is not an individual database name, and it will show up in the DNS name of the database)
Master username. More details about PostgreSQL master user.
Connectivity
Virtual private cloud (VPC)
Database authentication: Password authentication.
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
Delete a Database
aws rds delete-db-cluster --db-cluster-identifier <db-cluster-identifier>
where <db-cluster-identifier> is the value of the DBClusterIdentifier from the aws rds describe-db-clusters
operations.
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
More details: