Auf dieser Seite wird Folgendes beschrieben:
Details und Protokolle für Bereitstellungen und einzelne Überarbeitungen prüfen
Strategien zur Fehlerbehebung bei häufigen Fehlern, die beim Bereitstellen einer Terraform-Konfiguration auftreten können.
Bereitstellungsdetails und ‑protokolle prüfen
Sie können Details und Protokolle sowohl für die Bereitstellung als auch für einzelne Versionen prüfen.
Status der Bereitstellung prüfen
Jede Bereitstellung enthält Informationen zum aktuellen Status, zum Fehlercode und zu den Fehlerursachen.
Wenn Fehler auftreten, prüfen Sie zuerst den Status einer Bereitstellung.
Status einer Version prüfen
Wenn eine Bereitstellung mit dem Fehlercode REVISION_FAILED
fehlschlägt, können Sie sich den Status einer Version ansehen.
Sehen Sie sich in der Ausgabe des Status der Version die Felder stateDetail
und errorCode
an.
Der Status der Version enthält dieselben Informationen wie bei einer Bereitstellung. Außerdem enthält sie die Build-ID.
Cloud Build-Logs prüfen
Sehen Sie sich den Status einer Version an und rufen Sie die Build-ID des von der Version verwendeten Cloud Build ab.
Verwenden Sie die Build-ID, um die Cloud Build-Logs zu prüfen. Weitere Informationen zum Prüfen von Build-Ergebnissen finden Sie unter Build-Ergebnisse ansehen.
Häufige Fehler
In diesem Abschnitt werden häufige Fehler beschrieben, die beim Bereitstellen einer Terraform-Konfiguration mit Infra Manager auftreten können.
Fehlgeschlagene Bereitstellung
Wenn der Bereitstellungsstatus FAILED
ist, ist bei der Bereitstellung ein unerwarteter Fehler aufgetreten.
Sehen Sie sich den Status der Bereitstellung an und prüfen Sie die Felder stateDetail
und errorCode
.
Wenn eine Bereitstellung mit dem Fehlercode REVISION_FAILED
fehlschlägt, können Sie den Status der Version prüfen.
Konfigurationsfehler
Wenn der Status der Bereitstellung FAILED
ist, ist sie möglicherweise aufgrund von Konfigurationsfehlern in der Terraform-Konfiguration fehlgeschlagen.
Wenn der Bereitstellungsfehler mit Ihrer Konfiguration zusammenhängt, sind die Felder tfErrors
und errorLogs
in der Ausgabe des Status der Bereitstellung enthalten.
Beispiele für Konfigurationsfehler sind eine ungültige Konfiguration oder fehlende Berechtigungen.
Rufen Sie die Fehler von Terraform auf. In der Ausgabe des Status der Bereitstellung:
tfErrors
ist eine Zusammenfassung der von Terraform erkannten Fehler (in Infra Manager auf 10 Fehler in dieser Liste beschränkt).errorLogs
auf ein Cloud Storage-Objekt in Ihrem Artefakt-Bucket verweisen. Dieser Bucket enthält alletfErrors
im JSON-Format mit Zeilenumbrüchen als Trennzeichen.
Jedes tfError
hat eine Ressourcenadresse und eine menschenlesbare Fehlerbeschreibung im Feld errorDescription
. Wenn die Ressource aufgrund eines HTTP-Fehlercodes fehlschlägt, der von einer Google Cloud API zurückgegeben wird, wird auch das Feld httpResponseCode
ausgefüllt. Alle zusätzlichen Informationen zum API-Fehler werden im Fehlerfeld erfasst.
Dem Dienstkonto fehlen Berechtigungen zum Abrufen der Konfiguration
Sie sehen folgende Fehlermeldung:
error downloading 'GCS_LOCATION': googleapi: Error 403: SA_EMAIL does
not have storage.objects.list access to the Google Cloud Storage bucket.
Dieser Fehler wird angezeigt, weil Infra Manager keine Berechtigung hat, die Terraform-Konfiguration aus dem Cloud Storage-Bucket abzurufen.
Weisen Sie dem Dienstkonto die Rolle storage.objectViewer
zu, um das Problem zu beheben. Weitere Informationen zum Gewähren von Berechtigungen für das Dienstkonto finden Sie unter Dienstkonto konfigurieren.
Falscher Ort zum Abrufen der Konfiguration
Sie sehen folgende Fehlermeldung:
`blueprint fetch failed: invalid path`
Dieser Fehler wird angezeigt, wenn ein ungültiger Speicherort für das Abrufen der Terraform-Konfiguration angegeben wurde. In Infra Manager wird der Begriff Blueprint für eine Terraform-Konfiguration verwendet.
Prüfen Sie den Speicherort der Terraform-Konfiguration und achten Sie darauf, dass er im Befehl korrekt formatiert ist.
Falsche Berechtigung zum Auslösen von Ressourcen
Fehler werden normalerweise unter tfErrors
mit dem Antwortcode 403
für die Ressourcen aufgeführt, die nicht bereitgestellt werden konnten.
Dieser Fehler wird angezeigt, wenn das Dienstkonto nicht ausreichend berechtigt ist, in der Terraform-Konfiguration definierte Ressourcen zu erstellen, zu lesen, zu aktualisieren oder zu löschen.
Weitere Informationen finden Sie unter Dem Dienstkonto IAM-Berechtigungen erteilen.
Konfiguration mit Backend
Sie sehen folgende Fehlermeldung:
`blueprint invalid: found backend config in file.tf`
Dieser Fehler wird angezeigt, wenn die Terraform-Konfiguration einen Backend-Block enthält. Infrastructure Manager verwaltet das Backend, sodass in der Terraform-Konfiguration kein Back-End-Block definiert werden kann.
Entfernen Sie den Backend-Block aus der Konfiguration, um diesen Fehler zu beheben.
Cloud Build-Repository-Konfiguration prüfen
Wenn Infra Manager nicht auf Ihr Git-Repository zugreifen kann (über ein privates Git-Repository oder einen automatisierten Cloud Build-Workflow), müssen Sie möglicherweise prüfen, ob Ihr Cloud Build-Repository richtig konfiguriert ist.
Informationen dazu, ob das Cloud Build-Repository so konfiguriert wurde, dass es Zugriff auf das private Repository gewährt, finden Sie unter Verbindung zu einem GitHub-Repository herstellen.
Infra Manager verwendet die erste Verbindung, bei der die Cloud Build-Repository-URL mit der Terraform-Konfiguration (--git-source-repo
) übereinstimmt und bei der ein Lesezugriffstoken generiert werden kann.
Die Repository-Verbindung wird direkt durch einen Aufruf der accessReadToken API im ausgewählten Cloud Build-Repository validiert.
Führen Sie diesen Befehl mit dem Infra Manager-Dienstkonto aus, um zu prüfen, ob die Berechtigungen korrekt sind:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token \
--impersonate-service-account=SERVICE_ACCOUNT)" \
"https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/connections/CB_CONNECTION/repositories/CB_REPO:accessReadToken"
Nächste Schritte
- Weitere Informationen zu Terraform mit Google Cloud
- Bereitstellung aktualisieren
- Status einer Bereitstellung ansehen
- Bereitgestellte Ressourcen ansehen
- Deployment löschen