DynamoDBゲートウェイエンドポイントの経路関連付けの確認

アプリケーション用サブネットのルートテーブルをエンドポイントに関連付けてください。

説明

DynamoDBのゲートウェイVPCエンドポイントは、関連付けたルートテーブルにサービスへの経路を追加します。エンドポイントを作成するだけでは、アプリケーション用サブネットの通信はその経路を使いません。

想定される影響

必要な関連付けがないと、DynamoDBに接続できなかったり、インターネットゲートウェイやNATなど別の経路が使われたりする場合があります。

対処方法

エンドポイントのroute_table_idsに、アプリケーション用サブネットが使うルートテーブルを指定してください。サブネット、ルートテーブル、エンドポイントが同じVPCに属し、アクセスポリシーが必要な操作を許可していることも確認してください。

例

変更後は、サブネットで使うルートテーブルをゲートウェイエンドポイントにも関連付けています。参照先のリソースはすべて同じVPCにある想定です。

変更前

hcl
resource "aws_vpc_endpoint" "dynamodb_vpce" {
  vpc_id       = aws_vpc.main.id
  service_name = "com.amazonaws.us-east-1.dynamodb"
}

変更後

hcl
resource "aws_route_table_association" "private_rtb_assoc" {
  subnet_id      = aws_subnet.private_subnet2.id
  route_table_id = aws_route_table.private_rtb2.id
}

resource "aws_vpc_endpoint" "dynamodb_vpce" {
  vpc_id       = aws_vpc.main.id
  service_name = "com.amazonaws.us-east-1.dynamodb"
  route_table_ids = [aws_route_table.private_rtb2.id]
}

参考資料