Bereitstellung der Infrastrukturressourcen vorbereiten

Installieren Sie Terraform, und generieren Sie die erforderlichen Schlüssel, um die Infrastrukturressourcen in Oracle Cloud zu erstellen.

Bevor Sie beginnen

Bevor Sie mit dem Erstellen von Ressourcen in Oracle Cloud Infrastructure beginnen, müssen Sie Folgendes sicherstellen:

  • Zugangsdaten für einen Oracle Cloud-Mandanten.

  • Ein Compartment mit Berechtigung zum Erstellen und Verwalten von Ressourcen in dem Compartment.
  • Ein Rechner mit der folgenden Software und dem Zugang zum Internet:

    • Ein Utility zum Generieren von API-Signaturschlüsseln.

      Bei den meisten UNIX-ähnlichen Systemen ist openssl vorhanden. Unter Windows können Sie Git Bash verwenden.

    • Ein Utility zum Generieren von SSH-Schlüsselpaaren.

      Bei den meisten UNIX-ähnlichen Systemen ist ssh-keygen vorhanden. Unter Windows können Sie PuTTY verwenden.

    • Ein Webbrowser.

  • Grundlegende Kenntnisse von Terraform.

    Lesen Sie mindestens die Einführung unter https://www.terraform.io/intro/.

Terragrunt installieren

Terragrunt ist ein Tool eines Drittanbieters, mit dem Terraform-Module effizient angewendet und verwaltet werden können. Anstatt die Module individuell mit Terraform anzuwenden, können Sie die Ressourcen, die in allen Modulen definiert sind, in der richtigen Reihenfolge bereitstellen, indem Sie einen einzelnen Terragrunt-Vorgang verwenden.

Um Terragrunt herunterzuladen und zu installieren, befolgen Sie die Anweisungen unter https://github.com/gruntwork-io/terragrunt#install-terragrunt.

Hinweis:

Wenn Sie Terragrunt mit brew auf Linux oder macOS installieren, wird Terraform automatisch als eine der Abhängigkeiten installiert. Sie müssen Terraform nicht installieren.

Terraform installieren

Bei 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 das entsprechende Package je nach Betriebssystem herunter.
  3. Extrahieren Sie das Package in den Pfad /usr/local/bin/.
    Sie können Terraform in ein beliebiges anderes Verzeichnis auf Ihrem lokalen Host extrahieren. Stellen Sie sicher, dass das Verzeichnis in der Variable PATH enthalten ist.
    Terraform ist installiert und betriebsbereit.
  4. Prüfen Sie die Installation.
    terraform -v

    Die Terraform-Version wird angezeigt, wie in diesem Beispiel dargestellt:

    Terraform v0.12.18

API-Signaturschlüssel generieren

Damit Terraform die Authentifizierung mit Oracle Cloud Infrastructure ermöglicht, müssen Sie einen RSA-Schlüssel im PEM-Format (privacy-enhanced mail) angeben. Dieser Schlüssel ist nicht identisch mit dem SSH-Schlüssel, mit dem Sie auf Ihre Compute-Instanzen zugreifen.

Verwenden Sie OpenSSL, um den API-Signaturschlüssel zu generieren.
  1. Erstellen Sie ein ausgeblendetes Unterverzeichnis in Ihrem Standardverzeichnis, um den PEM-Schlüssel zu speichern.
    mkdir ~/.oci
  2. Generieren Sie einen Private Key (Größe: 2048 Bit oder höher).
    openssl genrsa -out ~/.oci/oci_api_key.pem 2048
  3. Ändern Sie die Berechtigungen der Private Key-Datei, um sicherzustellen, dass nur Sie den Schlüssel lesen können.
    chmod go-rwx ~/.oci/oci_api_key.pem
  4. Generieren Sie den Public Key für den Private Key.
    openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem

API-Signaturschlüssel hochladen

Nachdem Sie einen API-Signaturschlüssel generiert haben, laden Sie den Public Key für den entsprechenden Benutzer in Oracle Cloud Infrastructure hoch.

  1. Melden Sie sich bei der Oracle Cloud Infrastructure-Webkonsole 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, den Sie in der Terraform-Konfiguration angeben 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/oci_api_key_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 sein Fingerprint wird angezeigt.
  7. Kopieren Sie den Fingerprint. Sie benötigen sie später.

SSH-Schlüsselpaar für den Bastion-Host generieren

Mit einem SSH-Schlüsselpaar wird der sichere Zugriff auf Instanzen ermöglicht. Sie generieren ein Schlüsselpaar auf dem lokalen Host. Die Terraform-Module fügen dann den Public Key zum Bastion-Host hinzu. Wenn Sie eine Verbindung zum Bastion-Host herstellen, geben Sie den Private Key zur Authentifizierung des Zugriffs an.

  • Verwenden Sie das Utility ssh-keygen, und generieren Sie ein SSH-Schlüsselpaar. Keine Passphrase für das Schlüsselpaar festlegen.
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa: Gibt an, dass das Schlüsselpaar mit dem RSA-Algorithmus generiert werden soll

    • -N "": Gibt die Passphrase an, die mit diesem Schlüsselpaar verknüpft werden soll. Geben Sie keine Anführungszeichen ein. Erstellen Sie das Schlüsselpaar ohne Passphrase.

    • -b 2048: Gibt an, dass Sie einen 2048-Bit-Schlüssel generieren möchten. Dieser Wert ist der Standardwert (und der empfohlene Mindestwert).

    • -C "key_name": Gibt den Namen des Schlüsselpaares an.

    • -f path/root_name: Gibt das Verzeichnis an, in dem das Schlüsselpaar gespeichert wird, sowie den Root-Namen für den öffentlichen und privaten Schlüssel. Der Public Key hat .pub an den Root-Namen angehängt.

Das SSH-Schlüsselpaar wird in dem von Ihnen angegebenen Verzeichnis generiert und gespeichert. Notieren Sie sich den vollständigen Pfad und Namen der Schlüsseldateien.

SSH-Schlüsselpaar für private Instanzen generieren

Ein Bastion-Host ermöglicht SSH-Weiterleitung an die Instanzen ohne öffentliche IP-Adressen. Um sicher über den Basishost auf solche private Instanzen zuzugreifen, verwenden Sie ein SSH-Schlüsselpaar. Als Best Practice zur Sicherheit sollte dieses Schlüsselpaar nicht identisch mit dem Schlüsselpaar sein, das Sie für den Bastion-Host verwenden.

  • Verwenden Sie das Utility ssh-keygen, und generieren Sie ein SSH-Schlüsselpaar. Keine Passphrase für das Schlüsselpaar festlegen.
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa: Gibt an, dass das Schlüsselpaar mit dem RSA-Algorithmus generiert werden soll

    • -N "": Gibt die Passphrase an, die mit diesem Schlüsselpaar verknüpft werden soll. Geben Sie keine Anführungszeichen ein. Erstellen Sie das Schlüsselpaar ohne Passphrase.

    • -b 2048: Gibt an, dass Sie einen 2048-Bit-Schlüssel generieren möchten. Dieser Wert ist der Standardwert (und der empfohlene Mindestwert).

    • -C "key_name": Gibt den Namen des Schlüsselpaares an.

    • -f path/root_name: Gibt das Verzeichnis an, in dem das Schlüsselpaar gespeichert wird, sowie den Root-Namen für den öffentlichen und privaten Schlüssel. Der Public Key hat .pub an den Root-Namen angehängt.

Das SSH-Schlüsselpaar wird in dem von Ihnen angegebenen Verzeichnis generiert und gespeichert. Notieren Sie sich den vollständigen Pfad und Namen der Schlüsseldateien.