Настройка
- Terraform v 0.11.14
- Спецификация OpenAPI 3.0 для определения тела моего шлюза API
Terraform Resources
Я создал частный шлюз API, который направляет трафик в NLB через VPC-ссылки.Я развернул API, но для краткости я опустил этот ресурс из приведенного ниже, поскольку он тривиален.
resource "aws_api_gateway_rest_api" "this" {
name = "MyAPI"
body = "${file("./api-spec.yaml")}"
endpoint_configuration {
types = ["PRIVATE"]
}
}
resource "aws_lb" "app" {
name = "MyNLB"
internal = true
load_balancer_type = "network"
subnets = ["MySubnetIds"]
}
resource "aws_api_gateway_vpc_link" "nlb" {
name = "api-gateway-to-nlb"
target_arns = ["${aws_lb.app.arn}"]
}
Ссылка на ссылку VPC указана в файле api-spec.yaml
.Соответствующий раздел:
paths:
/items:
get:
summary: Gets a collection of items
responses:
'200':
description: Ok
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Item'
x-amazon-apigateway-integration:
type: http_proxy
httpMethod: GET
uri: https://my-internal-nlb/api/v1/items
connectionType: "VPC_LINK"
connectionId: "${vpclink_id}"
responses:
default:
statusCode: '200'
Проблема
Когда я запускаю terraform destroy
, я получаю следующее сообщение:
Ошибка: Ошибка применения плана:
1 произошла ошибка:
* aws_api_gateway_vpc_link.nlb (уничтожить): произошла 1 ошибка:
* aws_api_gateway_vpc_link.nlb: ошибка при удалении ссылки API-шлюза VPC (bgzpv1): BadRequestExceptionНевозможно удалить ссылку vpc.Ссылка Vpc 'bgzpv1', указана в развернутых стадиях [POST: 50f55s: разработка, GET: 50f55s: разработка] в формате [Метод: Ресурс: Этап], а также в неразрешенной интеграции [GET: 50f55s, POST: 50f55s] в форматеиз [Метод: Ресурс].код состояния: 400, идентификатор запроса: d9a9667b-8099-11e9-98d1-9f899674f4b9
Если я подожду несколько минут, а затем снова выполню terraform destroy
, следующие ресурсы будут уничтожены:
aws_lb.app
aws_api_gateway_vpc_link.nlb
У меня есть Google, но я не могу найти много информации по этой теме.На форумах поддержки AWS был поднят тикет , но это было некоторое время назад, и AWS указали, что собираются решить проблему