You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform是否支持DynamoDB的AWS PrivateLink?如何配置接口端点?

Terraform对DynamoDB AWS PrivateLink及Interface Endpoint的支持与配置

一、Terraform是否支持DynamoDB的AWS PrivateLink?

Terraform完全支持通过AWS Provider配置DynamoDB的AWS PrivateLink,具体是通过创建VPC Interface Endpoint来实现,该资源可让VPC内的私有资源无需公网访问即可连接DynamoDB。

二、Terraform配置DynamoDB Interface Endpoint的步骤与示例

核心配置步骤

  • 确保环境已存在目标VPC及至少一个私有子网(Interface Endpoint需部署在私有子网中)
  • 创建VPC Interface Endpoint,指定DynamoDB对应的服务名称
  • 配置安全组,允许VPC内的资源访问该Endpoint的443端口(DynamoDB默认端口)
  • 可选:配置Route53私有托管区,让VPC内资源通过DynamoDB标准私有域名访问

Terraform配置示例

# 引用已存在的VPC、私有子网和安全组
data "aws_vpc" "existing" {
  id = "vpc-xxxxxx" # 替换为你的VPC ID
}

data "aws_subnet_ids" "private" {
  vpc_id = data.aws_vpc.existing.id
  filter {
    name   = "tag:Tier"
    values = ["Private"] # 替换为你的私有子网标签
  }
}

data "aws_security_group" "endpoint_sg" {
  name = "dynamodb-endpoint-sg" # 替换为你的安全组名称
}

# 创建DynamoDB的Interface Endpoint
resource "aws_vpc_endpoint" "dynamodb" {
  vpc_id            = data.aws_vpc.existing.id
  service_name      = "com.amazonaws.${data.aws_region.current.name}.dynamodb"
  vpc_endpoint_type = "Interface"

  subnet_ids         = data.aws_subnet_ids.private.ids
  security_group_ids = [data.aws_security_group.endpoint_sg.id]

  # 启用私有DNS,让VPC内资源直接用dynamodb.<region>.amazonaws.com访问
  private_dns_enabled = true

  tags = {
    Name = "DynamoDB-Interface-Endpoint"
  }
}

# 可选:自定义私有域名解析(若默认私有DNS不满足需求)
resource "aws_route53_zone" "dynamodb_private" {
  name = "dynamodb.${data.aws_region.current.name}.amazonaws.com"
  vpc {
    vpc_id = data.aws_vpc.existing.id
  }
}

resource "aws_route53_record" "dynamodb_endpoint" {
  zone_id = aws_route53_zone.dynamodb_private.zone_id
  name    = "dynamodb.${data.aws_region.current.name}.amazonaws.com"
  type    = "A"
  alias {
    name                   = aws_vpc_endpoint.dynamodb.dns_entry[0].dns_name
    zone_id                = aws_vpc_endpoint.dynamodb.dns_entry[0].hosted_zone_id
    evaluate_target_health = false
  }
}

关键说明

  • service_name需根据AWS区域调整,格式为com.amazonaws.<region>.dynamodb
  • private_dns_enabled = true会自动在VPC内配置私有DNS解析,无需手动配置Route53即可用标准域名访问
  • 安全组需放行VPC内资源到Endpoint 443端口的流量

内容的提问来源于stack exchange,提问作者mon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:57:49