aws-interface-endpoints
Project description
npm i -D @alma-cdk/aws-interface-endpoints
L3 construct helping with PrivateLink-powered VPC Interface Endpoints for AWS Services.
🚧 Project Stability
This construct is still versioned with v0
major version and breaking changes might be introduced if necessary (without a major version bump), though we aim to keep the API as stable as possible (even within v0
development). We aim to publish v1.0.0
soon and after that breaking changes will be introduced via major version bumps.
Getting Started
Endpoint open to whole isolated subnet
import { AwsInterfaceEndpoints } from '@alma-cdk/aws-interface-endpoints';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
const vpc = new ec2.Vpc();
new AwsInterfaceEndpoints(this, 'EcrInterfaceEndpoint', {
vpc,
services: [
{ id: 'EcrDocker', ec2.InterfaceVpcEndpointAwsService.ECR_DOCKER },
],
});
Session Manager connection endpoints
import { AwsInterfaceEndpoints } from '@alma-cdk/aws-interface-endpoints';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
const vpc = new ec2.Vpc();
new AwsInterfaceEndpoints(this, 'SessionManagerInterfaceEndpoint', {
vpc,
services: AwsInterfaceEndpoints.SessionManagerConnect,
});
Explictly opened endpoints
- In your VPC creation stack
import { AwsInterfaceEndpoints } from '@alma-cdk/aws-interface-endpoints';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
const vpc = new ec2.Vpc();
new AwsInterfaceEndpoints(this, 'EcrInterfaceEndpoint', {
vpc,
open: false,
services: [
{ id: 'EcrDocker', ec2.InterfaceVpcEndpointAwsService.ECR_DOCKER },
],
});
- In some other stack (maybe on a completely different CDK application):
import { AwsInterfaceEndpoints } from '@alma-cdk/aws-interface-endpoints';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
define instance: ec2.Instance;
const endpoints = AwsInterfaceEndpoints.fromAttributes(this, 'EcrInterfaceEndpoint', {
services: [
{ id: 'EcrDocker', ec2.InterfaceVpcEndpointAwsService.ECR_DOCKER },
],
});
endpoints.allowDefaultPromFrom(instance);
https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-create-vpc.html
https://aws.amazon.com/privatelink/pricing/
https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file alma-cdk.aws-interface-endpoints-0.0.6.tar.gz
.
File metadata
- Download URL: alma-cdk.aws-interface-endpoints-0.0.6.tar.gz
- Upload date:
- Size: 100.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e305cde79052990034a800878606f1045ab3d62b9be740797d010936fa73ef08 |
|
MD5 | 377c4108effe174632f4fe0ad129d9b0 |
|
BLAKE2b-256 | 19b4408c98d6a516182393992f384327c4fbdad1a291eedc2f1596c24ac36988 |
File details
Details for the file alma_cdk.aws_interface_endpoints-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: alma_cdk.aws_interface_endpoints-0.0.6-py3-none-any.whl
- Upload date:
- Size: 99.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9df2b9bd122574b2fe9921ff33332e4bdd1345fa7378cae1d72b1b6e799ca09 |
|
MD5 | 5f4045b7cb3486ad0d88ae3c3b3eb96a |
|
BLAKE2b-256 | ccf4efe019016ab76967f30af04013fd80d7986a86b887b4d7b51b452dc10e37 |