我编写了这段代码,将VPC的公共子网添加到rdsSecurityGroup。
for publicSubnet in self.vpc.public_subnets:
self.rdsSecurityGroup.add_ingress_rule(peer=publicSubnet,
connection=ec2.Port.tcp(3306))
但是我得到了这个错误:
jsii.errors.JSIIError: peer.toIngressRuleConfig is not a function
我该如何解决?
答案 0 :(得分:0)
根据https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html#security-group-rules,安全组规则的源/目标可以是以下之一:
基于上述,您将需要查找公共子网的CIDR块并将其添加为入口规则的源。但是,目前看来,查找vpc /子网的CIDR块并不那么容易-https://github.com/aws/aws-cdk/issues/2232。如果要创建子网,则需要记住代码中的CIDR块,或者在使用现有VPC和子网的情况下,将CIDR块作为代码中的常量。
或者,也许更合适和方便的方法是使用安全组作为规则的来源。将公共子网中的所有资源添加到安全组,并根据这些资源管理安全组规则。