Estoy usando AWS CDK para crear un ApplicationLoadBalancer que tiene el puerto 80 que acepta conexiones externas.
Quiero usar el puerto 8080 del destino al puerto de verificación de estado.
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" }) En este caso, ApplicationLoadBalancer crea el grupo de seguridad automáticamente.
Sin embargo, tiene una regla de salida solo en el port 80 . Quiero agregar un port 8080
¿Cómo puedo cambiar el grupo de seguridad para que se genere automáticamente?
Cuando crea un Load Balancer con CDK si no se proporciona un grupo de seguridad, el CDK creará automáticamente un grupo de seguridad para usted.
Entonces, si desea administrar las reglas del grupo de seguridad, puede crear un grupo de seguridad con las reglas que necesita y adjuntarlo al ALB creado:
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 });