aws-cdk-lib.aws_ec2.GatewayVpcEndpointOptions

interface GatewayVpcEndpointOptions

LanguageType name
.NETAmazon.CDK.AWS.EC2.GatewayVpcEndpointOptions
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsec2#GatewayVpcEndpointOptions
Javasoftware.amazon.awscdk.services.ec2.GatewayVpcEndpointOptions
Pythonaws_cdk.aws_ec2.GatewayVpcEndpointOptions
TypeScript (source)aws-cdk-lib » aws_ec2 » GatewayVpcEndpointOptions

Options to add a gateway endpoint to a VPC.

Example

    // Add gateway endpoints when creating the VPC
    const vpc = new ec2.Vpc(this, 'MyVpc', {
      gatewayEndpoints: {
        S3: {
          service: ec2.GatewayVpcEndpointAwsService.S3,
        },
      },
    });

    // Alternatively gateway endpoints can be added on the VPC
    const dynamoDbEndpoint = vpc.addGatewayEndpoint('DynamoDbEndpoint', {
      service: ec2.GatewayVpcEndpointAwsService.DYNAMODB,
    });

    // This allows to customize the endpoint policy
    dynamoDbEndpoint.addToPolicy(
      new iam.PolicyStatement({ // Restrict to listing and describing tables
        principals: [new iam.AnyPrincipal()],
        actions: ['dynamodb:DescribeTable', 'dynamodb:ListTables'],
        resources: ['*'],
      }));

    // Add an interface endpoint
    vpc.addInterfaceEndpoint('EcrDockerEndpoint', {
      service: ec2.InterfaceVpcEndpointAwsService.ECR_DOCKER,

      // Uncomment the following to allow more fine-grained control over
      // who can access the endpoint via the '.connections' object.
      // open: false
    });

Properties

NameTypeDescription
serviceIGatewayVpcEndpointServiceThe service to use for this gateway VPC endpoint.
subnets?SubnetSelection[]Where to add endpoint routing.

service

Type: IGatewayVpcEndpointService

The service to use for this gateway VPC endpoint.


subnets?

Type: SubnetSelection[] (optional, default: All subnets in the VPC)

Where to add endpoint routing.

By default, this endpoint will be routable from all subnets in the VPC. Specify a list of subnet selection objects here to be more specific. Example

declare const vpc: ec2.Vpc;

vpc.addGatewayEndpoint('DynamoDbEndpoint', {
  service: ec2.GatewayVpcEndpointAwsService.DYNAMODB,
  // Add only to ISOLATED subnets
  subnets: [
    { subnetType: ec2.SubnetType.PRIVATE_ISOLATED }
  ]
});