AWS VPC endpoints
A VPC endpoint enables customers to privately connect to supported AWS services and VPC endpoint services powered by AWS PrivateLink. Amazon VPC instances do not require public IP addresses to communicate with resources of the service. Traffic between an Amazon VPC and a service does not leave the Amazon network.
VPC endpoints are virtual devices. They are horizontally scaled, redundant, and highly available Amazon VPC components that allow communication between instances in an Amazon VPC and services without imposing availability risks or bandwidth constraints on network traffic. There are two types of VPC endpoints:
interface endpoints
gateway endpoints
This module provides AWS VPC endpoints in a given AWS VPC.
Give for each endpoint object to be created the following information (variable endpoints):
service: (Required) Common name of an AWS service (e.g.,s3).auto_accept: (Optional) Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).policy: (Optional) A policy to attach to the endpoint that controls access to the service. This is a JSON formatted string. Defaults to full access. AllGatewayand someInterfaceendpoints support policies - see the relevant AWS documentation for more details. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.private_dns_enabled: (Optional; AWS services and AWS Marketplace partner services only) Whether to associate a private hosted zone with the specified VPC. Applicable for endpoints of typeInterface. Defaults tofalseip_address_type: (Optional) The IP address type for the endpoint. Valid values areipv4,dualstack, andipv6.route_table_ids: (Optional) One or more route table IDs. Applicable for endpoints of typeGateway.subnet_ids: (Optional) The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of typeGatewayLoadBalancerandInterface.security_group_ids: (Optional) The ID of one or more security groups to associate with the network interface. Applicable for endpoints of typeInterface. If no security groups are specified, the VPC’s default security group is associated with the endpoint.tags: (Optional) A map of tags to assign to the resource. If configured with a provider `default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.vpc_endpoint_type: (Optional) The VPC endpoint type,Gateway,GatewayLoadBalancer, orInterface. Defaults toInterface.
Requirements
Name |
Version |
|---|---|
>= 1.0 |
|
>= 5.61 |
Providers
Name |
Version |
|---|---|
>= 5.61 |
Modules
No modules.
Resources
Name |
Type |
|---|---|
resource |
|
data source |
Inputs
Name |
Description |
Type |
Default |
Required |
|---|---|---|---|---|
A map of interface and/or gateway endpoints containing their properties and configurations. See Section “AWS VPC endpoints” for the different arguments of an endpoint object. |
|
|
no |
|
The IDs of security groups to associate with the network interfaces |
|
|
no |
|
The IDs of subnets in which to create the network interfaces for the endpoints |
|
|
no |
|
A map of tags to use on all resources |
|
|
no |
|
Define maximum timeout for creating, updating, and deleting VPC endpoint resources |
|
|
no |
|
The ID of the VPC in which the endpoint will be used |
|
n/a |
yes |
Outputs
Name |
Description |
|---|---|
Array containing the full resource object and attributes for all endpoints created |