Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ApplicationLoadBalancedFargateService : Add Support for IPv6 on LB's #29039

Closed
1 of 2 tasks
Labels
@aws-cdk/aws-elasticloadbalancingv2 Related to Amazon Elastic Load Balancing V2 effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p3

Comments

@jlouk
Copy link

jlouk commented Feb 8, 2024

Describe the feature

I would like to enable IPv6 support on the load balancers created by ApplicationLoadBalancedFargateService and ApplicationLoadBalancedEc2Service.

Ideally this could be used as a new property for these two classes.``

Use Case

With the introduction of AWS charging for public IPv4 addresses (source), I am looking to enable IPv6 addresses on my ECS ALBs.

Proposed Solution

In the elbv2.ApplicationLoadBalancer class, there is a property for ipv6:

new elbv2.ApplicationLoadBalancer(stack, 'ALB', {
  vpc,
  internetFacing: true,
  ipAddressType: elbv2.IpAddressType.DUAL_STACK,
});

My proposal would be to add the property ipAddressType to ApplicationLoadBalancedFargateService and ApplicationLoadBalancedEc2Service with the corresponding actions to enable when necessary. The default would be elbv2.IpAddressType.IPV4 which would make this an opt-in service.

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

CDK version used

2.126.0

Environment details (OS name and version, etc.)

MacOS Monterey 12.7

@jlouk jlouk added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Feb 8, 2024
@github-actions github-actions bot added the @aws-cdk/aws-elasticloadbalancingv2 Related to Amazon Elastic Load Balancing V2 label Feb 8, 2024
@pahud
Copy link
Contributor

pahud commented Feb 9, 2024

We welcome the PRs and before that I guess we could always doing escape hatches using addPropertyOverride() to achieve that.

@pahud pahud added p2 effort/medium Medium work item – several days of effort and removed needs-triage This issue or PR still needs to be triaged. labels Feb 9, 2024
mergify bot pushed a commit that referenced this issue Feb 19, 2024
### Issue # (if applicable)

part of #29041, #29039

Closes #<issue number here>.

### Reason for this change


The testing hierarchy was disorganized.

### Description of changes

Organized test as below.
No logical change.

```ts
describe('Application Load Balancer', () => {

  describe('ApplicationLoadBalancedFargateService', () => {
  ...
  })

  describe('ApplicationMultipleTargetGroupsFargateService', () => {
  ...
  })
})

describe('Network Load Balancer', () => {
  describe('NetworkLoadBalancedFargateService', () => {
  ...
  })

  describe('NetworkMultipleTargetGroupsFargateService', () => {
  ...
  })
})
```





### Description of how you validated changes


pass unit tests

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
mergify bot pushed a commit that referenced this issue Feb 19, 2024
### Issue # (if applicable)

part of #29041, #29039
continuation of #29153

Closes #<issue number here>.

### Reason for this change

tests in `packages/aws-cdk-lib/aws-ecs-patterns/test/ec2/l3s.test.ts` was disorganized.


### Description of changes

- No logical change.
- Organized tests in `packages/aws-cdk-lib/aws-ecs-patterns/test/ec2/l3s.test.ts` as below.

```ts
describe('ApplicationLoadBalancedEc2Service', () => {
...
})

describe('NetworkLoadBalancedEc2Service', () => {
...
})
```

- move tests of `ApplicationLoadBalancedFargateService`, `NetworkLoadBalancedFargateService` in `packages/aws-cdk-lib/aws-ecs-patterns/test/ec2/l3s.test.ts` to `packages/aws-cdk-lib/aws-ecs-patterns/test/fargate/load-balanced-fargate-service.test.ts`.



### Description of how you validated changes

Pass unit tests


### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
GavinZZ pushed a commit that referenced this issue Feb 22, 2024
### Issue # (if applicable)

part of #29041, #29039

Closes #<issue number here>.

### Reason for this change


The testing hierarchy was disorganized.

### Description of changes

Organized test as below.
No logical change.

```ts
describe('Application Load Balancer', () => {

  describe('ApplicationLoadBalancedFargateService', () => {
  ...
  })

  describe('ApplicationMultipleTargetGroupsFargateService', () => {
  ...
  })
})

describe('Network Load Balancer', () => {
  describe('NetworkLoadBalancedFargateService', () => {
  ...
  })

  describe('NetworkMultipleTargetGroupsFargateService', () => {
  ...
  })
})
```





### Description of how you validated changes


pass unit tests

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
GavinZZ pushed a commit that referenced this issue Feb 22, 2024
### Issue # (if applicable)

part of #29041, #29039
continuation of #29153

Closes #<issue number here>.

### Reason for this change

tests in `packages/aws-cdk-lib/aws-ecs-patterns/test/ec2/l3s.test.ts` was disorganized.


### Description of changes

- No logical change.
- Organized tests in `packages/aws-cdk-lib/aws-ecs-patterns/test/ec2/l3s.test.ts` as below.

```ts
describe('ApplicationLoadBalancedEc2Service', () => {
...
})

describe('NetworkLoadBalancedEc2Service', () => {
...
})
```

- move tests of `ApplicationLoadBalancedFargateService`, `NetworkLoadBalancedFargateService` in `packages/aws-cdk-lib/aws-ecs-patterns/test/ec2/l3s.test.ts` to `packages/aws-cdk-lib/aws-ecs-patterns/test/fargate/load-balanced-fargate-service.test.ts`.



### Description of how you validated changes

Pass unit tests


### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
@pahud pahud added p3 and removed p2 labels Jun 11, 2024
@jmnarloch
Copy link

@pahud Do you think you could review the Application Load Balancer PR(#30089 (comment))? I would like to enable IPv6 Load Balancer in my production stack. I can also give the PR a first review.

@pahud
Copy link
Contributor

pahud commented Jul 24, 2024

@jmnarloch I've escalated this PR review to the team. The maintainer should take a look shortly. Thank you for letting me know.

@mergify mergify bot closed this as completed in #30089 Aug 30, 2024
@mergify mergify bot closed this as completed in 98ea3db Aug 30, 2024
Copy link

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

1 similar comment
Copy link

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 30, 2024
pahud pushed a commit to pahud/aws-cdk that referenced this issue Sep 9, 2024
### Issue # (if applicable)

Closes aws#29039.

### Reason for this change

Both `ApplicationLoadBalancedFargateService` and `ApplicationLoadBalancedEc2Service` don't support specifying dualstack ALB.

### Description of changes

Added `ipAddressType` to `ApplicationLoadBalancedServiceBaseProps`.

### Description of how you validated changes

Added both unit and integ tests.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
xazhao pushed a commit to xazhao/aws-cdk that referenced this issue Sep 12, 2024
### Issue # (if applicable)

Closes aws#29039.

### Reason for this change

Both `ApplicationLoadBalancedFargateService` and `ApplicationLoadBalancedEc2Service` don't support specifying dualstack ALB.

### Description of changes

Added `ipAddressType` to `ApplicationLoadBalancedServiceBaseProps`.

### Description of how you validated changes

Added both unit and integ tests.

### Checklist
- [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.