interface GatewayVpcEndpointOptions
Language | Type name |
---|---|
![]() | Amazon.CDK.AWS.EC2.GatewayVpcEndpointOptions |
![]() | github.com/aws/aws-cdk-go/awscdk/v2/awsec2#GatewayVpcEndpointOptions |
![]() | software.amazon.awscdk.services.ec2.GatewayVpcEndpointOptions |
![]() | aws_cdk.aws_ec2.GatewayVpcEndpointOptions |
![]() | 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
Name | Type | Description |
---|---|---|
service | IGateway | The service to use for this gateway VPC endpoint. |
subnets? | Subnet [] | Where to add endpoint routing. |
service
Type:
IGateway
The service to use for this gateway VPC endpoint.
subnets?
Type:
Subnet
[]
(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 }
]
});