Create RDS Multi AZ
Aurora MySQL 5.7
Engine Version
5.7.mysql_aurora.2.07.05.7.mysql_aurora.2.07.15.7.mysql_aurora.2.07.25.7.mysql_aurora.2.07.35.7.mysql_aurora.2.07.45.7.mysql_aurora.2.07.55.7.mysql_aurora.2.07.65.7.mysql_aurora.2.07.75.7.mysql_aurora.2.07.85.7.mysql_aurora.2.07.95.7.mysql_aurora.2.11.15.7.mysql_aurora.2.11.2
Instance Type
r3 series
db.r3.largedb.r3.xlargedb.r3.2xlargedb.r3.4xlargedb.r3.8xlarge
r4 series
db.r4.largedb.r4.xlargedb.r4.2xlargedb.r4.4xlargedb.r4.8xlargedb.r4.16xlarge
r5 series
db.r5.largedb.r5.xlargedb.r5.2xlargedb.r5.4xlargedb.r5.8xlargedb.r5.12xlargedb.r5.16xlargedb.r5.24xlarge
r6g series
db.r6g.largedb.r6g.xlargedb.r6g.2xlargedb.r6g.4xlargedb.r6g.8xlargedb.r6g.12xlargedb.r6g.16xlarge
r6i series
db.r6i.largedb.r6i.xlargedb.r6i.2xlargedb.r6i.4xlargedb.r6i.8xlargedb.r6i.12xlargedb.r6i.16xlargedb.r6i.24xlargedb.r6i.32xlarge
t2 series
db.t2.smalldb.t2.mediumdb.t2.large
t3 series
db.t3.smalldb.t3.mediumdb.t3.large
t4g series
db.t4g.mediumdb.t4g.large
Commands
STACK_NAME=""
PROJECT_NAME=""
REGION=""
### Subnet Group Configuration
SubnetGroupName="" # [REQUIRED] he name of this launch template.
Subnets="" # [REQUIRED] List of database subnet ids.
### Parameter Group Configuration
ClusterParameterGroupName="" # [REQUIRED] Name of database cluster parameter group.
ParameterGroupName="" # [REQUIRED] Name of database parameter group.
### Cluster Configuration - General
ClusterIdentifier="" # [REQUIRED] Identifier(name) used for database cluster.
EngineVersion="" # [REQUIRED] EngineVersion for database. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion)
KmsKeyId="" # [optional] Arn of kms key for database cluster. (If don't specify this property, use default key.)
DeletionProtection="true" # `false`(default) or `true` | [optional] State for database deletion protection.
### Cluster Configuration - Network
VpcId="" # [REQUIRED] ID of database vpc.
Port="3306" # [REQUIRED] Port number for database instance.
CreateSecurityGroup="Yes" # `Yes`(default) or `No` | [REQUIRED] Create a new security group or using existed security group.
SecurityGroupNameOrId="" # [REQUIRED] New security group name or existed security group id.
### Cluster Configuration - Credential
Username="" # [REQUIRED] Username for database access.
Password="" # [REQUIRED] Password for database access.
### Instance Configuration
InstanceClass="" # [REQUIRED] Type of database instance type.
Instance1Identifier="" # [REQUIRED] Identifier(name) used for database instance 1 (maybe writer)
Instance2Identifier="" # [REQUIRED] Identifier(name) used for database instance 2 (maybe reader)
MonitoringRoleName="" # [REQUIRED] Name of database monitoring iam role.
curl -LO https://raw.githubusercontent.com/marcus16-kang/cloudformation-templates/main/rds/multi-az-cluster/aurora-mysql-5.7/rds-cluster.yaml
aws cloudformation deploy \
--template-file ./rds-cluster.yaml \
--stack-name $STACK_NAME \
--parameter-overrides \
ProjectName=$PROJECT_NAME \
SubnetGroupName=$SubnetGroupName \
Subnets=$Subnets \
SecurityGroupIds=$SecurityGroupIds \
ClusterParameterGroupName=$ClusterParameterGroupName \
ParameterGroupName=$ParameterGroupName \
ClusterIdentifier=$ClusterIdentifier \
EngineVersion=$EngineVersion \
KmsKeyId=$KmsKeyId \
DeletionProtection=$DeletionProtection \
VpcId=$VpcId \
Port=$Port \
CreateSecurityGroup=$CreateSecurityGroup \
SecurityGroupNameOrId=$SecurityGroupNameOrId \
CreateSecurityGroup=$CreateSecurityGroup \
Username=$Username \
Password=$Password \
InstanceClass=$InstanceClass \
Instance1Identifier=$Instance1Identifier \
Instance2Identifier=$Instance2Identifier \
MonitoringRoleName=$MonitoringRoleName \
--disable-rollback \
--tags project=$PROJECT_NAME \
--capabilities CAPABILITY_NAMED_IAM \
--region $REGION
$STACK_NAME=""
$PROJECT_NAME=""
$REGION=""
### Subnet Group Configuration
$SubnetGroupName="" # [REQUIRED] he name of this launch template.
$Subnets="" # [REQUIRED] List of database subnet ids.
### Parameter Group Configuration
$ClusterParameterGroupName="" # [REQUIRED] Name of database cluster parameter group.
$ParameterGroupName="" # [REQUIRED] Name of database parameter group.
### Cluster Configuration - General
$ClusterIdentifier="" # [REQUIRED] Identifier(name) used for database cluster.
$EngineVersion="" # [REQUIRED] EngineVersion for database. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion)
$KmsKeyId="" # [optional] Arn of kms key for database cluster. (If don't specify this property, use default key.)
$DeletionProtection="true" # `false`(default) or `true` | [optional] State for database deletion protection.
### Cluster Configuration - Network
$VpcId="" # [REQUIRED] ID of database vpc.
$Port="3306" # [REQUIRED] Port number for database instance.
$CreateSecurityGroup="Yes" # `Yes`(default) or `No` | [REQUIRED] Create a new security group or using existed security group.
$SecurityGroupNameOrId="" # [REQUIRED] New security group name or existed security group id.
### Cluster Configuration - Credential
$Username="" # [REQUIRED] Username for database access.
$Password="" # [REQUIRED] Password for database access.
### Instance Configuration
$InstanceClass="" # [REQUIRED] Type of database instance type.
$Instance1Identifier="" # [REQUIRED] Identifier(name) used for database instance 1 (maybe writer)
$Instance2Identifier="" # [REQUIRED] Identifier(name) used for database instance 2 (maybe reader)
$MonitoringRoleName="" # [REQUIRED] Name of database monitoring iam role.
curl.exe -LO https://raw.githubusercontent.com/marcus16-kang/cloudformation-templates/main/rds/multi-az-cluster/aurora-mysql-5.7/rds-cluster.yaml
aws cloudformation deploy `
--template-file ./rds-cluster.yaml `
--stack-name $STACK_NAME `
--parameter-overrides `
ProjectName=$PROJECT_NAME `
SubnetGroupName=$SubnetGroupName `
Subnets=$Subnets `
SecurityGroupIds=$SecurityGroupIds `
ClusterParameterGroupName=$ClusterParameterGroupName `
ParameterGroupName=$ParameterGroupName `
GlobalClusterIdentifier=$GlobalClusterIdentifier `
ClusterIdentifier=$ClusterIdentifier `
EngineVersion=$EngineVersion `
KmsKeyId=$KmsKeyId `
DeletionProtection=$DeletionProtection `
VpcId=$VpcId `
Port=$Port `
CreateSecurityGroup=$CreateSecurityGroup `
SecurityGroupNameOrId=$SecurityGroupNameOrId `
CreateSecurityGroup=$CreateSecurityGroup `
Username=$Username `
Password=$Password `
InstanceClass=$InstanceClass `
Instance1Identifier=$Instance1Identifier `
Instance2Identifier=$Instance2Identifier `
MonitoringRoleName=$MonitoringRoleName `
--disable-rollback `
--tags project=$PROJECT_NAME `
--capabilities CAPABILITY_NAMED_IAM `
--region $REGION
Aurora MySQL 8.0
Engine Version
8.0.mysql_aurora.3.01.08.0.mysql_aurora.3.01.18.0.mysql_aurora.3.02.08.0.mysql_aurora.3.02.18.0.mysql_aurora.3.02.28.0.mysql_aurora.3.02.38.0.mysql_aurora.3.03.08.0.mysql_aurora.3.03.1
Instance Type
r5 series
db.r5.largedb.r5.xlargedb.r5.2xlargedb.r5.4xlargedb.r5.8xlargedb.r5.12xlargedb.r5.16xlargedb.r5.24xlarge
r6g series
db.r6g.largedb.r6g.xlargedb.r6g.2xlargedb.r6g.4xlargedb.r6g.8xlargedb.r6g.12xlargedb.r6g.16xlarge
r6i series
db.r6i.largedb.r6i.xlargedb.r6i.2xlargedb.r6i.4xlargedb.r6i.8xlargedb.r6i.12xlargedb.r6i.16xlargedb.r6i.24xlargedb.r6i.32xlarge
t3 series
db.t3.mediumdb.t3.large
t4g series
db.t4g.mediumdb.t4g.large
Commands
STACK_NAME=""
PROJECT_NAME=""
REGION=""
### Subnet Group Configuration
SubnetGroupName="" # [REQUIRED] he name of this launch template.
Subnets="" # [REQUIRED] List of database subnet ids.
### Parameter Group Configuration
ClusterParameterGroupName="" # [REQUIRED] Name of database cluster parameter group.
ParameterGroupName="" # [REQUIRED] Name of database parameter group.
### Cluster Configuration - General
ClusterIdentifier="" # [REQUIRED] Identifier(name) used for database cluster.
EngineVersion="" # [REQUIRED] EngineVersion for database. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion)
KmsKeyId="" # [optional] Arn of kms key for database cluster. (If don't specify this property, use default key.)
DeletionProtection="true" # `false`(default) or `true` | [optional] State for database deletion protection.
### Cluster Configuration - Network
VpcId="" # [REQUIRED] ID of database vpc.
Port="3306" # [REQUIRED] Port number for database instance.
CreateSecurityGroup="Yes" # `Yes`(default) or `No` | [REQUIRED] Create a new security group or using existed security group.
SecurityGroupNameOrId="" # [REQUIRED] New security group name or existed security group id.
### Cluster Configuration - Credential
Username="" # [REQUIRED] Username for database access.
Password="" # [REQUIRED] Password for database access.
### Instance Configuration
InstanceClass="" # [REQUIRED] Type of database instance type.
Instance1Identifier="" # [REQUIRED] Identifier(name) used for database instance 1 (maybe writer)
Instance2Identifier="" # [REQUIRED] Identifier(name) used for database instance 2 (maybe reader)
MonitoringRoleName="" # [REQUIRED] Name of database monitoring iam role.
curl -LO https://raw.githubusercontent.com/marcus16-kang/cloudformation-templates/main/rds/multi-az-cluster/aurora-mysql-8.0-instance/rds-cluster.yaml
aws cloudformation deploy \
--template-file ./rds-cluster.yaml \
--stack-name $STACK_NAME \
--parameter-overrides \
ProjectName=$PROJECT_NAME \
SubnetGroupName=$SubnetGroupName \
Subnets=$Subnets \
SecurityGroupIds=$SecurityGroupIds \
ClusterParameterGroupName=$ClusterParameterGroupName \
ClusterIdentifier=$ClusterIdentifier \
EngineVersion=$EngineVersion \
KmsKeyId=$KmsKeyId \
DeletionProtection=$DeletionProtection \
VpcId=$VpcId \
Port=$Port \
CreateSecurityGroup=$CreateSecurityGroup \
SecurityGroupNameOrId=$SecurityGroupNameOrId \
CreateSecurityGroup=$CreateSecurityGroup \
Username=$Username \
Password=$Password \
InstanceClass=$InstanceClass \
Instance1Identifier=$Instance1Identifier \
Instance2Identifier=$Instance2Identifier \
MonitoringRoleName=$MonitoringRoleName \
--disable-rollback \
--tags project=$PROJECT_NAME \
--capabilities CAPABILITY_NAMED_IAM \
--region $REGION
$STACK_NAME=""
$PROJECT_NAME=""
$REGION=""
### Subnet Group Configuration
$SubnetGroupName="" # [REQUIRED] he name of this launch template.
$Subnets="" # [REQUIRED] List of database subnet ids.
### Parameter Group Configuration
$ClusterParameterGroupName="" # [REQUIRED] Name of database cluster parameter group.
$ParameterGroupName="" # [REQUIRED] Name of database parameter group.
### Cluster Configuration - General
$ClusterIdentifier="" # [REQUIRED] Identifier(name) used for database cluster.
$EngineVersion="" # [REQUIRED] EngineVersion for database. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion)
$KmsKeyId="" # [optional] Arn of kms key for database cluster. (If don't specify this property, use default key.)
$DeletionProtection="true" # `false`(default) or `true` | [optional] State for database deletion protection.
### Cluster Configuration - Network
$VpcId="" # [REQUIRED] ID of database vpc.
$Port="3306" # [REQUIRED] Port number for database instance.
$CreateSecurityGroup="Yes" # `Yes`(default) or `No` | [REQUIRED] Create a new security group or using existed security group.
$SecurityGroupNameOrId="" # [REQUIRED] New security group name or existed security group id.
### Cluster Configuration - Credential
$Username="" # [REQUIRED] Username for database access.
$Password="" # [REQUIRED] Password for database access.
### Instance Configuration
$InstanceClass="" # [REQUIRED] Type of database instance type.
$Instance1Identifier="" # [REQUIRED] Identifier(name) used for database instance 1 (maybe writer)
$Instance2Identifier="" # [REQUIRED] Identifier(name) used for database instance 2 (maybe reader)
$MonitoringRoleName="" # [REQUIRED] Name of database monitoring iam role.
curl.exe -LO https://raw.githubusercontent.com/marcus16-kang/cloudformation-templates/main/rds/multi-az-cluster/aurora-mysql-8.0-instance/rds-cluster.yaml
aws cloudformation deploy `
--template-file ./rds-cluster.yaml `
--stack-name $STACK_NAME `
--parameter-overrides `
ProjectName=$PROJECT_NAME `
SubnetGroupName=$SubnetGroupName `
Subnets=$Subnets `
SecurityGroupIds=$SecurityGroupIds `
ClusterParameterGroupName=$ClusterParameterGroupName `
ParameterGroupName=$ParameterGroupName `
ClusterIdentifier=$ClusterIdentifier `
EngineVersion=$EngineVersion `
KmsKeyId=$KmsKeyId `
DeletionProtection=$DeletionProtection `
VpcId=$VpcId `
Port=$Port `
CreateSecurityGroup=$CreateSecurityGroup `
SecurityGroupNameOrId=$SecurityGroupNameOrId `
CreateSecurityGroup=$CreateSecurityGroup `
Username=$Username `
Password=$Password `
InstanceClass=$InstanceClass `
Instance1Identifier=$Instance1Identifier `
Instance2Identifier=$Instance2Identifier `
MonitoringRoleName=$MonitoringRoleName `
--disable-rollback `
--tags project=$PROJECT_NAME `
--capabilities CAPABILITY_NAMED_IAM `
--region $REGION
Aurora MySQL 8.0 Serverless
Engine Version
8.0.mysql_aurora.3.02.08.0.mysql_aurora.3.02.18.0.mysql_aurora.3.02.28.0.mysql_aurora.3.02.38.0.mysql_aurora.3.03.08.0.mysql_aurora.3.03.1
Commands
STACK_NAME=""
PROJECT_NAME=""
REGION=""
### Subnet Group Configuration
SubnetGroupName="" # [REQUIRED] he name of this launch template.
Subnets="" # [REQUIRED] List of database subnet ids.
### Parameter Group Configuration
ClusterParameterGroupName="" # [REQUIRED] Name of database cluster parameter group.
ParameterGroupName="" # [REQUIRED] Name of database parameter group.
### Cluster Configuration - General
ClusterIdentifier="" # [REQUIRED] Identifier(name) used for database cluster.
EngineVersion="" # [REQUIRED] EngineVersion for database. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion)
KmsKeyId="" # [optional] Arn of kms key for database cluster. (If don't specify this property, use default key.)
DeletionProtection="true" # `false`(default) or `true` | [optional] State for database deletion protection.
### Cluster Configuration - Network
VpcId="" # [REQUIRED] ID of database vpc.
Port="3306" # [REQUIRED] Port number for database instance.
CreateSecurityGroup="Yes" # `Yes`(default) or `No` | [REQUIRED] Create a new security group or using existed security group.
SecurityGroupNameOrId="" # [REQUIRED] New security group name or existed security group id.
### Cluster Configuration - Credential
Username="" # [REQUIRED] Username for database access.
Password="" # [REQUIRED] Password for database access.
### Cluster Configuration - Capacity
MinCapacity="" # [REQUIRED] Min capacity of serverless cluster. (0.5 ~ 128)
MaxCapacity="" # [REQUIRED] Max capacity of serverless cluster. (1 ~ 128)
### Instance Configuration
Instance1Identifier="" # [REQUIRED] Identifier(name) used for database instance 1 (maybe writer)
Instance2Identifier="" # [REQUIRED] Identifier(name) used for database instance 2 (maybe reader)
MonitoringRoleName="" # [REQUIRED] Name of database monitoring iam role.
curl -LO https://raw.githubusercontent.com/marcus16-kang/cloudformation-templates/main/rds/multi-az-cluster/aurora-mysql-8.0-serverless/rds-cluster.yaml
aws cloudformation deploy \
--template-file ./rds-cluster.yaml \
--stack-name $STACK_NAME \
--parameter-overrides \
ProjectName=$PROJECT_NAME \
SubnetGroupName=$SubnetGroupName \
Subnets=$Subnets \
SecurityGroupIds=$SecurityGroupIds \
ClusterParameterGroupName=$ClusterParameterGroupName \
ParameterGroupName=$ParameterGroupName \
ClusterIdentifier=$ClusterIdentifier \
EngineVersion=$EngineVersion \
KmsKeyId=$KmsKeyId \
DeletionProtection=$DeletionProtection \
VpcId=$VpcId \
Port=$Port \
CreateSecurityGroup=$CreateSecurityGroup \
SecurityGroupNameOrId=$SecurityGroupNameOrId \
CreateSecurityGroup=$CreateSecurityGroup \
Username=$Username \
Password=$Password \
MinCapacity=$MinCapacity \
MaxCapacity=$MaxCapacity \
Instance1Identifier=$Instance1Identifier \
Instance2Identifier=$Instance2Identifier \
MonitoringRoleName=$MonitoringRoleName \
--disable-rollback \
--tags project=$PROJECT_NAME \
--capabilities CAPABILITY_NAMED_IAM \
--region $REGION
$STACK_NAME=""
$PROJECT_NAME=""
$REGION=""
### Subnet Group Configuration
$SubnetGroupName="" # [REQUIRED] he name of this launch template.
$Subnets="" # [REQUIRED] List of database subnet ids.
### Parameter Group Configuration
$ClusterParameterGroupName="" # [REQUIRED] Name of database cluster parameter group.
$ParameterGroupName="" # [REQUIRED] Name of database parameter group.
### Cluster Configuration - General
$ClusterIdentifier="" # [REQUIRED] Identifier(name) used for database cluster.
$EngineVersion="" # [REQUIRED] EngineVersion for database. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion)
$KmsKeyId="" # [optional] Arn of kms key for database cluster. (If don't specify this property, use default key.)
$DeletionProtection="true" # `false`(default) or `true` | [optional] State for database deletion protection.
### Cluster Configuration - Network
$VpcId="" # [REQUIRED] ID of database vpc.
$Port="3306" # [REQUIRED] Port number for database instance.
$CreateSecurityGroup="Yes" # `Yes`(default) or `No` | [REQUIRED] Create a new security group or using existed security group.
$SecurityGroupNameOrId="" # [REQUIRED] New security group name or existed security group id.
### Cluster Configuration - Credential
$Username="" # [REQUIRED] Username for database access.
$Password="" # [REQUIRED] Password for database access.
### Cluster Configuration - Capacity
$MinCapacity="" # [REQUIRED] Min capacity of serverless cluster. (0.5 ~ 128)
$MaxCapacity="" # [REQUIRED] Max capacity of serverless cluster. (1 ~ 128)
### Instance Configuration
$Instance1Identifier="" # [REQUIRED] Identifier(name) used for database instance 1 (maybe writer)
$Instance2Identifier="" # [REQUIRED] Identifier(name) used for database instance 2 (maybe reader)
$MonitoringRoleName="" # [REQUIRED] Name of database monitoring iam role.
curl.exe -LO https://raw.githubusercontent.com/marcus16-kang/cloudformation-templates/main/rds/multi-az-cluster/aurora-mysql-8.0-serverless/rds-cluster.yaml
aws cloudformation deploy `
--template-file ./rds-cluster.yaml `
--stack-name $STACK_NAME `
--parameter-overrides `
ProjectName=$PROJECT_NAME `
SubnetGroupName=$SubnetGroupName `
Subnets=$Subnets `
SecurityGroupIds=$SecurityGroupIds `
ClusterParameterGroupName=$ClusterParameterGroupName `
ParameterGroupName=$ParameterGroupName `
ClusterIdentifier=$ClusterIdentifier `
EngineVersion=$EngineVersion `
KmsKeyId=$KmsKeyId `
DeletionProtection=$DeletionProtection `
VpcId=$VpcId `
Port=$Port `
CreateSecurityGroup=$CreateSecurityGroup `
SecurityGroupNameOrId=$SecurityGroupNameOrId `
CreateSecurityGroup=$CreateSecurityGroup `
Username=$Username `
Password=$Password `
MinCapacity=$MinCapacity `
MaxCapacity=$MaxCapacity `
Instance1Identifier=$Instance1Identifier `
Instance2Identifier=$Instance2Identifier `
MonitoringRoleName=$MonitoringRoleName `
--disable-rollback `
--tags project=$PROJECT_NAME `
--capabilities CAPABILITY_NAMED_IAM `
--region $REGION
Aurora PostgreSQL
Cluster Parameter Group Family
aurora-postgresql11aurora-postgresql12aurora-postgresql13aurora-postgresql14aurora-postgresql15
Engine Version
11 versions
11.911.1311.1411.1511.1611.1711.1811.19
12 versions
12.812.912.1012.1112.1212.1312.14
13 versions
13.413.513.613.713.813.913.10
14 versions
14.314.414.514.614.7
15 versions
15.2
Instance Type
r4 series
db.r4.largedb.r4.xlargedb.r4.2xlargedb.r4.4xlargedb.r4.8xlargedb.r4.16xlarge
r5 series
db.r5.largedb.r5.xlargedb.r5.2xlargedb.r5.4xlargedb.r5.8xlargedb.r5.12xlargedb.r5.16xlargedb.r5.24xlarge
r6g series
db.r6g.largedb.r6g.xlargedb.r6g.2xlargedb.r6g.4xlargedb.r6g.8xlargedb.r6g.12xlargedb.r6g.16xlarge
r6i series
db.r6i.largedb.r6i.xlargedb.r6i.2xlargedb.r6i.4xlargedb.r6i.8xlargedb.r6i.12xlargedb.r6i.16xlargedb.r6i.24xlargedb.r6i.32xlarge
t3 series
db.t3.mediumdb.t3.large
t4g series
db.t4g.mediumdb.t4g.large
Commands
STACK_NAME=""
PROJECT_NAME=""
REGION=""
### Subnet Group Configuration
SubnetGroupName="" # [REQUIRED] he name of this launch template.
Subnets="" # [REQUIRED] List of database subnet ids.
### Parameter Group Configuration
ClusterParameterGroupName="" # [REQUIRED] Name of database cluster parameter group.
ParameterGroupName="" # [REQUIRED] Name of database parameter group.
ClusterParameterGroupFamily="" # [REQUIRED] Name of database cluster parameter group family.
### Cluster Configuration - General
ClusterIdentifier="" # [REQUIRED] Identifier(name) used for database cluster.
EngineVersion="" # [REQUIRED] EngineVersion for database. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion)
KmsKeyId="" # [optional] Arn of kms key for database cluster. (If don't specify this property, use default key.)
DeletionProtection="true" # `false`(default) or `true` | [optional] State for database deletion protection.
### Cluster Configuration - Network
VpcId="" # [REQUIRED] ID of database vpc.
Port="5432" # [REQUIRED] Port number for database instance.
CreateSecurityGroup="Yes" # `Yes`(default) or `No` | [REQUIRED] Create a new security group or using existed security group.
SecurityGroupNameOrId="" # [REQUIRED] New security group name or existed security group id.
### Cluster Configuration - Credential
Username="" # [REQUIRED] Username for database access.
Password="" # [REQUIRED] Password for database access.
### Instance Configuration
InstanceClass="" # [REQUIRED] Type of database instance type.
Instance1Identifier="" # [REQUIRED] Identifier(name) used for database instance 1 (maybe writer)
Instance2Identifier="" # [REQUIRED] Identifier(name) used for database instance 2 (maybe reader)
MonitoringRoleName="" # [REQUIRED] Name of database monitoring iam role.
curl -LO https://raw.githubusercontent.com/marcus16-kang/cloudformation-templates/main/rds/multi-az-cluster/aurora-postgresql-instance/rds-cluster.yaml
aws cloudformation deploy \
--template-file ./rds-cluster.yaml \
--stack-name $STACK_NAME \
--parameter-overrides \
ProjectName=$PROJECT_NAME \
SubnetGroupName=$SubnetGroupName \
Subnets=$Subnets \
SecurityGroupIds=$SecurityGroupIds \
ClusterParameterGroupName=$ClusterParameterGroupName \
ParameterGroupName=$ParameterGroupName \
ClusterParameterGroupFamily=$ClusterParameterGroupFamily \
ClusterIdentifier=$ClusterIdentifier \
EngineVersion=$EngineVersion \
KmsKeyId=$KmsKeyId \
DeletionProtection=$DeletionProtection \
VpcId=$VpcId \
Port=$Port \
CreateSecurityGroup=$CreateSecurityGroup \
SecurityGroupNameOrId=$SecurityGroupNameOrId \
CreateSecurityGroup=$CreateSecurityGroup \
Username=$Username \
Password=$Password \
InstanceClass=$InstanceClass \
Instance1Identifier=$Instance1Identifier \
Instance2Identifier=$Instance2Identifier \
MonitoringRoleName=$MonitoringRoleName \
--disable-rollback \
--tags project=$PROJECT_NAME \
--capabilities CAPABILITY_NAMED_IAM \
--region $REGION
$STACK_NAME=""
$PROJECT_NAME=""
$REGION=""
### Subnet Group Configuration
$SubnetGroupName="" # [REQUIRED] he name of this launch template.
$Subnets="" # [REQUIRED] List of database subnet ids.
### Parameter Group Configuration
$ClusterParameterGroupName="" # [REQUIRED] Name of database cluster parameter group.
$ParameterGroupName="" # [REQUIRED] Name of database parameter group.
$ClusterParameterGroupFamily="" # [REQUIRED] Name of database cluster parameter group family.
### Cluster Configuration - General
$ClusterIdentifier="" # [REQUIRED] Identifier(name) used for database cluster.
$EngineVersion="" # [REQUIRED] EngineVersion for database. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion)
$KmsKeyId="" # [optional] Arn of kms key for database cluster. (If don't specify this property, use default key.)
$DeletionProtection="true" # `false`(default) or `true` | [optional] State for database deletion protection.
### Cluster Configuration - Network
$VpcId="" # [REQUIRED] ID of database vpc.
$Port="5432" # [REQUIRED] Port number for database instance.
$CreateSecurityGroup="Yes" # `Yes`(default) or `No` | [REQUIRED] Create a new security group or using existed security group.
$SecurityGroupNameOrId="" # [REQUIRED] New security group name or existed security group id.
### Cluster Configuration - Credential
$Username="" # [REQUIRED] Username for database access.
$Password="" # [REQUIRED] Password for database access.
### Instance Configuration
$InstanceClass="" # [REQUIRED] Type of database instance type.
$Instance1Identifier="" # [REQUIRED] Identifier(name) used for database instance 1 (maybe writer)
$Instance2Identifier="" # [REQUIRED] Identifier(name) used for database instance 2 (maybe reader)
$MonitoringRoleName="" # [REQUIRED] Name of database monitoring iam role.
curl.exe -LO https://raw.githubusercontent.com/marcus16-kang/cloudformation-templates/main/rds/multi-az-cluster/aurora-postgresql-instance/rds-cluster.yaml
aws cloudformation deploy `
--template-file ./rds-cluster.yaml `
--stack-name $STACK_NAME `
--parameter-overrides `
ProjectName=$PROJECT_NAME `
SubnetGroupName=$SubnetGroupName `
Subnets=$Subnets `
SecurityGroupIds=$SecurityGroupIds `
ClusterParameterGroupName=$ClusterParameterGroupName `
ParameterGroupName=$ParameterGroupName `
ClusterParameterGroupFamily=$ClusterParameterGroupFamily `
ClusterIdentifier=$ClusterIdentifier `
EngineVersion=$EngineVersion `
KmsKeyId=$KmsKeyId `
DeletionProtection=$DeletionProtection `
VpcId=$VpcId `
Port=$Port `
CreateSecurityGroup=$CreateSecurityGroup `
SecurityGroupNameOrId=$SecurityGroupNameOrId `
CreateSecurityGroup=$CreateSecurityGroup `
Username=$Username `
Password=$Password `
InstanceClass=$InstanceClass `
Instance1Identifier=$Instance1Identifier `
Instance2Identifier=$Instance2Identifier `
MonitoringRoleName=$MonitoringRoleName `
--disable-rollback `
--tags project=$PROJECT_NAME `
--capabilities CAPABILITY_NAMED_IAM `
--region $REGION
Aurora PostgreSQL Serverless
Cluster Parameter Group Family
aurora-postgresql13aurora-postgresql14aurora-postgresql15
Engine Version
13 versions
13.613.713.813.913.10
14 versions
14.314.414.514.614.7
15 versions
15.2
Commands
STACK_NAME=""
PROJECT_NAME=""
REGION=""
### Subnet Group Configuration
SubnetGroupName="" # [REQUIRED] he name of this launch template.
Subnets="" # [REQUIRED] List of database subnet ids.
### Parameter Group Configuration
ClusterParameterGroupName="" # [REQUIRED] Name of database cluster parameter group.
ParameterGroupName="" # [REQUIRED] Name of database parameter group.
ClusterParameterGroupFamily="" # [REQUIRED] Name of database cluster parameter group family.
### Cluster Configuration - General
ClusterIdentifier="" # [REQUIRED] Identifier(name) used for database cluster.
EngineVersion="" # [REQUIRED] EngineVersion for database. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion)
KmsKeyId="" # [optional] Arn of kms key for database cluster. (If don't specify this property, use default key.)
DeletionProtection="true" # `false`(default) or `true` | [optional] State for database deletion protection.
### Cluster Configuration - Network
VpcId="" # [REQUIRED] ID of database vpc.
Port="5432" # [REQUIRED] Port number for database instance.
CreateSecurityGroup="Yes" # `Yes`(default) or `No` | [REQUIRED] Create a new security group or using existed security group.
SecurityGroupNameOrId="" # [REQUIRED] New security group name or existed security group id.
### Cluster Configuration - Credential
Username="" # [REQUIRED] Username for database access.
Password="" # [REQUIRED] Password for database access.
### Cluster Configuration - Capacity
MinCapacity="" # [REQUIRED] Min capacity of serverless cluster. (0.5 ~ 128)
MaxCapacity="" # [REQUIRED] Max capacity of serverless cluster. (1 ~ 128)
### Instance Configuration
Instance1Identifier="" # [REQUIRED] Identifier(name) used for database instance 1 (maybe writer)
Instance2Identifier="" # [REQUIRED] Identifier(name) used for database instance 2 (maybe reader)
MonitoringRoleName="" # [REQUIRED] Name of database monitoring iam role.
curl -LO https://raw.githubusercontent.com/marcus16-kang/cloudformation-templates/main/rds/multi-az-cluster/aurora-postgresql-serverless/rds-cluster.yaml
aws cloudformation deploy \
--template-file ./rds-cluster.yaml \
--stack-name $STACK_NAME \
--parameter-overrides \
ProjectName=$PROJECT_NAME \
SubnetGroupName=$SubnetGroupName \
Subnets=$Subnets \
SecurityGroupIds=$SecurityGroupIds \
ClusterParameterGroupName=$ClusterParameterGroupName \
ParameterGroupName=$ParameterGroupName \
ClusterParameterGroupFamily=$ClusterParameterGroupFamily \
ClusterIdentifier=$ClusterIdentifier \
EngineVersion=$EngineVersion \
KmsKeyId=$KmsKeyId \
DeletionProtection=$DeletionProtection \
VpcId=$VpcId \
Port=$Port \
CreateSecurityGroup=$CreateSecurityGroup \
SecurityGroupNameOrId=$SecurityGroupNameOrId \
CreateSecurityGroup=$CreateSecurityGroup \
Username=$Username \
Password=$Password \
MinCapacity=$MinCapacity \
MaxCapacity=$MaxCapacity \
Instance1Identifier=$Instance1Identifier \
Instance2Identifier=$Instance2Identifier \
MonitoringRoleName=$MonitoringRoleName \
--disable-rollback \
--tags project=$PROJECT_NAME \
--capabilities CAPABILITY_NAMED_IAM \
--region $REGION
$STACK_NAME=""
$PROJECT_NAME=""
$REGION=""
### Subnet Group Configuration
$SubnetGroupName="" # [REQUIRED] he name of this launch template.
$Subnets="" # [REQUIRED] List of database subnet ids.
### Parameter Group Configuration
$ClusterParameterGroupName="" # [REQUIRED] Name of database cluster parameter group.
$ParameterGroupName="" # [REQUIRED] Name of database parameter group.
$ClusterParameterGroupFamily="" # [REQUIRED] Name of database cluster parameter group family.
### Cluster Configuration - General
$ClusterIdentifier="" # [REQUIRED] Identifier(name) used for database cluster.
$EngineVersion="" # [REQUIRED] EngineVersion for database. (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion)
$KmsKeyId="" # [optional] Arn of kms key for database cluster. (If don't specify this property, use default key.)
$DeletionProtection="true" # `false`(default) or `true` | [optional] State for database deletion protection.
### Cluster Configuration - Network
$VpcId="" # [REQUIRED] ID of database vpc.
$Port="5432" # [REQUIRED] Port number for database instance.
$CreateSecurityGroup="Yes" # `Yes`(default) or `No` | [REQUIRED] Create a new security group or using existed security group.
$SecurityGroupNameOrId="" # [REQUIRED] New security group name or existed security group id.
### Cluster Configuration - Credential
$Username="" # [REQUIRED] Username for database access.
$Password="" # [REQUIRED] Password for database access.
### Cluster Configuration - Capacity
$MinCapacity="" # [REQUIRED] Min capacity of serverless cluster. (0.5 ~ 128)
$MaxCapacity="" # [REQUIRED] Max capacity of serverless cluster. (1 ~ 128)
### Instance Configuration
$Instance1Identifier="" # [REQUIRED] Identifier(name) used for database instance 1 (maybe writer)
$Instance2Identifier="" # [REQUIRED] Identifier(name) used for database instance 2 (maybe reader)
$MonitoringRoleName="" # [REQUIRED] Name of database monitoring iam role.
curl.exe -LO https://raw.githubusercontent.com/marcus16-kang/cloudformation-templates/main/rds/multi-az-cluster/aurora-postgresql-serverless/rds-cluster.yaml
aws cloudformation deploy `
--template-file ./rds-cluster.yaml `
--stack-name $STACK_NAME `
--parameter-overrides `
ProjectName=$PROJECT_NAME `
SubnetGroupName=$SubnetGroupName `
Subnets=$Subnets `
SecurityGroupIds=$SecurityGroupIds `
ClusterParameterGroupName=$ClusterParameterGroupName `
ParameterGroupName=$ParameterGroupName `
ClusterParameterGroupFamily=$ClusterParameterGroupFamily `
ClusterIdentifier=$ClusterIdentifier `
EngineVersion=$EngineVersion `
KmsKeyId=$KmsKeyId `
DeletionProtection=$DeletionProtection `
VpcId=$VpcId `
Port=$Port `
CreateSecurityGroup=$CreateSecurityGroup `
SecurityGroupNameOrId=$SecurityGroupNameOrId `
CreateSecurityGroup=$CreateSecurityGroup `
Username=$Username `
Password=$Password `
MinCapacity=$MinCapacity `
MaxCapacity=$MaxCapacity `
Instance1Identifier=$Instance1Identifier `
Instance2Identifier=$Instance2Identifier `
MonitoringRoleName=$MonitoringRoleName `
--disable-rollback `
--tags project=$PROJECT_NAME `
--capabilities CAPABILITY_NAMED_IAM `
--region $REGION