CDK RDS public 可访问的数据库

CDK RDS public accessible database

我想用 cdk 创建一个 public 可以访问的数据库(开发数据库)。我知道如何通过 Web UI 完成。我需要将 Public 可访问性设置为 true 并允许我的 IP 作为安全组的入站。


        const vpc = new ec2.Vpc(this, 'Vpc')

        const postgres = new rds.DatabaseInstance(this, 'Postgres', {
            engine: rds.DatabaseInstanceEngine.POSTGRES,
            instanceClass: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.MICRO),
            masterUsername: 'postgres',
            vpc,
        })

这是我目前的状态,工作正常,但没有public访问权限

        const vpc = new ec2.Vpc(this, 'Vpc')

        const postgres = new rds.DatabaseInstance(this, 'Postgres', {
            engine: rds.DatabaseInstanceEngine.POSTGRES,
            instanceClass: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.MICRO),
            masterUsername: 'postgres',
            vpc,
            vpcPlacement: { subnetType: ec2.SubnetType.PUBLIC }
        })

        postgres.connections.allowFromAnyIpv4(ec2.Port.tcp(5432))

vpcPlacement: { subnetType: ec2.SubnetType.PUBLIC } 设置 public 访问权限为 true postgres.connections.allowFromAnyIpv4(ec2.Port.tcp(5432)) 允许来自端口 5432 的入站流量