Info zur Konfiguration von Terraform auf UNIX-ähnlichen Systemen
Um Terraform zur Erstellung von Oracle Cloud Infrastructure-Komponenten zu verwenden, müssen Sie Terraform herunterladen und installieren. Außerdem laden Sie die Terraform-Module herunter, die die Konfigurationsdateien erstellen, mit denen Sie die erforderlichen Infrastrukturkomponenten erstellen.
Das System, in dem Sie Terraform installieren und die Teraform-Module speichern, kann entweder On Premise oder in der Cloud sein. Der Verweis wird als lokales System oder vom lokalen Host vorgenommen.
Bevor Sie Terraform ausführen:
-
Generieren Sie ein SSH-Schlüsselpaar, mit dem Sie auf Ihre Compute-Instanzen zugreifen können
-
API-Signaturschlüssel generieren, der zur Authentifizierung der von Terraform erstellten API-Aufrufe verwendet wird
-
Umgebungsvariablen festlegen, die von Terraform zur Authentifizierung des Zugriffs und der Ausführung seiner Pläne verwendet werden
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 Linux- oder UNIX-ähnlichen System zu installieren, laden Sie das entsprechende Package von der Terraform-Website herunter.
Terraform-Module herunterladen
Laden Sie die Terraform-Module herunter, um mit dem Erstellen von Infrastrukturkomponenten in Oracle Cloud Infrastructure mit Terraform zu beginnen.
SSH-Schlüsselpaar generieren, um auf die Bastion-Hosts zuzugreifen
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 dem lokalen Host. Die Terraform-Module fügen dann den SSH-Public Key den Bastion-Hosts hinzu. Wenn Sie über das öffentliche Internet eine Verbindung zum Bastion-Host herstellen müssen, geben Sie den SSH-Private Key an, um den Zugriff zu authentifizieren.
Mit dem Utility ssh-keygen
können Sie ein SSH-Schlüsselpaar generieren. Legen Sie keine Passphrase für Ihren SSH-Schlüssel fest.
SSH-Schlüsselpaar für den Zugriff auf andere Instanzen generieren
Bastion-Hosts werden verwendet, um die SSH-Weiterleitung an andere Instanzen zu aktivieren, die keine öffentlichen IP-Adressen haben und den Zugriff über das öffentliche Internet nicht zulassen. Um sicher von dem Basishost 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 dem lokalen Rechner gespeichert ist. Als Sicherheitsmaßnahme sollte dieses SSH-Schlüsselpaar nicht dasselbe sein wie das SSH-Schlüsselpaar, das für den Zugriff auf den Bastion-Host verwendet wird.
Verwenden Sie ssh-keygen
auf dem lokalen Host, um ein anderes SSH-Schlüsselpaar zu generieren. Notieren Sie sich den Speicherort des SSH-Schlüsselpaars.
API-Signaturschlüssel generieren
Sie müssen ein RSA-Schlüsselpaar im PEM-Format "Privacy Enhanced Mail (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, das Sie für den Zugriff auf Ihre Instanzen verwenden. Sie können dieses Schlüsselpaar mit OpenSSL
generieren.
- Erstellen Sie ein ausgeblendetes Verzeichnis im Home-Bereich, um den PEM-Schlüssel zu speichern. Geben Sie Folgendes ein:
mkdir ~/.oci
- Generieren Sie einen Private Key mit OpenSSL. Denken Sie daran, bei der Generierung des Private Keys 2048 Bit oder höher anzugeben. Geben Sie Folgendes ein:
openssl genrsa-out ~/.oci/key_name.pem 2048
- Ä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
- Als Nächstes verwenden Sie OpenSSL, um den Public Key für den angegebenen Private Key zu generieren. Geben Sie Folgendes ein:
openssl rsa-pubout-in ~/.oci/key_name.pem-out ~/.oci/key_name_public.pem
API-Signaturschlüssel mit der Konsole hochladen
Nachdem Sie einen API-Signaturschlüssel generiert haben, müssen Sie den Public Key für den verknüpften Benutzer in Oracle Cloud Infrastructure hochladen. Wenn Sie zum ersten Mal einen API-Signaturschlüssel hochladen, müssen Sie die Konsole verwenden. Danach können Sie auch mit der API einen API-Schlüssel hochladen.
Umgebungsvariablen festlegen
Mit den hier bereitgestellten Terraform-Modulen können Sie Umgebungsvariablen festlegen, indem Sie die erforderlichen Werte in einer Textdatei angeben. Sie können die Datei dann einfach als Quelle definieren, um sicherzustellen, dass alle erforderlichen Umgebungsvariablen ordnungsgemäß festgelegt werden.
Bevor Sie beginnen, melden Sie sich bei der Oracle Cloud Infrastructure-Konsole an. Sie finden die folgenden Informationen mit der Konsole.
-
Die Mandanten-Oracle Cloud Infrastructure-ID (OCID)
-
Benutzer-OCID
-
Der Fingerprint des API-Signaturschlüssels, den Sie verwenden möchten
-
Die Region
-
Die Compartment-OCID
Stellen Sie außerdem sicher, dass Sie den Speicherort, in dem der API-Signaturschlüssel und das SSH-Schlüsselpaar im lokalen System gespeichert sind, kennen.
- Navigieren Sie auf dem lokalen System zu dem Verzeichnis, in dem sich die Terraform-Module befinden.
- Öffnen Sie die Datei
env-vars
in einem Texteditor. - Die Datei
env-vars
enthält vier Abschnitte. Beginnen Sie mit dem Abschnitt "Authentifizierungsdetails".- Geben Sie die Mandanten-OCID ein. Die Mandanten-OCID finden Sie unten in der Oracle Cloud Infrastructure-Konsole. Es handelt sich um eine Zeichenfolge wie die Folgenden:
ocid1.tenancy.oc1..aaaaa...
. Fügen Sie diesen Wert in die Dateienv-vars
ein. - Geben Sie die Benutzer-OCID ein. Um Ihren Benutzer OCID zu finden, klicken Sie in der Oracle Cloud Infrastructure-Konsole auf Identität und dann auf Benutzer. Die Liste der Benutzer wird zusammen mit dem Benutzer-OCID angezeigt. Klicken Sie auf Kopieren unter dem Benutzernamen, um die erforderliche Benutzer-OCID zu kopieren. Fügen Sie diesen Wert in die Datei
env-vars
ein. - Geben Sie den Fingerprint des API-Signaturschlüssels ein. Klicken Sie In der Oracle Cloud Infrastructure-Konsole auf der Seite Benutzer auf den Benutzer, um die Seite mit den Benutzerdetails anzuzeigen. Kopieren Sie den API-Schlüssel-Fingerprint aus dem im Abschnitt "API-Schlüssel" aufgelisteten Schlüssel . Fügen Sie diesen Wert in die Datei
env-vars
ein. - Geben Sie den vollständigen Pfad und Dateinamen des privaten API-Schlüssels auf Ihrem lokalen System ein.
- Geben Sie die Mandanten-OCID ein. Die Mandanten-OCID finden Sie unten in der Oracle Cloud Infrastructure-Konsole. Es handelt sich um eine Zeichenfolge wie die Folgenden:
- Geben Sie im Abschnitt "Bereich" der Datei
env-vars
den Bereich ein, In dem Sie die Infrastrukturkomponenten erstellen möchten. Die Region, die Sie aktuell anzeigen, wird oben in der Oracle Cloud Infrastructure-Konsole angezeigt. Sie können auch die Konsole verwenden, um andere Regionen zu suchen, auf die Sie Zugriff haben. - Geben Sie im Abschnitt "Compartment" der Datei
env-vars
das Compartment OCID des Compartments ein, In dem Sie die Infrastrukturkomponenten erstellen möchten. Stellen Sie sicher, dass der Benutzer, den Sie vorher angegeben haben, zu einer Gruppe gehört, die die erforderlichen Berechtigungen für das hier angegebene Compartment hat. Um die Compartment-OCID zu finden, gehen Sie zur Oracle Cloud Infrastructure-Konsole. Klicken Sie auf Identität und anschließend auf Compartments. Die Liste der Compartments wird zusammen mit dem Compartment-OCID angezeigt. Klicken Sie auf Kopieren unter dem Compartment-Namen, um die erforderliche Compartment-OCID zu kopieren. Fügen Sie diesen Wert in die Dateienv-vars
ein. - Geben Sie im Abschnitt "Public/Private Keys" der Datei
env-vars
für die Bastion-Hosts und anderen Instanzen den vollständigen Pfad und Dateinamen der entsprechenden SSH-Public und Private Keys In Ihrem lokalen System ein. Der Private Key muss das Formatopenssh
aufweisen. - Prüfen Sie, ob Sie alle Werte korrekt eingegeben haben. Wenn Sie Werte weggelassen haben, werden Sie zur Eingabe aufgefordert, wenn Sie Terraform ausführen. Wenn Sie falsche Werte angegeben haben, tritt ein Fehler in Terraform auf. Wenn Sie sicher sind, dass alle Werte korrekt sind, speichern und schließen Sie die Datei
env-vars
. - Um die in der Datei
env-vars
angegebenen Umgebungsvariablen festzulegen, öffnen Sie ein Terminal, und navigieren Sie zu dem Verzeichnis, in dem sich die Terraform-Module befinden. Geben Sie Folgendes ein:source ./env-vars