У меня есть функция Lambda, работающая в AWS VPC. Эта лямбда должна иметь доступ как к RDS, так и к DynamoDB, поэтому ей нужна конечная точка VPC, настроенная для достижения DynamoDB. Мне удалось заставить его работать, используя ручную настройку, как описано в блоге Amazon здесь , но я изо всех сил пытаюсь определить эквивалентную инфраструктуру как код, используя Terraform.
Я понимаю, что должен определить aws_vpc_endpoint
в Terraform (документы здесь ), но я немного растерялся, когда дело доходит до настройки таблицы маршрутизации для него.
Пока это то, что у меня есть, я не уверен, что это правильно, и я оставил знак вопроса в конфигурации route_table_ids
. Для записей, если я не настрою таблицу маршрутизации, конечная точка будет создана правильно, но Lambda не получит доступ к DynamoDB.
data "aws_vpc" "default" {
default = true
}
resource "aws_vpc_endpoint" "private-dynamodb" {
vpc_id = "${data.aws_vpc.default.id}"
service_name = "com.amazonaws.${var.region}.dynamodb"
route_table_ids = ["${WHAT_SHOULD_I_PUT_HERE?}"]
policy = <<POLICY
{
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": "*",
"Principal": "*"
}
]
}
POLICY
}
Я также проверил, как создается конечная точка с ручной настройкой, и я вижу, что с ней связана таблица маршрутизации со следующими настройками:
- мой блок vpc cidr -> локальный
- 0.0.0.0 / 0 -> интернет gw
- com.amazonaws ... dynamodb -> vpce -...
поэтому я предполагаю, что должен реплицировать эквивалентную конфигурацию в моем ресурсе terraform, но на самом деле не знаю, как это сделать. Любая помощь приветствуется!