Amazon Relational Database Operations: Difference between revisions
Jump to navigation
Jump to search
Line 41: | Line 41: | ||
* Endpoint.Address returns the connection endpoint for the database (e.g. mystack-mydb-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com) | * Endpoint.Address returns the connection endpoint for the database (e.g. mystack-mydb-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com) | ||
* Endpoint.Port | * Endpoint.Port | ||
===Examples=== | |||
====PostgreSQL=== | |||
<syntaxhighlight lang='yaml'> | |||
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 | |||
</syntaxhighlight> | |||
====SQL Server=== | |||
<syntaxhighlight lang='yaml'> | |||
</syntaxhighlight> | |||
==AWS::RDS::DBSubnetGroup== | ==AWS::RDS::DBSubnetGroup== |
Revision as of 04:57, 18 April 2019
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