ошибка серверной части terraform 500 при работе в сервисной сети googleapi

#google-api #terraform #internal-server-error #http-status-code-500

Вопрос:

На днях я допустил глупую ошибку при изменении некоторых политик IAM в нашей среде terraform, я применил изменение, в котором хотел ДОБАВИТЬ политику, когда на самом деле это было единственной существующей политикой, поэтому были уничтожены некоторые жизненно важные политики IAM для учетных записей служб для запуска GKE и т. Д. Не лучший мой день, мягко говоря (урок усвоен!).

На данный момент все было возвращено в нормальное состояние вручную, так как разрешения учетной записи службы в любом случае никогда не устанавливались через TF — это те разрешения, которые применяются при включении API в GCP, поэтому они выполняются ими в фоновом режиме. Теперь нашим кластером GKE можно снова управлять, он может автоматически масштабироваться и т. Д.

Однако теперь, когда я запускаю наш план терраформирования, я получаю ошибку 500 на ресурсе, который ранее никогда не был проблемой (отредактированная информация о сенситиве).:

 2021-09-09T18:47:50.794Z [INFO]  provider.terraform-provider-google-beta_v3.60.0_x5: 2021/09/09 18:47:50 [DEBUG] Retry Transport: Finished waiting 4s before next retry: timestamp=2021-09-09T18:47:50.794Z
2021-09-09T18:47:50.794Z [INFO]  provider.terraform-provider-google-beta_v3.60.0_x5: 2021/09/09 18:47:50 [DEBUG] Retry Transport: request attempt 5: timestamp=2021-09-09T18:47:50.794Z
2021-09-09T18:47:50.794Z [INFO]  provider.terraform-provider-google-beta_v3.60.0_x5: 2021/09/09 18:47:50 [DEBUG] Google API Request Details:
---[ REQUEST ]---------------------------------------
GET /v1/services/servicenetworking.googleapis.com/connections?alt=jsonamp;network=projects/411211291013/global/networks/**********amp;prettyPrint=false HTTP/1.1
Host: servicenetworking.googleapis.com
User-Agent: google-api-go-client/0.5 Terraform/1.0.6 ( https://www.terraform.io) Terraform-Plugin-SDK/2.4.4 terraform-provider-google-beta/dev
X-Goog-Api-Client: gl-go/1.14.5 gdcl/20210211
Accept-Encoding: gzip


-----------------------------------------------------: timestamp=2021-09-09T18:47:50.794Z
2021-09-09T18:47:51.601Z [INFO]  provider.terraform-provider-google-beta_v3.60.0_x5: 2021/09/09 18:47:51 [DEBUG] Google API Response Details:
---[ RESPONSE ]--------------------------------------
HTTP/2.0 500 Internal Server Error
Cache-Control: private
Content-Type: application/json; charset=UTF-8
Date: Thu, 09 Sep 2021 18:47:51 GMT
Server: ESF
Vary: Origin
Vary: X-Origin
Vary: Referer
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 0

{
  "error": {
    "code": 500,
    "message": "An internal exception occurred.,
    "errors": [
      {
        "message": "An internal exception occurred.nHelp Token: Ae-hA1PlQyCLBCgXD3Lle******************************************vhHU8zy1z9h",
        "domain": "global",
        "reason": "backendError"
      }
    ],
    "status": "INTERNAL"
  }
}

│ Error: googleapi: Error 500: An internal exception occurred.
│ Help Token: Ae-hA1ONdq************************************m0k, backendError
│ 
│   with google_service_networking_connection.private_vpc_connection,
│   on vpc.tf line 81, in resource "google_service_networking_connection" "private_vpc_connection":
│   81: resource "google_service_networking_connection" "private_vpc_connection"
 

Случалось ли с кем-нибудь подобное раньше? Вещи, которые я пробовал до сих пор:

  • Я трижды проверил, все разрешения теперь такие, какими они были
  • Я могу успешно получить/перечислить сведения о пиринге service_networking в качестве своей учетной записи вручную, а также учетной записи службы terraform, которая запускает план
  • Пиринг в сервисной сети отлично отображается в консоли

Ответ №1:

Обновление: Это произошло из-за отсутствия разрешения на API servicenetworking. Учетная запись службы по умолчанию, созданная roles/servicenetworking.serviceAgent по умолчанию, снова нуждалась в разрешении после ее удаления.

Более подробная информация здесь