aws / aws/aws-cdk

(eks): Support isolated VPCs

Open
#12,171 19 comments 24 reactions 0 assignees View on GitHub
@aws-cdk/aws-eks @aws-cdk/aws-eks-v2-alpha effort/small feature-request p1 service-api
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

Provisioning clusters inside an isolated vpc (i.e no internet access) is not currently supported.
This is because the lambda functions that operate the cluster need to invoke the EKS service, which does not offer a VPC endpoint.

> See https://github.com/aws/containers-roadmap/issues/298

### Use Case

We've seen users mentioning their environment uses an isolated VPC.

### Other

Adding some information here to possibly facilitate alternative approaches.

If you have a proxy setup, you can inject proxy information to the handlers via custom environment variables.

```ts
const proxy = "https://proxy.mycompany.com:8080/”;
new eks.Cluster(this, 'Cluster', {
...,

kubectlEnvironment: {
HTTPS_PROXY: proxy,
},

clusterHandlerEnvironment: {
HTTPS_PROXY: proxy
}
})
```

Also, following is a list of AWS services that our Lambda handlers interact with in order to operate the cluster. All of these services offer a VPC endpoint **except** for EKS.

- Lambda
- Step Functions
- CloudFormation
- STS
- S3
- EKS

Related: https://github.com/aws/aws-cdk/issues/10036

Once EKS does offer a VPC endpoint, it would be nice if we just provision the necessary endpoints given if we identify that the VPC does not have internet access (internet gateway, NAT).

* [ ] :wave: I may be able to implement this feature request
* [ ] :warning: This feature might incur a breaking change

---

This is a :rocket: Feature Request

Contributor guide

Open the contributing guide

Research direction

The issue names no files or tests. Start by tracing the EKS cluster’s Lambda handlers and their interactions with Lambda, Step Functions, CloudFormation, STS, S3, and EKS, then review the linked AWS EKS VPC-endpoint roadmap issue. Done would mean defining and validating a supported approach for operating clusters in isolated VPCs.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.