-
Notifications
You must be signed in to change notification settings - Fork 4.5k
ec2: NatProvider.instanceV2 does not work when mapPublicIpOnLaunch=false for public subnets #31711
Copy link
Copy link
Closed
Labels
@aws-cdk/aws-ec2Related to Amazon Elastic Compute CloudRelated to Amazon Elastic Compute CloudbugThis issue is a bug.This issue is a bug.effort/smallSmall work item – less than a day of effortSmall work item – less than a day of effortp2
Description
Describe the bug
When we set mapPublicIpOnLaunch=false for public subnets, NAT instances does not get public IP addresses assigned, resulting in non-working NAT instances.
Disabling mapPublicIpOnLaunch is recommended as AWS Config rule (and cdk-nag as well.)
https://docs.aws.amazon.com/config/latest/developerguide/subnet-auto-assign-public-ip-disabled.html
Regression Issue
- Select this option if this issue appears to be a regression.
Last Known Working CDK Version
No response
Expected Behavior
NAT instance works.
Current Behavior
NAT instance does not work.
Reproduction Steps
Deploy the below VPC, and you can see the NAT instances does not have public IP addresses assigned; traffic cannot go to the Internet because of that.
new Vpc(this, 'Vpc', {
natGatewayProvider: NatProvider.instanceV2({
instanceType: InstanceType.of(InstanceClass.T4G, InstanceSize.MICRO),
}),
subnetConfiguration: [
{
subnetType: SubnetType.PUBLIC,
name: 'Public',
// NAT instance does not work when this set to false.
mapPublicIpOnLaunch: false,
},
{
subnetType: SubnetType.PRIVATE_WITH_EGRESS,
name: 'Private',
},
],
});Possible Solution
Expose associatePublicIpAddress property maybe?
Additional Information/Context
No response
CDK CLI Version
2.160.0
Framework Version
No response
Node.js Version
20
OS
macos
Language
TypeScript
Language Version
No response
Other information
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
@aws-cdk/aws-ec2Related to Amazon Elastic Compute CloudRelated to Amazon Elastic Compute CloudbugThis issue is a bug.This issue is a bug.effort/smallSmall work item – less than a day of effortSmall work item – less than a day of effortp2