Vorschauergebnisse exportieren und ansehen

Auf dieser Seite wird beschrieben, wie Sie die Ergebnisse einer Vorschau exportieren und ansehen. Eine Vorschau beschreibt die Aktionen, die zum Ausführen einer bestimmten Terraform-Konfiguration erforderlich sind. Bevor Sie ein neues Deployment erstellen oder ein Deployment aktualisieren, können Sie sich eine Vorschau des Deployments ansehen, um zu prüfen, was sich ändern soll.

Wenn Sie die Vorschau, die Sie sich ansehen möchten, noch nicht erstellt haben, lesen Sie den Abschnitt Vorschau einer Bereitstellung.

Auf dieser Seite wird davon ausgegangen, dass Sie mit Terraform vertraut sind. Weitere Informationen finden Sie unter Terraform und Infrastructure Manager.

Hinweise

  1. Infra Manager aktivieren.
  2. Prüfen Sie, ob Sie die IAM-Berechtigungen haben, die zum Exportieren von Vorschauen erforderlich sind: roles/config.admin.
  3. Erstellen Sie eine Vorschau-Bereitstellung.

Ergebnisse der Vorschau exportieren

Um die Ergebnisse einer Vorschau zu prüfen, müssen Sie sie zuerst exportieren. Sehen Sie sich die exportierten Ergebnisse dann mit einem geeigneten Tool an.

Damit Sie eine Vorschau exportieren können, muss ihr Status SUCCEEDED oder STALE sein. Mit den Befehlen „describe“ oder „list“ können Sie den aktuellen Status einer Vorschau aufrufen.

Exportieren Sie die Ergebnisse einer Vorschau und speichern Sie sie lokal mit dem folgenden Befehl:

gcloud infra-manager previews export projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID

Ersetzen Sie:

  • PROJECT_ID: die Projekt-ID, unter der Infrastructure Manager ausgeführt wird.
  • LOCATION: Der Ort, an dem Infra Manager ausgeführt wird. Eine Liste der gültigen Standorte finden Sie unter Infrastructure Manager-Standorte.
  • PREVIEW_ID: Die von Ihnen angegebene Vorschau-ID. Weitere Informationen zu Einschränkungen für die Vorschau-ID finden Sie unter Vorschauname.

Ergebnisse der Vorschau ansehen

Die Ergebnisse werden in zwei Formaten exportiert: als binäre Plandatei und als JSON-Darstellung. Sie können die Ergebnisse in beiden Formaten ansehen. Um die Ergebnisse anzusehen, verwenden Sie ein geeignetes Tool für das Format.

Binärplandatei prüfen

So rufen Sie die binäre Plan-Datei auf:

  1. Prüfen Sie, ob die Terraform CLI installiert ist.

  2. Prüfen Sie, ob die Terraform-Konfiguration, mit der Sie die Vorschau erstellt haben, lokal vorhanden und mit terraform init initialisiert ist.

  3. Drucken Sie den vorgeschlagenen Plan mit terraform show.

JSON-Darstellung prüfen

Um die JSON-Darstellung aufzurufen, können Sie Ihre IDE oder Tools wie jq verwenden.

Um Richtlinieneinschränkungen zu erzwingen, können Sie die JSON-Darstellung mit Tools wie Terraform vet verwenden.

Details zu Ressourcenänderungen und ‑abweichungen ansehen

Mithilfe von Vorschauen können Sie die Ressourcendrift für Ihre Bereitstellung ansehen. Die Anzeige von Ressourcenabweichungen für Ihre Deployments ist nützlich, um zu prüfen, ob Änderungen an Ihren Konfigurationen beabsichtigt sind, und um zusammenzufassen, wie sich Ihr Deployment ändert, wenn es mit einer bestimmten Vorschau aktualisiert wird.

Wenn Sie eine Vorschau erstellen, verwenden Sie die Infra Manager API, um Änderungen an Ihren Ressourcen zu sehen, während Sie Ihre Deployments aktualisieren.

Ressourcendrift ansehen

Rufen Sie ListResourceDrifts auf, um die Ressourcenabweichung zu sehen:

curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
"https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceDrifts"

Ersetzen Sie:

  • PROJECT_ID: Die Kennung des Google Cloud Projekts, in dem sich Ihre Vorschau-Bereitstellung befindet.
  • LOCATION: Die Region oder Zone Ihrer Vorabbereitstellung.
  • PREVIEW_ID: Die Kennung Ihrer Preview-Bereitstellung.

Das Ergebnis sieht so aus:

{
    "resourceDrifts": [
        {
            "name": "projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceDrifts/RESOURCE_DRIFT_ID",
            "terraformInfo": {
                "address": "google_resource_type.resource_name",
                "type": "google_resource_type",
                "resourceName": "resource_name",
                "provider": "registry.terraform.io/hashicorp/google"
            },
            "propertyDrifts": [
                {
                    "path": "$.json_path_to_property_field",
                    "before": "config-defined-state",
                    "after": "remote-state"
                }
            ]
        }
    ]
}

Details zu einem Drift ansehen

Rufen Sie GetResourceDrift auf, um Details zu einer Abweichung aufzurufen:

curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
"https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceDrifts/RESOURCE_DRIFT_ID"

Ersetzen Sie:

  • PROJECT_ID: Die Kennung des Google Cloud Projekts, in dem sich Ihre Vorschau-Bereitstellung befindet.
  • LOCATION: Die Region oder Zone Ihrer Vorabbereitstellung.
  • PREVIEW_ID: Die Kennung Ihrer Preview-Bereitstellung.
  • RESOURCE_DRIFT_ID: Die Kennung Ihres Drifts.

Das Ergebnis sieht so aus:

{
    "name": "projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceDrifts/RESOURCE_DRIFT_ID",
    "terraformInfo": {
        "address": "google_resource_type.resource_name",
        "type": "google_resource_type",
        "resourceName": "resource_name",
        "provider": "registry.terraform.io/hashicorp/google"
    },
    "propertyDrifts": [
        {
            "path": "$.json_path_to_property_field",
            "before": "config-defined-state",
            "after": "remote-state"
        }
    ]
}

Vorschau von Ressourcenänderungen ansehen

Mit Vorschauen können Sie prüfen, wie sich Ihre Ressourcen ändern, wenn Sie eine Bereitstellung über Ihre Vorschau aktualisieren.

Ressourcenänderungen ansehen

Wenn Sie sehen möchten, wie sich Ihr Vorschau-Deployment auf Ihre Ressourcen auswirkt, rufen Sie ListResourceChanges auf:

curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
"https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceChanges"

Ersetzen Sie:

  • PROJECT_ID: Die Kennung des Google Cloud Projekts, in dem sich Ihre Vorschau-Bereitstellung befindet.
  • LOCATION: Die Region oder Zone Ihrer Vorabbereitstellung.
  • PREVIEW_ID: Die Kennung Ihrer Preview-Bereitstellung.
  • RESOURCE_CHANGE_ID: Die Kennung Ihrer Ressourcenänderung.

Das Ergebnis sieht so aus:

{
    "resourceChanges": [
        {
            "name": "projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceChanges/RESOURCE_CHANGE_ID",
            "terraformInfo": {
                "address": "google_resource_type.resource_name",
                "type": "google_resource_type",
                "resourceName": "resource_name",
                "provider": "registry.terraform.io/hashicorp/google",
                "actions": [
                    "update"
                ]
            },
            "intent": "UPDATE",
            "propertyChanges": [
                {
                    "path": "$.json_path_to_property_field1",
                    "before": "true"
                },
                {
                    "path": "$.json_path_to_property_field2",
                    "before": "old value",
                    "after": "new value"
                }
            ]
        }
    ]
}

Details einer Ressourcenänderung ansehen

So rufen Sie Details zu einer Ressourcenänderung auf:GetResourceChange

curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
"https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceChanges/RESOURCE_CHANGE_ID"

Ersetzen Sie:

  • PROJECT_ID: Die Kennung des Google Cloud Projekts, in dem sich Ihre Vorschau-Bereitstellung befindet.
  • LOCATION: Die Region oder Zone Ihrer Vorabbereitstellung.
  • PREVIEW_ID: Die Kennung Ihrer Preview-Bereitstellung.
  • RESOURCE_CHANGE_ID: Die Kennung Ihrer Ressourcenänderung.

Das Ergebnis sieht so aus:

{
    "name": "projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceChanges/RESOURCE_CHANGE_ID",
    "terraformInfo": {
        "address": "google_resource_type.resource_name",
        "type": "google_resource_type",
        "resourceName": "resource_name",
        "provider": "registry.terraform.io/hashicorp/google",
        "actions": [
            "update"
        ]
    },
    "intent": "UPDATE",
    "propertyChanges": [
        {
            "path": "$.json_path_to_property_field1",
            "before": "true"
        },
        {
            "path": "$.json_path_to_property_field2",
            "before": "old value",
            "after": "new value"
        }
    ]
}

Nächste Schritte