#amazon-web-services #terraform #terraform-provider-aws #terraform0.12 #vpc-endpoint
Вопрос:
Поставщик: AWS
Регион: США-восток-1
Терраформирование: v1.0.4
При попытке создать таблицу маршрутов:
resource "aws_vpc_endpoint_route_table_association" "dynamodb_route_table" { count = "${length(module.vpc.private_route_table_ids)}" vpc_endpoint_id = aws_vpc_endpoint.dynamodb_connection.id route_table_id = "${element(module.vpc.private_route_table_ids, count.index)}" depends_on = [aws_vpc_endpoint.dynamodb_connection] }
со следующим маршрутом:
resource "aws_route" "subnet_to_vpce" { count = "${length(module.vpc.private_route_table_ids)}" route_table_id = "${element(module.vpc.private_route_table_ids, count.index)}" vpc_endpoint_id = aws_vpc_endpoint.dynamodb_connection.id destination_cidr_block = "${element(module.vpc.private_subnets_cidr_blocks, count.index)}" depends_on = [aws_vpc_endpoint.dynamodb_connection] }
которые ссылаются на конечную точку vpc, созданную следующим образом:
resource "aws_vpc_endpoint" "dynamodb_connection" { vpc_id = module.vpc.vpc_id service_name = "com.amazonaws.${var.aws_region}.dynamodb" policy = lt;lt;POLICY { "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" } ] } POLICY }
Я получаю следующую ошибку:
Error: error creating Route in Route Table (rtb-xxxxxxxxxxxxxxxxx) with destination (10.xx.x.x/24): InvalidVpcEndpointId.NotFound: The vpcEndpoint ID 'vpce-xxxxxxxxxxxxxxxxx' does not exist.
Однако сама конечная точка vpc была успешно создана. Я вижу это в файле tfstate, и когда я вхожу в консоль AWS и проверяю, я вижу конечную точку vpc с точным идентификатором, указанным в ошибке.
Я повторил попытку, прождав час, но по-прежнему ничего.
Не уверен, делаю ли я что-то не так или это ошибка.
Комментарии:
1. В коде, по-видимому, нет ничего неправильного. Единственная причина, о которой я могу думать, заключается в том, что, возможно, есть какие-то расовые условия. Так что, возможно
aws_vpc_endpoint_route_table_association
, применяется, когдаdynamodb_connection
все еще создается. Можете ли вы проверить, сколько времени требуется для создания конечной точки с помощью консоли AWS, и посмотреть, будет ли TF отмечать успех, прежде чем она действительно окажется в доступном состоянии?2. Можете ли вы также включить код терраформирования для маршрута 10.x.x.x, который добавляется в таблицу, поскольку это, по-видимому, вызывает ошибку.
3. @clockworknet отредактировал сообщение, чтобы добавить маршрут
4. @Marcin Я добавил предложение «зависит от»
depends_on = [aws_vpc_endpoint.dynamodb_connection]
и повторил, но получил ту же ошибку. Также проверьте в консоли, что конечная точка VPC имеет статус «Доступно».5. Может быть, ресурсы, созданные в разных регионах? Это
provider "aws"
блокregion
иvar.aws_region
то же самое?