Skip to main content

aws-interface-endpoints

Project description



Alma CDK Domain

npm i -D @alma-cdk/aws-interface-endpoints

L3 construct helping with PrivateLink-powered VPC Interface Endpoints for AWS Services.



🚧   Project Stability

experimental

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

  1. 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 },
  ],
});
  1. 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

alma-cdk.aws-interface-endpoints-0.0.6.tar.gz (100.9 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file alma-cdk.aws-interface-endpoints-0.0.6.tar.gz.

File metadata

File hashes

Hashes for alma-cdk.aws-interface-endpoints-0.0.6.tar.gz
Algorithm Hash digest
SHA256 e305cde79052990034a800878606f1045ab3d62b9be740797d010936fa73ef08
MD5 377c4108effe174632f4fe0ad129d9b0
BLAKE2b-256 19b4408c98d6a516182393992f384327c4fbdad1a291eedc2f1596c24ac36988

See more details on using hashes here.

File details

Details for the file alma_cdk.aws_interface_endpoints-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for alma_cdk.aws_interface_endpoints-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d9df2b9bd122574b2fe9921ff33332e4bdd1345fa7378cae1d72b1b6e799ca09
MD5 5f4045b7cb3486ad0d88ae3c3b3eb96a
BLAKE2b-256 ccf4efe019016ab76967f30af04013fd80d7986a86b887b4d7b51b452dc10e37

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page