【问题标题】:Adding rule to the security group which is created automatically向自动创建的安全组添加规​​则
【发布时间】:2022-06-11 03:37:35
【问题描述】:

我正在使用 AWS CDK 创建一个 ApplicationLoadBalancer,它的端口 80 接受外部连接。

我想使用目标的8080端口进行健康检查。

const lb = new elb.ApplicationLoadBalancer(this, "LB", {
  vpc: cluster.vpc,
  loadBalancerName : loadBalancerName,
  internetFacing: true,
  vpcSubnets: {  subnetType: ec2.SubnetType.PUBLIC },
});
const listener = lb.addListener("Listener", { port: 80 });

const targetGroup = listener.addTargets("ECS", {
  protocol: elb.ApplicationProtocol.HTTP,
  port: 80,
  targets: [ecsAdminService]
});
targetGroup.configureHealthCheck({
  path: "/",
  port: "8080"
})

在这种情况下,ApplicationLoadBalancer 会自动创建安全组。

但是,它只有一个出站规则port 80。我要添加出站规则port 8080

如何更改安全组以使其自动生成?

【问题讨论】:

    标签: javascript amazon-web-services amazon-cloudformation aws-cdk aws-security-group


    【解决方案1】:

    当您使用 CDK 创建负载均衡器时,如果未提供安全组,CDK 将自动为您创建安全组。

    因此,如果要管理安全组规则,您可以使用您需要的规则创建一个安全组并附加到创建的 ALB:

    const securityGroup1 = new ec2.SecurityGroup(this, 'SecurityGroup1', { vpc });
    
    securityGroup1.addIngressRule(
      ec2.Peer.anyIpv4(),
      ec2.Port.tcp(80),
      'allow HTTP traffic from anywhere',
    );
    
    const lb = new elbv2.ApplicationLoadBalancer(this, 'LB', {
        vpc,
        internetFacing: true,
        securityGroup: securityGroup1, // Optional - will be automatically created otherwise
    });
    

    【讨论】:

    • 我可以添加安全组并解决。非常感谢。
    猜你喜欢
    • 2019-07-09
    • 1970-01-01
    • 2022-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 2021-03-31
    相关资源
    最近更新 更多