Reputation: 1415
With AWS RDS, the console and the CLI/API both have a switch to make the database publicly accessible, but I cannot find a way to do this with the new aws-cdk using the constructs provided. There is a boolean for this in the Cloud Formation classes (e.g. CfnDBInstance), but I can't find documentation on how to use that in combination with the constructs. The CDK is pretty amazing, and it set up everything perfectly with just a few lines of code, except for this one piece.
Upvotes: 7
Views: 1886
Reputation: 7407
Whether the database is made publicly accessible or not is derived from the vpcSubnets
prop which is of type ec2.SubnetSelection
.
const instance = new rds.DatabaseInstance(this, 'Instance', {
... // other props
vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC }
});
See https://github.com/aws/aws-cdk/blob/v1.62.0/packages/%40aws-cdk/aws-rds/lib/instance.ts#L315
Upvotes: 11
Reputation: 51
For the python crowd:
database = rds.DatabaseInstance(self, "Instance",
... // other props
vpc_placement=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PUBLIC),
)
Upvotes: 5