aws / aws/aws-cdk

aws-s3-deployment using EFS does not explain the need of a NAT subnet for mandatory vpc prop

Open
#19,777 1 comment 0 reactions 0 assignees View on GitHub
@aws-cdk/aws-s3-deployment documentation effort/small feature-request p2
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
1d 19h
Merged PRs (30d)
71

Description

### Describe the issue

Here https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3_deployment-readme.html#efs-support docs says that is recommended to pass the vpc as prop. However this requirement doesn’t mention what the VPC requirements are. I suspected this feature will use S3 endpoints avoiding the need of a NAT, but it doesn’t. The feature was designed initially to have an inline `new vpc()` as parameter for this function creating all automatically.

As a result, there's a bit of mess describing how this works and I spend hours to figure out that this lambda requires Internet access to reach S3 and work with the EFS... CDK will just get stuck for hours if there's no NAT or the memory is wrong.

I would suggest:

1 - Update the docs to mention that the `prop.vpc` should have a NAT enabled subnet and mention again in the example that if you use EFS, you probably need the memory setting anyway.

2- Refactor the `BucketDeployment` to create a S3 endpoint and use that instead of a NAT requirement if possible.

Thanks.

### Links

https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3_deployment-readme.html#efs-support

Contributor guide

Open the contributing guide

Research direction

Start with the EFS support section in the linked aws_s3_deployment README and review how the mandatory prop.vpc is described and used in the example. Document the NAT-enabled subnet requirement and the memory consideration for EFS, then verify that the example clearly explains the required VPC setup; the S3 endpoint refactor is a separate, deeper investigation.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
cloud, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.