Skripte und Statusdateien mit der Resource Discovery erstellen
Generieren Sie Terraform-Dateien für vorhandene Ressourcen in Ihrem Compartment.
Mit dem OCI-Ressourcen-Discovery-Feature können Sie:
- Erstellen Sie in der Konsole Statusdateien für vorhandene Ressourcen, und fügen Sie diese Ressourcen dann einem Terraform-Setup hinzu.
- Kopieren Sie Ihre vorhandene Infrastruktur in einem neuen Mandanten oder einer neuen Region.
- Ermitteln Sie die Statusdrift für aktualisierte Ressourcen.
In diesem Tutorial erstellen Sie mit dem Feature zur Ressourcen-Discovery Skripte und Statusdateien für Ressourcen in Ihrem Account. Anschließend können Sie die Ressourcen mit Terraform verwalten.
Zu den wichtigsten Aufgaben gehören:
- Erstellen Sie eine Ressource über die Konsole.
- Erstellen Sie Skripte und eine Statusdatei für die Ressource über das Feature zur Ressourcen-Discovery.
- Aktualisieren Sie die Ressource mit Terraform.
- Bestätigen Sie, dass die Ressource in der Konsole aktualisiert wurde.

Weitere Informationen finden Sie unter:
Bevor Sie beginnen
Für eine erfolgreiche Ausführung des Tutorials benötigen Sie Folgendes:
- Einen Oracle Cloud Infrastructure-Account. Siehe Kostenlose Oracle Cloud-Promotions anfordern und verwalten.
- Einen MacOS-, Linux- oder Windows-Rechner.
- Terraform-Tutorialressourcen:
- Gehen Sie durch alle Schritte unter Ressourcen-Discovery einrichten.
- Notieren Sie sich den OCI-Terraform-Providerbefehl:
- Cloud Shell:
terraform-provider-oci_<version>
von/usr/bin
- Compute-Instanz oder lokale Umgebung: Verwenden Sie die im vorherigen Tutorial erstellte
<shorter-alias>
anstelle des Befehlsterraform-provider-oci_<version>
.- Beispiel:
tf-oci
- Beispiel:
- Cloud Shell:
- Terraform v1.1.3+:
- Wenn Sie Cloud Shell verwenden, müssen Sie Terraform nicht installieren. Terraform ist bereits installiert.
- Wenn Sie eine Compute-Instanz oder eine lokale Umgebung verwenden, führen Sie die Schritte unter Terraform installieren aus.
1. Ressource erstellen
Erstellen Sie über die Konsole einen Bucket im Mandanten. Dieser Bucket enthält kein Terraform-Skript. Erstellen Sie später mit der Ressourcen-Discovery ein Terraform-Skript und eine Statusdatei für den Bucket.
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-your-username-belongs-to> to manage compartments in tenancy
Mit dieser Berechtigung können Sie ein Compartment für alle Ressourcen in Ihrem Tutorial erstellen.
- Melden Sie sich bei der Oracle Cloud-Konsole an.
- Wählen Sie im Navigationsmenü das Menü Profil
aus, und wählen Sie je nach der angezeigten Option Benutzereinstellungen oder Mein Profil aus.
- Wählen Sie je nach der angezeigten Option Gruppen oder Meine Gruppen aus.
- Kopieren Sie den Namen einer Gruppe, zu der Ihr Benutzername gehört.
- Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus.
- Wählen Sie das Compartment aus:
<your-tenancy>(root)
- Wählen Sie Policy erstellen aus.
- Geben Sie auf der Seite Policy erstellen die folgenden Werte ein:
- Name:
manage-compartments
- Beschreibung:
Allow the group <a-group-your-username-belongs-to> to list, create, update, delete and recover compartments in the tenancy.
- Compartment:
<your-tenancy>(root)
- Name:
- Wählen Sie unter Policy Builder die Option Manuellen Editor anzeigen aus.
- Fügen Sie die folgende Policy ein:
allow group <a-group-your-username-belongs-to> to manage compartments in tenancy
- Wählen Sie Erstellen.
Referenz: Details zu Kombinationen aus Verben und Ressourcentyp (siehe Ressourcentyp compartments
)
Erstellen Sie ein Compartment für die Ressourcen, die Sie in diesem Tutorial erstellen.
- Wählen Sie in der Konsole im Navigationsmenü die Option Identität und Sicherheit aus. Wählen Sie unter Identität die Option Compartments aus.
- Wählen Sie Compartment erstellen aus.
- Geben Sie folgende Werte ein:
- Name:
<your-compartment-name>
- Beschreibung:
Compartment für <your-description>.
- Übergeordnetes Compartment:
<your-tenancy>(Root)
- Name:
- Wählen Sie Compartment erstellen aus.
Referenz: Compartment erstellen
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-your-username-belongs-to> to manage all-resources in compartment <your-compartment-name>
Mit dieser Berechtigung können Sie alle Ressourcen im Compartment verwalten und Ihnen Administratorrechte in diesem Compartment erteilen.
- Öffnen Sie in der Konsole das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus.
- Wählen Sie Ihr Compartment aus.
- Wählen Sie Policy erstellen aus.
- Geben Sie auf der Seite Policy erstellen die folgenden Werte ein:
- Name:
manage-<your-compartment-name>-resources
- Beschreibung:
Allow users to list, create, update, and delete resources in <your-compartment-name>.
- Compartment:
<your-tenancy>(root)
- Name:
- Geben Sie unter Policy Builder die folgenden Werte ein:
- Policy-Anwendungsfälle:
Compartment-Verwaltung
- Allgemeine Policy-Vorlagen:
Verwalten des Compartments durch Compartment-Administratoren zulassen
- Identitätsdomain: <identity-domain>
- Gruppen:
<a-group-your-username-belongs-to>
- Speicherort:
<your-compartment-name>
- Policy-Anwendungsfälle:
- Wählen Sie Erstellen.
Referenz: Allgemeine Policys
Erstellen Sie in Ihrem Compartment einen Bucket.
Erstellen Sie den Bucket in
<your-compartment-name>
.2. Ressource ermitteln
Ermitteln Sie den Bucket, den Sie in Ihrem Compartment erstellt haben.
- Gehen Sie zu Nutzung (Ressourcen-Discovery).
Es werden zwei Befehlsoptionen aufgeführt.
- Wählen Sie die Befehlsoption aus, die
compartment_name
als Basisbefehl verwendet:terraform-provider-oci -command=export -compartment_name=<xxx> -output_path=<xxx>
- Aktualisieren Sie den Basisbefehl:
- Verwenden Sie anstelle von
terraform-provider-oci
den symbolischen Linkbefehl:tf-oci
- Prüfen Sie den Abschnitt Parameterbeschreibung, um den Parametern im Basisbefehl die richtigen Werte hinzufügen:
- Verwenden Sie den export-Befehl, um Ressourcen-Discovery auszuführen:
-command=export
- Geben Sie den Namen des Compartments ein, dessen Ressourcen Sie ermitteln möchten:
-compartment_name=<your-compartment-name>
- Erstellen Sie ein Verzeichnis für die folgenden Ressourcen:
Beispiel:
-output_path=$HOME/resource-discovery
- Verwenden Sie den export-Befehl, um Ressourcen-Discovery auszuführen:
- Verwenden Sie anstelle von
- Fügen Sie den folgenden Parameter aus dem Abschnitt Parameterbeschreibung zum Basisbefehl hinzu:
services
- Verwenden Sie von den für
services
aufgeführten Service-Namen folgende:object_storage
- Beispiel:
-services=object_storage
- Wenn Sie mehrere Services ermitteln möchten, trennen Sie die Servicenamen durch ein Komma.
- Beispiel:
-services=object_storage,core
- Die Servicenamen müssen nicht in Anführungszeichen gesetzt werden.
- Erstellen Sie den Befehl:
Beispiel:
tf-oci -command=export -compartment_name=<your-compartment-name> -services=object_storage -output_path=$HOME/resource-discovery
Hinweis
Fehlerbehebung[ERROR] output_path does not exist: stat /$HOME/resource-discovery: no such file or directory
Der Befehl zur Ressourcenerkennung erstellt kein Verzeichnis für die erkannten Ressourcen. Erstellen Sie ein Verzeichnis, und geben Sie den Pfad im Befehl an.
[ERROR] no output directory specified
Der Parser stopet bei dem Parameter, der keinen Gedankenstrich hat. Stellen Sie sicher, dass Sie am Anfang jedes Parameters einen Bindestrich hinzufügen. Beispiel: Wenn Sie
services
anstelle von-services
verwenden, erreicht der Parser das Ausgabeverzeichnis nicht.
Herzlichen Glückwunsch. Sie haben eine Statusdatei für die Bucket-Ressource erstellt.
Referenzen:
3. Ressource aktualisieren
Aktualisieren Sie den Namen des Buckets in der Datei object_storage.tf
, und führen Sie die Terraform-Skripte aus. Ihr Account authentifiziert die Skripte, und Terraform aktualisiert dann den Bucket-Namen. Bestätigen Sie den neuen Bucket-Namen über die Konsole.
Bucket aktualisieren
- Terraform-Skripte ausführen:
terraform apply
- Wenn Sie zur Bestätigung aufgefordert werden, geben Sie
yes
ein, damit der Bucket-Name ersetzt wird.Beispielausgabe:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Nach neuem Bucket-Namen in der Konsole suchen
- Öffnen Sie das Navigationsmenü , und wählen Sie Speicher aus. Wählen Sie unter Object Storage und Archive Storage die Option Buckets aus.
- Wählen Sie das Compartment aus:
<your-compartment-name>
. - Prüfen Sie in der Liste der Buckets den Bucket-Namen.
Der Name des Bucket lautet jetzt
<your-bucket-name>-2
.
Weitere Schritte
Weitere Terraform-Tutorials entdecken:
Weitere Informationen zur Entwicklung mit Oracle-Produkten finden Sie auf folgenden Websites: