allow-connections-to-ecs-service-from-network-load-balancer-cdk
TypeScript icon, indicating that this package has built-in type declarations

3.1.0 • Public • Published

allow-connections-to-ecs-service-from-network-load-balancer-cdk

This CDK Custom Resource Provider patches up a gap in the CDK's use of Network Load Balancers to provide access to ECS Services.

You can see some discussion of the issue here:

https://github.com/aws/aws-cdk/issues/1490

In summary, adding an ECS Service as a target to an ALB Listener automatically alters the destination security group to allow access from the ALB security group.

NLBs do not have security groups, due to the different architecture of the underlying solution, and no similar behaviour takes place.

You must then authorise access yourself, which is in practical terms insane:

https://aws.amazon.com/premiumsupport/knowledge-center/elb-find-load-balancer-IP/

I mean, what.

Usage

Add this resource after you have added the target:

new AllowConnectionsToECSServiceFromNetworkLoadBalancer(stack, 'AllowServiceFromNLB', {
    service,
    port: 80,
    loadBalancer: nlb,
});

For example:

const listener = nlb.addListener('Listener', {
    port: 443,
    certificates: [ListenerCertificate.fromCertificateManager(certificate)],
});
listener.addTargets(serviceName, {
    port: 80,
    targets: [service],
});
new AllowConnectionsToECSServiceFromNetworkLoadBalancer(stack, 'AllowServiceFromNLB', {
    service,
    port: 80,
    loadBalancer: nlb,
});

Readme

Keywords

none

Package Sidebar

Install

npm i allow-connections-to-ecs-service-from-network-load-balancer-cdk

Weekly Downloads

15

Version

3.1.0

License

Apache-2.0

Unpacked Size

29.7 kB

Total Files

7

Last publish

Collaborators

  • winjer
  • bne
  • davidb
  • sharont
  • ricey
  • sparky-blue
  • plumdog
  • isotoma-ci