有谁知道如何使用 AWS CDK 将计算资源 EC2 实例连接到 RDS 集群?我一直在浏览 CDK 文档,但没有找到任何内容。开始怀疑这是否可能。我可以从 AWS 控制台手动添加计算资源,没有问题,但我想使用 CLI 以编程方式执行此操作。我该怎么做,或者我有什么选择?不幸的是,CDK 文档中没有提到计算资源。 https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_rds.DatabaseCluster.html
这是我当前的 RDS AWS CDK 代码。在这里,我尝试添加在另一个名为 my_ec2_stack.my_ec2 的堆栈中创建的 EC2 实例资源作为 my_rds_cluster 的计算资源。我该怎么做?
其他详细信息:下面的 rds 数据库集群和我想要添加为计算资源的 EC2 实例位于同一 VPN 和子网中。
my_rds_cluster = rds.DatabaseCluster(self, "MyRDSDatabaseCluster",
cluster_identifier="my-postgres",
engine=rds.DatabaseClusterEngine.aurora_postgres(
version=rds.AuroraPostgresEngineVersion.VER_11_18
),
instance_props=rds.InstanceProps(
vpc=shared_vpc_stack.vpc,
instance_type=ec2.InstanceType.of(ec2.InstanceClass.R6G, ec2.InstanceSize.XLARGE2),
vpc_subnets=ec2.SubnetSelection(
availability_zones=["us-west-2a", "us-west-2b", "us-west-2c", "us-west-2d"],
subnets=[private_subnet_a, private_subnet_b, private_subnet_c, private_subnet_d],
),
auto_minor_version_upgrade=True,
enable_performance_insights=True,
publicly_accessible=False,
security_groups=[my_rds_security_group, my_ec2_stack.searchy_security_group, my_ec2_stack.soary_security_group],
),
backup=rds.BackupProps(
retention=Duration.days(7),
),
)
# My failed attempt to add compute resources EC2. (No error it just doesn't do anything)
my_rds_connections = my_rds_cluster.connections.allow_from(
other=my_ec2_stack.my_ec2,
port_range=ec2.Port.tcp(5432),
description="My RDS connection to My EC2"
)
下面的屏幕截图显示了 AWS 控制台中的外观:
由于未提供错误消息,因此很难判断修复方法。可以提供一下吗?而且我们没有堆栈详细信息。它们是否在同一个 VPN、子网中? RDS 的 VpcSecurityGroupIds 值是否正确?只是为了测试您是否处于安全环境中,请尝试在入站和出站规则中允许所有 TCP 访问所有端口或仅允许来自所有源 (0.0.0.0/0) 的 5432。
我将用错误消息编辑我的答案。