Info zur Konfiguration von Terraform auf UNIX-ähnlichen 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

Auf UNIX-ähnlichen oder Linux-Systemen, einschließlich Oracle Linux, können Sie Terraform installieren, indem Sie das Terraform-Package für Ihr Betriebssystem herunterladen und extrahieren.

  1. Gehen Sie zu https://www.terraform.io/downloads.html.
  2. Laden Sie je nach Betriebssystem das entsprechende Package herunter.
  3. Extrahieren Sie das Package in den Pfad /usr/local/bin/.
    Sie können Terraform in ein anderes Verzeichnis auf Ihrem lokalen Host extrahieren. Stellen Sie sicher, dass das Verzeichnis in der Variablen PATH enthalten ist.
    Terraform ist installiert und einsatzbereit.
  4. Prüfen Sie die Installation.
    terraform -v

    Die Terraform-Version wird wie im folgenden Beispiel dargestellt angezeigt:

    Terraform v0.12.18

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

Mit SSH können Sie sicher auf Compute-Instanzen in Oracle Cloud zugreifen. Generieren Sie ein SSH-Schlüsselpaar auf Ihrem lokalen Host. Fügen Sie den Bastionhosts beim Erstellen den SSH-Public Key hinzu. Wenn Sie mit SSH eine Verbindung zu einem Bastionhost herstellen, geben Sie den Private Key zur Authentifizierung des Zugriffs an.

Verwenden Sie das Utility ssh-keygen , um ein SSH-Schlüsselpaar zu generieren. Legen Sie keine Passphrase für Ihren SSH-Schlüssel fest.

  • Geben Sie in einem Terminalfenster folgenden Befehl ein:
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -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. Dieser Wert 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 den Speicherort.

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

Mit Bastionhosts können Sie SSH-Verbindungen zu Compute-Instanzen erstellen, die keine öffentlichen IP-Adressen haben und keinen Zugriff über das öffentliche Internet zulassen. Als Best Practice zur Sicherheit können Sie separate SSH-Schlüsselpaare für die Bastionhosts und die privaten Instanzen generieren.

Verwenden Sie ssh-keygen auf Ihrem lokalen Host, um ein SSH-Schlüsselpaar zu generieren.

Notieren Sie sich das Verzeichnis, in dem Sie die SSH-Schlüssel speichern.

API-Signaturschlüssel generieren

Sie müssen ein RSA-Schlüsselpaar im PEM-Format (Security Enhanced Mail) angeben, damit Terraform sich mit Oracle Cloud Infrastructure authentifizieren kann. Beachten Sie, dass dieser API-Signaturschlüssel nicht mit dem SSH-Schlüsselpaar identisch ist, mit dem Sie auf Ihre Instanzen zugreifen. Mit OpenSSL können Sie den API-Signaturschlüssel generieren.

  1. Erstellen Sie ein verborgenes Unterverzeichnis in Ihrem Home-Verzeichnis, in dem der PEM-Schlüssel gespeichert wird.
    mkdir ~/.oci
  2. Generieren Sie einen Private Key (Größe: 2048 Bit oder höher).
    openssl genrsa -out ~/.oci/key_name.pem 2048
  3. Ändern Sie die Berechtigungen für die Private-Key-Datei, um sicherzustellen, dass nur Sie den Schlüssel lesen können.
    chmod go-rwx ~/.oci/key_name.pem
  4. Generieren Sie den Public Key für den Private Key.
    openssl rsa -pubout -in ~/.oci/key_name.pem -out ~/.oci/key_name_public.pem
Sie können die Schlüssel in einem beliebigen Verzeichnis speichern.

Notieren Sie den Speicherort.

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 Webkonsole 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. Wählen Sie im Menü "Services" die Option Identität und dann Benutzer.
  3. Klicken Sie auf der Seite Benutzer auf den Benutzer, für den Sie den Schlüssel hochladen möchten.
  4. Klicken Sie auf der Seite mit den Benutzerdetails auf Public Key hinzufügen.
  5. Kopieren Sie den Public Key-Wert aus der Datei ~/.oci/key_name_public.pem, und fügen Sie ihn in das Feld PUBLIC KEY ein.
  6. Klicken Sie auf Hinzufügen.
    Der Schlüssel wird hochgeladen, und der Fingerprint wird angezeigt.
  7. Kopieren Sie den Fingerprint. Sie benötigen ihn später.