如何在python的aws cdk中创建安全组?
嗨,我正在尝试使用aws cdk编写seurity组。我知道如何使用云形成来编写它。 下面是我的云形成模板如何在python的aws cdk中创建安全组?,python,amazon-cloudformation,aws-security-group,aws-cdk,Python,Amazon Cloudformation,Aws Security Group,Aws Cdk,嗨,我正在尝试使用aws cdk编写seurity组。我知道如何使用云形成来编写它。 下面是我的云形成模板 MerchWebServicesSecurityGroup: Type: "AWS::EC2::SecurityGroup" Properties: Tags: - Key: "Name" Value: !Ref "AWS::StackName" GroupDescription: "EC2 Services Se
MerchWebServicesSecurityGroup:
Type: "AWS::EC2::SecurityGroup"
Properties:
Tags:
- Key: "Name"
Value: !Ref "AWS::StackName"
GroupDescription: "EC2 Services Security Group"
VpcId:
Fn::ImportValue: "infra-vpc-base::VpcId"
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: "80"
ToPort: "80"
SourceSecurityGroupId: !Ref MerchWebServicesLoadBalancerSecurityGroup
- IpProtocol: tcp
FromPort: "443"
ToPort: "443"
SourceSecurityGroupId: !Ref MerchWebServicesLoadBalancerSecurityGroup
- IpProtocol: tcp
FromPort: 31000
ToPort: 65535
SourceSecurityGroupId: !Ref MerchWebServicesLoadBalancerSecurityGroup
我试图用python cdk编写如下安全组
mws_vpc_sg = ec2.SecurityGroup(stack, "MerchWebServicesSecurityGroup",
description= "Allow ssh access to ec2 instances",
security_group_name= "MerchWebServicesSecurityGroup",
vpc= vpc
);
mws_vpc_sg.add_ingress_rule(?, Port.tcp(80));
上面我想添加sourceSecurityGroupId和端口。有人能帮我写这个吗?任何帮助都将不胜感激。谢谢如果您也在CDK中创建了另一个安全组,您可以将该安全组作为对等方传递
mws_vpc_sg.add_ingress_rule(load_balancer_sg, Port.tcp(80));
如果您在其他地方创建了安全组,则需要使用静态方法从中获取ISecurityGroup:
var load_balancer_sg = ec2.SecurityGroup.fromSecurityGroupId(this, 'loadbalancer_sg', THE_ID_OF_THE_SG)
谢谢你的回答。我无法从aws_cdk将aws_ec2作为ec2导入。我可以访问s3、sqs和所有服务器,但不能访问ecs和ec2。我可以知道原因吗?我收到错误ImportError:无法从“aws_cdk”未知位置导入名称“aws_ecs”。您是否使用pip I aws cdk.aws-ec2安装了aws_ec2依赖项?。如果您不能使用ec2,您可能应该编辑您的问题。您也在示例中使用它。