OCI Terraform einrichten

Richten Sie Oracle Cloud Infrastructure-Terraform-Providerskripte ein, die in Terraform Registry dokumentiert sind, um eine Verbindung zu einem OCI-Account herzustellen. Bestätigen Sie das Setup, indem Sie Informationen aus dem Mandanten abrufen.

Zu den wichtigsten Aufgaben gehören:

  • Erstellen Sie RSA-Schlüssel.
  • Richten Sie Oracle Cloud Infrastructure-Terraform-Providerskripte ein:
    • Authentifizieren Sie Ihre Terraform-Skripte.
    • Rufen Sie Informationen zu den Availability-Domains im Mandanten ab.
Ein Diagramm eines Benutzers, der über eine lokale Umgebung mit einem Oracle Cloud Infrastructure-Mandanten verbunden ist. Die lokale Umgebung ist Linux, und Terraform ist installiert. Ein Pfeil führt von Terraform in der lokalen Umgebung zu Terraform Registry in der Cloud. Ein zweiter Pfeil sendet eine Nachricht mit dem Label "Authentifizieren?" von der lokalen Umgebung an den Oracle Cloud Infrastructure-Mandanten des Benutzers. Ein dritter Pfeil mit dem Label "Daten abrufen" verläuft vom Mandanten zur lokalen Umgebung. Diese Pfeile deuten darauf hin, dass der Benutzer seine Terraform-Skripte für eine Authentifizierung durch seinen Mandanten eingerichtet hat. Der Benutzer kann dann mit Terraform und Terraform Registry Informationen aus dem Mandanten abrufen. In diesem Beispiel zeigt der Mandant drei Availability-Domains an. Das sind die Informationen, die der Benutzer ruft.

Weitere Informationen finden Sie unter:

Bevor Sie beginnen

Für eine erfolgreiche Ausführung des Tutorials benötigen Sie Folgendes:

MacOS oder Linux
Hinweis

In diesem Tutorial wird eine Oracle Linux-VM-Umgebung mit einer AMD-Ausprägung als Beispiele verwendet. Sie können jedoch jede in diesem Abschnitt genannte Umgebung verwenden.

1. Vorbereiten

Bereiten Sie die Umgebung zur Authentifizierung und Ausführung von Terraform-Skripten vor. Erfassen Sie außerdem die Informationen, die Ihr Account zur Authentifizierung der Skripte benötigt.

Terraform installieren
In diesem Tutorial wird empfohlen, die neueste Version von Terraform zu installieren, die für OCI Resource Manager unterstützt wird. Resource Manager ist ein Service zum Erstellen von Terraform-Vorlagen für OCI-Ressourcen. Wenn Sie Resource Manager später mit Ihren Terraform-Skripten verwenden möchten, wird Ihre Terraform-Version unterstützt.
  1. Prüfen Sie in Ihrer Umgebung die Terraform-Version.
    terraform -v
    Wenn Sie nicht über die neueste unterstützte Terraform-Version verfügen, installieren Sie die neueste unterstützte Version mit den folgenden Schritten.
  2. Navigieren Sie in einem Browser zu HashiCorp Liste der Terraform-Versionen.
  3. Wählen Sie den Ordner mit der neuesten unterstützten Terraform-Version aus.

    Beispiel: terraform_1.5.7

  4. Kopieren Sie den Namen der ZIP-Datei, die Ihrer Umgebung entspricht, in einen Notizblock.

    terraform_<version>_<your_environment>.zip

    Beispiel für eine Oracle 64-Bit-Linux-AMD-Umgebung: terraform_1.5.7_linux_amd64.zip

  5. Erstellen Sie in Ihrer Umgebung ein temporäres Verzeichnis, und wechseln Sie in dieses Verzeichnis:
    mkdir temp
    cd temp
  6. Laden Sie die Terraform-ZIP-Datei herunter:
    wget https://releases.hashicorp.com/terraform/<version>/terraform_<version>_<your_environment>.zip
    Tipp

    Sie können die URL erstellen, indem Sie die Adresse aus dem Browser kopieren. Beachten Sie, dass <version> das Wort terraform nicht enthält.

    Beispiel:

    wget https://releases.hashicorp.com/terraform/1.5.7/terraform_1.5.7_linux_amd64.zip

    Wenn Sie einen Verbindungsfehler sehen und sich auf VPN befinden, überprüfen Sie Ihre Proxyeinstellungen. Siehe Fehlerbehebung.

  7. Datei komprimieren. Beispiel
    unzip terraform_1.5.7_linux_amd64.zip
  8. Verschieben Sie den entpackten Ordner in einen Ordner, der die Binärdateien der Drittanbieteranwendungen enthält, die Sie installieren. Beispiel: Verschieben Sie für Oracle Linux den dekomprimierten Ordner in /usr/local/bin:
    sudo mv terraform /usr/local/bin
  9. Gehen Sie zu Ihrem Home-Verzeichnis zurück:
    cd
  10. Prüfen Sie die Terraform-Version:
    terraform -v

    Beispiel: Terraform v1.5.7 on linux_amd64

    Ignorieren Sie alle Meldungen, die darauf hinweisen, dass die Version von Terraform veraltet ist. Wichtig ist, die neueste unterstützte Terraform-Version zu verwenden.

Sie haben Terraform jetzt erfolgreich installiert.
RSA-Schlüssel erstellen
Sie erstellen RSA-Schlüssel für eine API-Anmeldung bei Ihrem Oracle Cloud Infrastructure-Account.
Hinweis

Überspringen Sie das Erstellen von RSA-Schlüsseln, wenn:
  • Sie verwenden Cloud Shell oder Resource Manager. Sie sind bereits authentifiziert, wenn Sie sich bei der Oracle Cloud-Konsole anmelden.
  • Sie haben bereits RSA-Schlüssel für das Tutorial Ressourcen-Discovery einrichten erstellt.
  1. Öffnen Sie ein Terminalfenster.
  2. Erstellen Sie unter Ihrem Home-Verzeichnis ein Verzeichnis .oci.
    mkdir <your-home-directory>/.oci

    Beispiel für Oracle Linux:

    mkdir /home/opc/.oci
    Hinweis

    Wenn Sie das Windows-Subsystem für Linux (WSL) verwenden, erstellen Sie das Verzeichnis /.oci direkt in der Linux-Umgebung. Wenn Sie das Verzeichnis /.oci in einem Ordner /mnt (Windows-Dateisystem) erstellen, müssen Sie mit dem Befehl chmod die Berechtigungen für die WSL-Konfigurationsdateien ändern.
  3. Generieren Sie einen 2048-Bit-Private Key in einem PEM-Format:
    openssl genrsa -out <your-home-directory>/.oci/<your-rsa-key-name>.pem 2048
  4. Ändern Sie die Berechtigungen, damit nur Sie die Private-Key-Datei lesen und darin schreiben können:
    chmod 600 <your-home-directory>/.oci/<your-rsa-key-name>.pem
  5. Generieren Sie den Public Key:
    openssl rsa -pubout -in <your-home-directory>/.oci/<your-rsa-key-name>.pem -out $HOME/.oci/<your-rsa-key-name>_public.pem
  6. Kopieren Sie den Public Key.
    Geben Sie im Terminal Folgendes ein:
    cat <your-home-directory>/.oci/<your-rsa-key-name>_public.pem

    Beispiel (Auszug):

    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoTFqF...
    ...
    -----END PUBLIC KEY——
  7. Fügen Sie den Public Key zu Ihrem Benutzeraccount hinzu.
    1. Melden Sie sich bei der Oracle Cloud-Konsole an.
    2. Wählen Sie im Navigationsmenü das Menü Profil Symbol für Profilmenü aus, und wählen Sie je nach der angezeigten Option Benutzereinstellungen oder Mein Profil aus.
    3. Wählen Sie API-Schlüssel aus.
    4. Wählen Sie API-Schlüssel hinzufügen aus.
    5. Wählen Sie Public Key einfügen aus.
    6. Fügen Sie den Wert aus dem vorherigen Schritt ein, einschließlich der Zeilen mit BEGIN PUBLIC KEY und END PUBLIC KEY.
    7. Klicken Sie auf Hinzufügen.

      Das Dialogfeld Vorschau der Konfigurationsdatei wird geöffnet. Beispiel:

      [DEFAULT]
      user=ocid1.user.oc1..exampleid
      fingerprint=exampleid
      tenancy=ocid1.tenancy.oc1..exampleid
      region=us-ashburn-1
      key_file=<path to your private keyfile> # TODO
    8. Wählen Sie Kopieren aus, und fügen Sie sie in den Notizblock ein.

      Die Vorschau der Konfigurationsdatei enthält Informationen, die Sie später benötigen, wie Mandanten- und Benutzer-OCIDs, Fingerprint und Region.

Sie haben nun die RSA-Schlüssel für die Verbindung mit dem OCI-Account eingerichtet.

Verweis
So generieren Sie einen API-Signaturschlüssel
Listen-Policy hinzufügen

Wenn sich Ihr Benutzername in der Gruppe Administrators befindet, überspringen Sie diesen Abschnitt. Andernfalls bitten Sie den Administrator, die folgende Policy zu Ihrem Mandanten hinzuzufügen:

allow group <a-group-that-your-username-belongs-to> to read all-resources in tenancy

Mit dieser Berechtigung können Sie alle Ressourcen im Mandanten auflisten.

Schritte zum Hinzufügen der Policy
  1. Melden Sie sich bei der Oracle Cloud-Konsole an.
  2. Wählen Sie im Navigationsmenü das Menü Profil Symbol für Profilmenü aus, und wählen Sie je nach der angezeigten Option Benutzereinstellungen oder Mein Profil aus.
  3. Wählen Sie je nach der angezeigten Option Gruppen oder Meine Gruppen aus.
  4. Kopieren Sie den Namen einer Gruppe, zu der Ihr Benutzername gehört.
  5. Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus.
  6. Wählen Sie das Compartment aus: <your-tenancy>(root)
  7. Wählen Sie Policy erstellen aus.
  8. Geben Sie auf der Seite Policy erstellen die folgenden Werte ein:
    • Name: list-resources
    • Beschreibung: Allow the group <a-group-that-your-username-belongs-to> to list the resources in this tenancy.
    • Compartment: <your-tenancy>(root)
  9. Wählen Sie unter Policy Builder die Option Manuellen Editor anzeigen aus.
  10. Fügen Sie die folgende Policy ein:
    allow group <a-group-that-your-username-belongs-to> to read all-resources in tenancy
  11. Wählen Sie Erstellen.

Referenz: Allgemeine Policys

Erforderliche Informationen erfassen

Bereiten Sie die Informationen vor, die Sie zur Authentifizierung Ihrer Terraform-Skripte benötigen, und kopieren Sie die Informationen in einen Notizblock.

  1. Erfassen Sie den Pfad zum Private Key, den Sie unter RSA-Schlüssel erstellen hinzugefügt haben.

    Beispiel für Oracle Linux: /home/opc/.oci/<your-rsa-key-name>.pem

  2. Erfassen Sie die Benutzer-OCID, den Fingerprint, die Mandanten-OCID und die Region aus dem API-Schlüssel, den Sie unter RSA-Schlüssel erstellen hinzugefügt haben. (Sie haben dies möglicherweise bereits in Ihrem Notizblock.)
    1. Melden Sie sich bei der Oracle Cloud-Konsole an.
    2. Wählen Sie im Navigationsmenü das Menü Profil Symbol für Profilmenü aus, und wählen Sie je nach der angezeigten Option Benutzereinstellungen oder Mein Profil aus.
    3. Wählen Sie API-Schlüssel aus.
    4. Suchen Sie den API-Schlüssel, den Sie unter RSA-Schlüssel erstellen hinzugefügt haben.
    5. Wählen Sie im Menü Aktionen für den Schlüssel die Option Konfigurationsdatei anzeigen aus.

      Das Dialogfeld Vorschau der Konfigurationsdatei wird geöffnet. Beispiel:

      [DEFAULT]
      user=ocid1.user.oc1..exampleid
      fingerprint=xx:xx:xx...xx
      tenancy=ocid1.tenancy.oc1..exampleid
      region=us-ashburn-1
      key_file=<path to your private keyfile> # TODO
    6. Wählen Sie Kopieren aus, und fügen Sie sie in den Notizblock ein.

2. Skripte erstellen

Erstellen Sie Skripte zur Authentifizierung, zum Abrufen von Daten aus Ihrem Konto und zum Drucken von Ausgaben.

Auf API-Schlüssel basierende Authentifizierung hinzufügen
Richten Sie zuerst ein Verzeichnis für Terraform-Skript ein. Fügen Sie dann ein Providerskript hinzu, damit Ihr OCI-Account die in diesem Verzeichnis ausgeführten Skripte authentifizieren kann. Fügen Sie schließlich ein Versionsskript mit einem required_providers-Block hinzu, um die erforderlichen Providerversionen zu deklarieren.
  1. Erstellen Sie in <your-home-directory> ein Verzeichnis mit dem Namen tf-provider, und wechseln Sie zu diesem Verzeichnis.
    mkdir tf-provider
    cd tf-provider
  2. Erstellen Sie eine Datei mit dem Namen provider.tf.
  3. Fügen Sie folgenden Code zu provider.tf hinzu:
    • Ersetzen Sie die Felder mit Klammern durch Informationen, die Sie unter Erforderliche Informationen erfassen erfasst haben.
    • Fügen Sie Zeichenfolgenwerte in Anführungszeichen ein.
    provider "oci" {
      tenancy_ocid = "<tenancy-ocid>"
      user_ocid = "<user-ocid>" 
      private_key_path = "<rsa-private-key-path>"
      fingerprint = "<fingerprint>"
      region = "<region-identifier>"
    }
  4. Speichern Sie die Datei provider.tf.
  5. Erstellen Sie im selben Verzeichnis eine Datei namens versions.tf.
  6. Fügen Sie folgenden Code zu versions.tf hinzu:
    terraform {
      required_providers {
        oci = {
          source  = "oracle/oci"
          version = ">=4.67.3"
        }
      }
      required_version = ">= 1.0.0"
    }
  7. Speichern Sie die Datei versions.tf.
Erläuterung

Verwenden Sie die folgenden Variablen für die auf API-Schlüssel basierende Authentifizierung:

  • tenancy_ocid
  • user_ocid
  • private_key_path
  • fingerprint
  • region
Details zum OCI-Terraform-Provider finden Sie unter:
Tipp

Sie müssen den Provider nicht installieren. Der Provider wird heruntergeladen, wenn Sie die Skripte in diesem Tutorial ausführen.
Datenquelle hinzufügen
In diesem Abschnitt rufen Sie eine Liste der Availability-Domains im Mandanten ab. Durch das Abrufen von Daten bestätigen Sie, dass der OCI-Account Ihr provider.tf-Skript authentifiziert, und Sie erhalten Informationen von Ihrem Account.
  1. Erstellen Sie im Verzeichnis tf-provider eine Datei mit dem Namen availability-domains.tf.
    Wichtig

    Stellen Sie sicher, dass sich alle *.tf-Dateien im selben Verzeichnis befinden. Terraform verarbeitet alle Dateien in einem Verzeichnis in der richtigen Reihenfolge, basierend auf ihrer Beziehung. (Für einen modularen Ansatz und eine zukünftige Wiederverwendung stellen Sie Providerinformationen in eine separate Datei von anderen Skripten ein.)
  2. Fügen Sie den folgenden Code zu availability-domains.tf hinzu, und ersetzen Sie das Feld durch Klammern. Weitere Informationen finden Sie unter Erforderliche Informationen erfassen.
    # Source from https://registry.terraform.io/providers/oracle/oci/latest/docs/data-sources/identity_availability_domains
    
    # Tenancy is the root or parent to all compartments.
    # For this tutorial, use the value of <tenancy-ocid> for the compartment OCID.
    
    data "oci_identity_availability_domains" "ads" {
      compartment_id = "<tenancy-ocid>"
    }
    Hinweis

    Die Datenquelle erhält eine Liste der Availability-Domains im gesamten Mandanten. Der Mandant ist die Compartment-OCID für das Root Compartment. Wenn Sie eine bestimmte "<compartment-ocid>" oder "<tenancy-ocid>" angeben, wird dieselbe Liste ausgegeben.
Erläuterung

Verwenden Sie in Terraform zum Abrufen von Daten eine Datenquelle. Das Abrufen von Daten aus einer Datenquelle ähnelt der GET-Methode in REST-APIs.

  • Gehen Sie zu Oracle Cloud Infrastructure-Provider.
  • Geben Sie im Feld Filter oben links availability domains ein.
  • Gehen Sie unter Identität zu Datenquellen, und wählen Sie oci_identity_availability_domains aus.

    Der Titel der Seite ist der Ressourcentyp: oci_identity_availability_domains

  • Suchen Sie den Namen der Datenquelle im Titel der Seite:
    • Datenquelle:
  • Suchen Sie im Abschnitt "Argumentreferenz" nach allen Argumenten (Eingaben) mit dem Label (erforderlich):
    • compartment_id
  • Erstellen Sie einen Datenquellenblock:
    • Erklären Sie eine Datenquelle mit dem Schlüsselwort: data.
    • Fügen Sie ein Label für den Datenquellennamen hinzu: "oci_identity_availability_domains"
    • Fügen Sie ein Label Ihrer Wahl für den lokalen Namen hinzu:
      • Das Label darf Buchstaben, Ziffern, Unterpunkte (_) und Bindestriche (-) enthalten. Das erste Zeichen darf keine Ziffer sein.
      • In diesem Tutorial wird der lokale Name "ads" verwendet, um data "oci_identity_availability_domains" "ads" zu erstellen.
    • Geben Sie im Codeblock Werte für alle erforderlichen Argumente an.
      • Beispiel: compartment_id = "<some-compartment-ocid>"
    • Geben Sie für optionale Argumente Werte an, um die Abrufergebnisse einzugrenzen. Nur einige Datenquellen verfügen über optionale Argumente.
Ausgaben hinzufügen

Die Datenquelle oci_identity_availability_domains ruft eine Liste der Availability-Domains ab. In diesem Abschnitt deklarieren Sie einen Ausgabeblock, um die abgerufenen Informationen zu drucken.

  1. Erstellen Sie im Verzeichnis tf-provider eine Datei mit dem Namen outputs.tf.
  2. Fügen Sie den folgenden Code zu outputs.tf hinzu.
    # Output the "list" of all availability domains.
    output "all-availability-domains-in-your-tenancy" {
      value = data.oci_identity_availability_domains.ads.availability_domains
    }
  3. Speichern Sie die Datei outputs.tf.
    Wichtig

    Stellen Sie sicher, dass sich alle *.tf-Dateien im selben Verzeichnis befinden. Terraform verarbeitet alle Dateien in einem Verzeichnis in der richtigen Reihenfolge, basierend auf ihrer Beziehung.
Erläuterung
  • Gehen Sie zu Attributreferenz (oci_identity_availability_domains).
    Hinweis

    Attribute sind die Ausgaben, die Sie für die Datenquelle oci_identity_availability_domains zurückgeben können.
  • Suchen Sie nach den Attributen:
    • Attribut: availability_domains:
      • Die Liste der Availability-Domains
      • Wenn Sie availability_domains: ausgeben, erhalten Sie drei Attribute für jede Availability-Domain in der Liste:
        • compartment_id
        • id
        • Name
  • Datenquellenausgabeblock erstellen:
    • Deklarieren Sie einen Ausgabeblock mit dem Schlüsselwort: output
    • Hinzufügen eines zu druckenden Etiketts zu den Ausgabeergebnissen:
      • Das Label darf Buchstaben, Ziffern, Unterpunkte (_) und Bindestriche (-) enthalten. Das erste Zeichen darf keine Ziffer sein.
      • Beispiel: "all-availability-domains-in-your-tenancy"
    • Geben Sie im Codeblock einen Wert für die Datenquellenausgabe mit folgendem Ausdruck ein:
      • value = data.<data-source-name>.<local-name-for-data-source>.<attribute>
      • Beispiel: value = data.oci_identity_availability_domains.ads.availability_domains

3. Skripte ausführen

Führen Sie die Terraform-Skripte aus. Nachdem Ihr Account die Skripte authentifiziert hat, ruft Terraform die Availability-Domains des Mandanten ab.

Initialisieren
Initialisieren Sie ein Arbeitsverzeichnis im Verzeichnis tf-provider.
  1. Führen Sie den Terraform-Befehl init aus.
    terraform init

    Beispielausgabe:

    Initializing the backend...
    
    Initializing provider plugins...
    
    Terraform has been successfully initialized!

    Wenn ein Verbindungsfehler oder ein Fehler "Abfrage fehlgeschlagen" angezeigt wird und Sie sich auf VPN befinden, überprüfen Sie Ihre Proxyeinstellungen. Siehe Fehlerbehebung.

  2. Prüfen Sie den Inhalt des Verzeichnisses tf-provider.
    ls -a

Sie haben jetzt einen Ordner mit dem Namen .terraform, der die Plug-ins für den OCI-Provider enthält.

Plan
Erstellen Sie einen Ausführungsplan, um zu prüfen, ob die im Ausführungsplan angezeigten Änderungen mit Ihren Erwartungen übereinstimmen, ohne die echten Ressourcen zu ändern.
Führen Sie den Terraform-Befehl plan aus.
terraform plan

Beispielausgabe:

data.oci_identity_availability_domains.ads: Reading...
data.oci_identity_availability_domains.ads: Read complete after 1s [id=xxx]

Changes to Outputs:
  + all-availability-domains-in-your-tenancy = [
      + {
          + compartment_id = "ocid1.tenancy.oc1..xxx"
          + id             = "ocid1.availabilitydomain.xxx"
          + name           = "QnsC:US-ASHBURN-AD-1"
        },
      + {
          + compartment_id = "ocid1.tenancy.oc1..xxx"
          + id             = "ocid1.availabilitydomain.yyy"
          + name           = "QnsC:US-ASHBURN-AD-2"
        },
      + {
          + compartment_id = "ocid1.tenancy.oc1..xxx"
          + id             = "ocid1.availabilitydomain.zzz"
          + name           = "QnsC:US-ASHBURN-AD-3"
        },
    ]

You can apply this plan to save these new output values to the Terraform state, without changing any real
infrastructure.
Hinweis

  • Sie rufen Daten ab, daher zeigt der Plan an, dass Sie nur Ausgaben hinzufügen. Sie fügen keine Ressourcen hinzu, ändern oder zerstören sie.
  • Sie verwenden die Datei output.tf anstelle der Option -out, sodass Sie die folgende Meldung ignorieren können:
    Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform
    apply" now.
Einspielen
  1. Führen Sie Ihre Terraform-Skripte aus, und rufen Sie die Ausgaben ab:
    terraform apply
  2. Wenn Sie zur Bestätigung aufgefordert werden, geben Sie yes ein.

    Nach Ausführen des apply-Befehls wird die Ausgabe im Terminal angezeigt.

    Beispielausgabe:
    Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
    
    Outputs:
    
    all-availability-domains-in-your-tenancy = tolist([
      {
        "compartment_id" = "ocid1.tenancy.xxx"
        "id" = "ocid1.availabilitydomain.xxx"
        "name" = "QnsC:US-ASHBURN-AD-1"
      },
      {
        "compartment_id" = "ocid1.tenancy.xxx"
        "id" = "ocid1.availabilitydomain.xxx"
        "name" = "QnsC:US-ASHBURN-AD-2"
      },
      {
        "compartment_id" = "ocid1.tenancy.xxx"
        "id" = "ocid1.availabilitydomain.xxx"
        "name" = "QnsC:US-ASHBURN-AD-3"
      },
    ])

Herzlichen Glückwunsch. Ihr Oracle Cloud Infrastructure-Account kann jetzt Ihre Oracle Cloud Infrastructure Terraform-Providerskripte authentifizieren.

Referenzen:

Fehlerbehebung

Bei der Ausführung Ihrer Terraform-Skripte können die folgenden Fehlermeldungen auftreten.

Fehler 401 (Service error: NotAuthenticated)

Eine der folgenden Variablen hat einen falschen Wert:

  • Mandanten-OCID
  • Benutzer-OCID
  • Fingerprint
  • RSA-Private Key (Pfad oder Schlüssel)
  1. Prüfen Sie in der Datei provider.tf die Variablennamen und deren Werte.
    provider "oci" {
      tenancy_ocid = "<tenancy-ocid>"
      user_ocid = "<user-ocid>" 
      private_key_path = "<rsa-private-key-path>"
      fingerprint = "<fingerprint>"
      region = "<region-identifier>"
    }
  2. Aktualisieren Sie die Variablen oder deren Werte nach Bedarf.
  3. Stellen Sie sicher, dass Sie Anführungszeichen um Zeichenfolgenwerte herum hinzugefügt haben.
  4. Führen Sie die Skripte aus.

Client kann nicht erstellt werden, falsche Konfiguration: Es wurde keine richtige Konfiguration für den Private Key gefunden

Die Terraform-Skripte können den privaten RSA-Schlüssel nicht finden.

  1. Wiederholen Sie die Schritte zum Erstellen von RSA-Schlüsseln, und verwenden Sie den aktualisierten Schlüssel.
  2. Stellen Sie sicher, dass in der Datei provider.tf die Variable, die das RSA beschreibt, private_key_path heißt.
    private_key_path = "<rsa-private-key-path>"
  3. Stellen Sie sicher, dass der Pfad zum privaten RSA-Schlüssel in der Datei provider.tf korrekt ist. Beispiel: Stellen Sie sicher, dass der Pfad mit einem Schrägstrich beginnt und den richtigen Namen für den Private Key hat: <your-rsa-key-name>.pem
  4. Entfernen Sie Umgebungsvariablen aus <rsa-private-key-path>.

    Beispiel: Verwenden Sie in der Datei provider.tf anstelle von $HOME/.oci/<rsa-private-key-path> /home/opc/<rsa-private-key-path>.

    Hinweis

    Wenn Sie das Windows-Subsystem für Linux (WSL) verwenden, erstellen Sie das Verzeichnis /.oci direkt in der Linux-Umgebung. Wenn Sie das Verzeichnis /.oci in einem Ordner /mnt (Windows-Dateisystem) erstellen, müssen Sie mit dem Befehl chmod die Berechtigungen für die WSL-Konfigurationsdateien ändern.

Kein derartiger Host

Die Regions-ID hat einen falschen Wert.

  1. Suchen Sie in der Navigationsleiste der Konsole Ihre Region.
  2. Suchen Sie in der Tabelle unter Regionen und Availability-Domains die <region-identifier> Ihrer Region. Beispiel: us-ashburn-1.
  3. Aktualisieren Sie in der Datei provider.tf den Wert für <region-identifier>, und wiederholen Sie den Vorgang.

Verfügbare Providerpakete konnten nicht abgefragt werden

Wenn Sie ein VPN verwenden, überprüfen Sie die Proxyeinstellungen.

  1. Von VPN abmelden.
  2. Stellen Sie eine Verbindung zu Ihrer VM oder Ihrer Umgebung ohne das VPN her, und führen Sie die folgenden Terraform-Skripte aus.
    terraform init
    terraform plan
    terraform apply
    Wenn Sie keine Fehlermeldung erhalten, verursachen die VPN-Proxyeinstellungen den Fehler.
  3. Wenden Sie sich an Ihren Administrator, aktualisieren Sie die Proxyeinstellungen, und versuchen Sie es erneut.