cdk-eks-blueprints
cdk-eks-blueprints copied to clipboard
[FEATURE] - Fully Private EKS Cluster
This one is commonly required in the financial industry. User may provide proxy server but with strict outbound filtering (e.g. block Github access, which means all the addons need to be hosted within private repos internally).
This requires us to use AWS service VPC endpoint as much as we can and only use proxy when the AWS services that do not support VPC Endpoint (such as EKS service API).
Related to this issue: https://github.com/aws-quickstart/quickstart-ssp-amazon-eks/issues/49
@starchx can you specify where specifically private VPC endpoints are needed? Is it Velero for S3 access? Something else? Private cluster support with private repos is supported. I can add an example pattern with the proxy server for GitHub access for example.
Thanks @shapirov103 .
The use case is when the customer only allows outbound access via an internal managed proxy server, or no outbound internet access at all. That means the cluster creator lambda and kubectl lambda (from cdk-eks module) will need to be placed inside the customer's VPC.
EKS VPC endpoint support is on the roadmap (https://github.com/aws/containers-roadmap/issues/298), so outbound internet is still required via proxy.
For the blueprint, I think we can just add the proxy support, e.g. allow customers to specify their own proxy servers. We would need to pass that proxy to environment variables to both lambdas (https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-eks.Cluster.html#kubectlenvironment)
This feature may not be needed anymore, thanks to EKS Private Endpoint: https://github.com/aws/containers-roadmap/issues/298