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

New serverless pattern - Lambda Elastic IP without NAT Gateway #1641

Merged
merged 75 commits into from
Sep 8, 2023

Conversation

MajdSoufan
Copy link
Contributor

@MajdSoufan MajdSoufan commented Sep 7, 2023

Issue #1642

Description of changes:

This pattern allows you to assign your lambda function a static public IP address that you can use to interact with APIs that require whitelisted IPs without the need to provision a NAT Gateway. Therefore, this pattern will save almost $33/month in NAT Gateway costs.

The following resources will be provisioned:

A Lambda function to test the pattern
An Elastic IP to associate with the Lambda function
A public subnet in the default VPC with us-east-1e as an AZ
A custom resource with Lambda function to associate the Elastic IP with the test lambda's ENI
Since AWS manages the provisioning of any Lambda ENI, we cannot access that ENI in CDK code. Therefore, to automate the process, we have to associate the Elastic IP with the ENI in a custom resource after the deployment occurs.

Disclaimer: This pattern is best suited for non-production environments since it is not multi-AZ nor highly scalable.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@MajdSoufan
Copy link
Contributor Author

@julianwood thank you for taking the time to review my PR. Please, let me know if any changes are required to merge this pattern

@MajdSoufan MajdSoufan changed the title Lambda Elastic IP without NAT Gateway New serverless pattern - Lambda Elastic IP without NAT Gateway Sep 7, 2023
@julianwood julianwood merged commit b11e7c6 into aws-samples:main Sep 8, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants