cdk-aurora-globaldatabase is an AWS CDK construct library that provides Cross Region Create Global Aurora RDS Databases.
Project description
cdk-aurora-globaldatabase
cdk-aurora-globaldatabase is an AWS CDK construct library that Global Aurora Database Cluster.
Why
cdk-aurora-globaldatabase
can help you create Global Aurora Database Cluster via one line .
Now Try It !!!
Sample for Mysql
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from ..index import GolbalAuroraRDSMaster, InstanceTypeEnum, GolbalAuroraRDSSlaveInfra
from aws_cdk.core import App, Stack, CfnOutput
import aws_cdk.aws_ec2 as ec2
# new app .
mock_app = App()
# setting two region env config .
env_singapro = {"account": process.env.CDK_DEFAULT_ACCOUNT, "region": "ap-southeast-1"}
env_tokyo = {"account": process.env.CDK_DEFAULT_ACCOUNT, "region": "ap-northeast-1"}
# create stack main .
stack_m = Stack(mock_app, "testing-stackM", env=env_tokyo)
vpc_public = ec2.Vpc(stack_m, "defaultVpc",
nat_gateways=0,
max_azs=3,
subnet_configuration=[SubnetConfiguration(
cidr_mask=26,
name="masterVPC2",
subnet_type=ec2.SubnetType.PUBLIC
)]
)
globaldb_m = GolbalAuroraRDSMaster(stack_m, "golbalAuroraRDSMaster",
instance_type=InstanceTypeEnum.R5_LARGE,
vpc=vpc_public,
rds_password="1qaz2wsx"
)
globaldb_m.rds_cluster.connections.allow_default_port_from(ec2.Peer.ipv4(f"{process.env.MYIP}/32"))
# create stack slave infra or you can give your subnet group.
stack_s = Stack(mock_app, "testing-stackS", env=env_singapro)
vpc_public2 = ec2.Vpc(stack_s, "defaultVpc2",
nat_gateways=0,
max_azs=3,
subnet_configuration=[SubnetConfiguration(
cidr_mask=26,
name="secondVPC2",
subnet_type=ec2.SubnetType.PUBLIC
)]
)
globaldb_s = GolbalAuroraRDSSlaveInfra(stack_s, "slaveregion", vpc=vpc_public2, subnet_type=ec2.SubnetType.PUBLIC)
# so we need to wait stack slave created first .
stack_m.add_dependency(stack_s)
CfnOutput(stack_m, "password", value=globaldb_m.rds_password)
# add second region cluster
globaldb_m.add_regional_cluster(stack_m, "addregionalrds",
region="ap-southeast-1",
db_subnet_group_name=globaldb_s.db_subnet_group.db_subnet_group_name
)
Sample for Postgres
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from ..index import GolbalAuroraRDSMaster, InstanceTypeEnum, GolbalAuroraRDSSlaveInfra
from aws_cdk.core import App, Stack, CfnOutput
import aws_cdk.aws_ec2 as ec2
import aws_cdk.aws_rds as _rds
mock_app = App()
env_singapro = {"account": process.env.CDK_DEFAULT_ACCOUNT, "region": "ap-southeast-1"}
env_tokyo = {"account": process.env.CDK_DEFAULT_ACCOUNT, "region": "ap-northeast-1"}
stack_m = Stack(mock_app, "testing-stackM", env=env_tokyo)
vpc_public = ec2.Vpc(stack_m, "defaultVpc",
nat_gateways=0,
max_azs=3,
subnet_configuration=[SubnetConfiguration(
cidr_mask=26,
name="masterVPC2",
subnet_type=ec2.SubnetType.PUBLIC
)]
)
# Note if you use postgres , need to give the same value in engineVersion and dbClusterpPG's engine .
globaldb_m = GolbalAuroraRDSMaster(stack_m, "golbalAuroraRDSMaster",
instance_type=InstanceTypeEnum.R5_LARGE,
vpc=vpc_public,
rds_password="1qaz2wsx",
engine_version=_rds.DatabaseClusterEngine.aurora_postgres(
version=_rds.AuroraPostgresEngineVersion.VER_11_7
),
db_clusterp_pG=_rds.ParameterGroup(stack_m, "dbClusterparametergroup",
engine=_rds.DatabaseClusterEngine.aurora_postgres(
version=_rds.AuroraPostgresEngineVersion.VER_11_7
),
parameters={
"rds.force_ssl": "1",
"rds.log_retention_period": "10080",
"auto_explain.log_min_duration": "5000",
"auto_explain.log_verbose": "1",
"timezone": "UTC+8",
"shared_preload_libraries": "auto_explain,pg_stat_statements,pg_hint_plan,pgaudit",
"log_connections": "1",
"log_statement": "ddl",
"log_disconnections": "1",
"log_lock_waits": "1",
"log_min_duration_statement": "5000",
"log_rotation_age": "1440",
"log_rotation_size": "102400",
"random_page_cost": "1",
"track_activity_query_size": "16384",
"idle_in_transaction_session_timeout": "7200000"
}
)
)
globaldb_m.rds_cluster.connections.allow_default_port_from(ec2.Peer.ipv4(f"{process.env.MYIP}/32"))
stack_s = Stack(mock_app, "testing-stackS", env=env_singapro)
vpc_public2 = ec2.Vpc(stack_s, "defaultVpc2",
nat_gateways=0,
max_azs=3,
subnet_configuration=[SubnetConfiguration(
cidr_mask=26,
name="secondVPC2",
subnet_type=ec2.SubnetType.PUBLIC
)]
)
globaldb_s = GolbalAuroraRDSSlaveInfra(stack_s, "slaveregion",
vpc=vpc_public2, subnet_type=ec2.SubnetType.PUBLIC
)
stack_m.add_dependency(stack_s)
CfnOutput(stack_m, "password", value=globaldb_m.rds_password)
# add second region cluster
globaldb_m.add_regional_cluster(stack_m, "addregionalrds",
region="ap-southeast-1",
db_subnet_group_name=globaldb_s.db_subnet_group.db_subnet_group_name
)
To deploy
cdk deploy
To destroy
cdk destroy
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for cdk-aurora-globaldatabase-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30218cfba6302e5dae1f42eaf0ee5ac88aa4d0d79fca1ed41575d6112d415f83 |
|
MD5 | 675c389884cc4f50cef02608e75f848d |
|
BLAKE2b-256 | 135aeb2e5704620b6fba564b127a9e19fac65edabbc213edffd5e0a53a20c812 |
Close
Hashes for cdk_aurora_globaldatabase-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5de669799ce1132ed8088cdab33b89f10f31c65164f0e0606467fdd4d20f501e |
|
MD5 | e5ed6e41286c12baaa38845070f9dab7 |
|
BLAKE2b-256 | 210a77def9d9a48d3f1d29ba68139fd6a3db1f3ef9347c907e5e8ed581085b5e |