Info zur Konfiguration von Terraform auf Windows-Systemen

Um Terraform zum Erstellen von Oracle Cloud Infrastructure-Komponenten zu verwenden, müssen Sie Terraform herunterladen und installieren. Außerdem laden Sie die Terraform-Module herunter, mit denen die Konfigurationsdateien erstellt werden, mit denen Sie die erforderlichen Infrastrukturkomponenten erstellen.

Das System, auf dem Sie Terraform installieren und die Teraform-Module speichern, kann sich entweder vor Ort oder in der Cloud befinden. Dieser Vorgang wird als lokales System oder lokaler Host bezeichnet.

Bevor Sie Terraform ausführen:

  • SSH-Schlüsselpaar generieren, mit dem Sie auf Ihre Compute-Instanzen zugreifen können

  • API-Signaturschlüssel zur Authentifizierung von API-Aufrufen von Terraform generieren

  • Von Terraform verwendete Umgebungsvariablen zur Authentifizierung des Zugriffs und Ausführung seiner Pläne festlegen

Nachdem Sie diese Schritte ausgeführt haben, können Sie die Terraform-Konfigurationsdateien anwenden, um Ihre Infrastrukturkomponenten auf Oracle Cloud Infrastructure zu erstellen.

Terraform installieren

Um Terraform auf einem Windows-System zu installieren, laden Sie das entsprechende Package von der Terraform-Website herunter.

  1. Gehen Sie zu https://www.terraform.io/downloads.html.
  2. Laden Sie das entsprechende Package auf Ihr lokales System herunter.
  3. Extrahieren Sie das Package in den Ordner C:\Program Files (x86).
    Dieser Pfad wird als Beispiel verwendet. Sie können jedoch auch die ausführbare Terraform-Datei an einem beliebigen anderen Speicherort in Ihrem lokalen System ausführen.
  4. Aktualisieren Sie die Pfadumgebungsvariable so, dass sie den Ordner enthält, in dem sich die ausführbare Terraform-Datei befindet.
    1. Öffnen Sie die Systemsteuerung.
    2. Klicken Sie auf System.
    3. Klicken Sie auf einem Windows 10-System auf Erweiterte Systemeinstellungen. Diese Option kann in verschiedenen Windows-Versionen variieren.
      Die Registerkarte Erweitert des Fensters Systemeigenschaften wird angezeigt.
    4. Klicken Sie unten im Fenster auf Umgebungsvariablen.
      Das Fenster Umgebungsvariablen wird angezeigt.
    5. Klicken Sie im Bereich Systemvariablen auf Pfad und dann auf Bearbeiten.
    6. Klicken Sie auf Neu. Fügen Sie den Pfad zu dem Ordner hinzu, in dem sich die ausführbare Terraform-Datei befindet.
    7. Klicken Sie auf OK, um die Änderungen zu speichern, und klicken Sie auf OK, um die Fenster Umgebungsvariablen zu schließen. Klicken Sie anschließend erneut auf OK, um das Fenster Systemeigenschaften zu beenden.
  5. Um die Installation zu überprüfen und die Version zu prüfen, starten Sie Windows PowerShell und geben Sie Folgendes ein: terraform -version.
    In der Ausgabe wird die Terraform-Version angezeigt. Beispiel: Terraform v0.11.8

SSH-Schlüsselpaar für den Zugriff auf die Bastionhosts generieren

Mit einem SSH-Schlüsselpaar können Sie sicher auf Instanzen zugreifen, die in öffentlichen Subnetzen erstellt werden. Sie generieren ein SSH-Schlüsselpaar auf Ihrem lokalen Host. Die Terraform-Module fügen dann den Bastionhosts den SSH-Public Key hinzu. Wenn Sie eine Verbindung zum Bastionhost über das öffentliche Internet herstellen müssen, geben Sie den SSH-Private Key zur Authentifizierung des Zugriffs an.

Sie können ein SSH-Schlüsselpaar mit PuTTYgen generieren. Legen Sie keine Passphrase für Ihren SSH-Schlüssel fest.

  1. Starten Sie PuTTYgen.
  2. Accept the default key type of SSH-2 RSA and set the Number of bits in a generated key to 2048 if it is not already set.
  3. Klicken Sie auf Generieren, und bewegen Sie die Maus um den leeren Bereich, um Zufallswerte zu generieren.
    Der Schlüssel wird generiert, und sein Wert wird unter Public Key zum Einfügen in die Datei OpenSSH authorized_keys angezeigt.
  4. Klicken Sie auf Save private key. Sie werden aufgefordert, zu bestätigen, dass Sie den Schlüssel ohne Passphrase speichern möchten. Klicken Sie auf Ja. Sie können diesen Schlüssel an einem beliebigen Speicherort speichern, ihn jedoch aus Gründen der Einfachheit in demselben Ordner speichern, in dem sich die Terraform-Module befinden.
  5. Um den Public Key zu speichern, wählen Sie den gesamten generierten Schlüssel aus, der im Feld Public Key zum Einfügen in die Datei OpenSSH authorized_keys angezeigt wird, kopieren ihn, und fügen Sie ihn in eine Textdatei ein. Speichern Sie diese Datei im selben Verzeichnis wie der Private Key. Verwenden Sie nicht die Schaltfläche Save public key, da der Schlüssel damit nicht im Format OpenSSH gespeichert wird.
Sie haben jetzt Ihr SSH-Schlüsselpaar generiert und in Ihrem lokalen System gespeichert. Stellen Sie sicher, dass Sie den Speicherort des Schlüsselpaares notieren.

SSH-Schlüsselpaar für den Zugriff auf andere Instanzen generieren

Bastionhosts werden verwendet, um die SSH-Weiterleitung an andere Instanzen zu aktivieren, die keine öffentlichen IP-Adressen haben und keinen Zugriff über das öffentliche Internet zulassen. Um sicher vom Bastionhost auf andere Instanzen zuzugreifen, verwenden Sie ein SSH-Schlüsselpaar, bei dem der auf Instanzen in privaten Subnetzen gespeicherte Public Key mit einem Private Key übereinstimmt, der auf Ihrem lokalen Rechner gespeichert ist.

Das SSH-Schlüsselpaar, mit dem der Zugriff vom Bastionhost auf andere Instanzen aktiviert wird, muss mit einem Utility wie OpenSSL oder ssh-keygen. generiert werden. Sie können kein SSH-Schlüsselpaar verwenden, das unter Windows mit PuTTY generiert wird, weil das von PuTTY verwendete .ppk-Format auf Oracle Linux oder anderen UNIX-ähnlichen Betriebssystemen nicht unterstützt wird. Beachten Sie, dass der Bastionhost, der den SSH-Traffic an andere Instanzen weiterleitet, ein Oracle Linux-Image verwendet.

  1. Starten Sie Git Bash.
  2. Geben Sie Folgendes ein: ssh-keygen -t rsa -N "" -b 2048 -C "<key_name>" -f <path/root_name>
    Führen Sie diesen Befehl aus:
    • -t rsa gibt an, dass der Schlüssel mit dem RSA-Algorithmus generiert werden soll.

    • -N "" gibt die Passphrase an, die Sie mit diesem Schlüssel verknüpfen möchten. Geben Sie keine Angebote zwischen den Angeboten ein. Der Schlüssel wird ohne Passphrase erstellt.

    • -b 2048 gibt an, dass Sie einen 2048-Bit-Schlüssel generieren möchten. Dies ist der Standardwert und außerdem der empfohlene Mindestwert.

    • -C "<key_name>" gibt den Namen für dieses Schlüsselpaar an.

    • -f <path/root_name> gibt das Verzeichnis an, in dem der Schlüssel gespeichert wird, sowie den Root-Namen für den Public Key und den Private Key. Der Public Key hat .pub an den Root-Namen angehängt.

Das SSH-Schlüsselpaar wird in dem angegebenen Verzeichnis generiert und gespeichert. Notieren Sie diesen Speicherort.

API-Signaturschlüssel generieren

Sie müssen ein RSA-Schlüsselpaar im PEM-Format (Privacy Enhanced Mail) angeben, um Ihr Terraform-Skript mit Oracle Cloud Infrastructure zu authentifizieren. Beachten Sie, dass dieser API-Signaturschlüssel nicht mit dem SSH-Schlüsselpaar identisch ist, mit dem Sie auf Ihre Instanzen zugreifen. Sie können dieses Schlüsselpaar mit OpenSSL in Git Bash generieren. Sie sollten Git Bash bereits auf Ihrem lokalen System installiert haben.

  1. Starten Sie Git Bash.
  2. Erstellen Sie einen ausgeblendeten Ordner zum Speichern des PEM-Schlüssels. Sie können den PEM-Schlüssel an einem beliebigen Speicherort speichern. Aus Gründen der Einfachheit erstellen Sie diesen Ordner jedoch unter dem Ordner, in dem sich Terraform-Module befinden. Stellen Sie sicher, dass Sie den Speicherort des Schlüsselpaares notieren. Navigieren Sie zu diesem Speicherort, und geben Sie Folgendes ein: mkdir ./.oci
  3. Um den API-Signaturschlüssel zu erstellen, geben Sie Folgendes ein: openssl genrsa -out ./.oci/key_name.pem 2048
  4. Ändern Sie die Berechtigungen für den Private Key, um sicherzustellen, dass nur Sie den Private Key lesen können. Geben Sie Folgendes ein: chmod go-rwx ./.oci/key_name.pem
  5. Um den Public Key für den angegebenen Private Key zu generieren, geben Sie als Nächstes Folgendes ein: openssl rsa -pubout -in ./.oci/key_name.pem -out ./.oci/key_name_public.pem
Der öffentliche und private API-Signaturschlüssel werden im angegebenen Ordner gespeichert.

API-Signaturschlüssel mit der Konsole hochladen

Nachdem Sie einen API-Signaturschlüssel generiert haben, müssen Sie den Public Key für den zugehörigen Benutzer in Oracle Cloud Infrastructure hochladen. Wenn Sie zum ersten Mal einen API-Signaturschlüssel hochladen, müssen Sie die Konsole verwenden. Anschließend können Sie mit der API auch einen API-Schlüssel hochladen.

  1. Melden Sie sich bei der Oracle Cloud Infrastructure-Konsole an.
  2. Klicken Sie auf Identität und dann auf Benutzer.
  3. Klicken Sie auf den Benutzer, dem Sie den API-Signaturschlüssel hinzufügen möchten.
  4. Klicken Sie auf der Seite mit den Benutzerdetails auf Public Key hinzufügen.
  5. Starten Sie auf Ihrem lokalen System Git Bash. Navigieren Sie zu dem Ordner, in dem Sie das API-Signaturschlüsselpaar gespeichert haben.
  6. Um den Public Key zu kopieren, geben Sie Folgendes ein: cat ./key_name_public.pem. Der Public-Key-Wert wird angezeigt. Kopieren Sie diesen Wert, einschließlich der Zeilen -----BEGIN PUBLIC KEY----- und -----END PUBLIC KEY-----.
  7. Fügen Sie in der Konsole den Public Key-Wert ein, und klicken Sie auf Hinzufügen.