Einfache Infrastruktur mit OCI Terraform einrichten
Mit Terraform können Sie eine einfache Infrastruktur in Ihrem Oracle Cloud Infrastructure-Account einrichten.
Zu den wichtigsten Aufgaben gehören:
- Kopieren Sie vorhandene Skripte aus anderen Terraform-Tutorials.
- Bearbeiten Sie die Skripte, um alle Ressourcen in einem Verzeichnis zu kombinieren.
- Führen Sie einen
apply
-Befehl aus, um die folgenden Ressourcen zu erstellen:- ein Compartment
- ein virtuelles Cloud-Netzwerk
- eine Compute-Instanz

Weitere Informationen finden Sie unter:
Bevor Sie beginnen
Für eine erfolgreiche Ausführung des Tutorials benötigen Sie Folgendes:
- Ein kostenpflichtiger 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 in:
- Behalten Sie die Skripte bei, die Sie in den folgenden Verzeichnissen erstellt haben:
$HOME/tf-provider/
$HOME/tf-compartment/
$HOME/tf-compute/
$HOME/tf-vcn/
1. Vorbereiten
Kopieren Sie die Skripte, die Sie in vorherigen Terraform-Tutorials erstellt haben, in ein neues Verzeichnis.
2. Skripte bearbeiten
Bearbeiten Sie die Skripte, um einen neuen Namen für das Compartment zuzuweisen und alle hartcodierten OCIDs durch Referenzen zu ersetzen.
In den vorherigen Tutorials haben Sie die Compartment-OCID hartcodiert. Aktualisieren Sie jetzt <compartment-ocid>
, um das Compartment aus compartment.tf
zu referenzieren.
- Suchen Sie, wie die Compartment-OCID in der Datei
outputs.tf
referenziert wird.grep -R compartment outputs.tf
Beispielausgabe:
# Outputs for compartment output "compartment-name" { value = oci_identity_compartment.tf-compartment.name output "compartment-OCID" { value = oci_identity_compartment.tf-compartment.id
- Kopieren Sie den Wert für die Compartment-OCID in Notepad:
oci_identity_compartment.tf-compartment.id
- Ermitteln Sie, welche Dateien auf
compartment_id
verweisen.grep -Rn compartment_id
Beispielausgabe:
availability-domains.tf:7: compartment_id = "<tenancy-ocid>" compartment.tf:3: compartment_id = "<tenancy-ocid>" compute.tf:4: compartment_id = "<compartment-ocid>" private-security-list.tf:6: compartment_id = "<compartment-ocid>" private-subnet.tf:6: compartment_id = "<compartment-ocid>" public-security-list.tf:6: compartment_id = "<compartment-ocid>" public-subnet.tf:6: compartment_id = "<compartment-ocid>" vcn-module.tf:9: compartment_id = "<compartment-ocid>"
Hinweis
Die Dateienavailability-domains.tf
undcompartment.tf
verweisen beide auf<tenancy-ocid>
. Beispiel: Die Dateicompartment.tf
verweist auf den Mandanten als übergeordnetes Compartment und erstellt dann ein Compartment darunter. Bearbeiten Siecompartment_id
in diesen beiden Dateien nicht. - Except for
availability-domains.tf
andcompartment.tf
files, in the remaining files that result from yourgrep
command, replacecompartment_id = "<compartment-ocid>"
with:compartment_id = oci_identity_compartment.tf-compartment.id
Im Tutorial Compute-Instanz erstellen haben Sie das öffentliche Subnetz hartcodiert, das die Compute-Instanz hostet. Aktualisieren Sie jetzt die Datei compute.tf
, um die Datei public-subnet-OCID
aus der Datei public-subnet.tf
zu referenzieren.
- Ermitteln Sie, wie
subnet OCID
in der Dateioutputs.tf
referenziert wird.grep -R subnet outputs.tf
Beispielausgabe:
... # Outputs for private subnet output "private-subnet-name" { value = oci_core_subnet.vcn-private-subnet.display_name output "private-subnet-OCID" { value = oci_core_subnet.vcn-private-subnet.id # Outputs for public subnet output "public-subnet-name" { value = oci_core_subnet.vcn-public-subnet.display_name output "public-subnet-OCID" { value = oci_core_subnet.vcn-public-subnet.id
- Kopieren Sie den Wert für die öffentliche Subnetz-OCID in Notepad:
oci_core_subnet.vcn-public-subnet.id
- Ermitteln Sie, welche Dateien auf
subnet_id
verweisen.grep -Rn subnet_id
Beispielausgabe:
compute.tf:19: subnet_id = "<your-public-subnet-ocid>"
- Ersetzen Sie in der Datei
compute.tf
, die aus demgrep
-Befehl resultiert,compartment_id = "<your-public-subnet-ocid>"
durch:subnet_id = oci_core_subnet.vcn-public-subnet.id
Herzlichen Glückwunsch. Alle Skripte sind jetzt zur Ausführung bereit.
3. Einfache Infrastruktur erstellen
Führen Sie die Terraform-Skripte aus, um ein Compartment, ein virtuelles Cloud-Netzwerk und eine Compute-Instanz im öffentlichen Subnetz zu erstellen.
- Initialisieren Sie ein Arbeitsverzeichnis im Verzeichnis
tf-simple-infrastructure
.terraform init
- Erstellen Sie einen Ausführungsplan, und prüfen Sie die Änderungen, die Terraform an Ihrem Account vornehmen möchte:
terraform plan
Beispielausgabe:
.... Terraform will perform the following actions: # oci_core_instance.ubuntu_instance will be created .... Plan: 14 to add, 0 to change, 0 to destroy. Changes to Outputs: + all-availability-domains-in-your-tenancy = [ ....
- Erstellen Sie Ihre einfache Infrastruktur mit Terraform:
terraform apply
Wenn Sie zur Bestätigung aufgefordert werden, geben Sie
yes
ein, damit Ihre Ressourcen erstellt werden können.
- Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Compartments aus.
- Aktualisieren Sie die Seite, bis der Compartment-Name angezeigt wird.
- Öffnen Sie das Navigationsmenü , und wählen Sie Networking aus. Wählen Sie dann Virtuelle Cloud-Netzwerke aus.
- Wählen Sie Ihr Compartment aus.
Wenn Sie das Compartment nicht finden können, aktualisieren Sie die Seite.
- Wählen Sie Ihr VCN aus, und prüfen Sie die erstellten Ressourcen.
- Öffnen Sie das Navigationsmenü , und wählen Sie Compute aus. Wählen Sie unter Compute die Option Instanzen aus.
- Sehen Sie, wie die Instanz in der Liste der Instanzen angezeigt wird.
Prüfen Sie die Ausgaben im Ausgabeterminal.
oci_identity_compartment.tf-compartment: Creating...
oci_identity_compartment.tf-compartment: Creation complete after 7s [id=xxx]
module.vcn.oci_core_vcn.vcn: Creating...
module.vcn.oci_core_vcn.vcn: Creation complete after 2s [id=xxx]
module.vcn.oci_core_internet_gateway.ig[0]: Creating...
module.vcn.oci_core_nat_gateway.nat_gateway[0]: Creating...
module.vcn.oci_core_default_security_list.lockdown[0]: Creating...
module.vcn.oci_core_service_gateway.service_gateway[0]: Creating...
oci_core_security_list.private-security-list: Creating...
oci_core_security_list.public-security-list: Creating...
module.vcn.oci_core_internet_gateway.ig[0]: Creation complete after 1s [id=xxx]
module.vcn.oci_core_route_table.ig[0]: Creating...
oci_core_security_list.public-security-list: Creation complete after 1s [id=xxx]
module.vcn.oci_core_default_security_list.lockdown[0]: Creation complete after 1s [id=xxx]
oci_core_security_list.private-security-list: Creation complete after 1s [id=xxx]
module.vcn.oci_core_route_table.ig[0]: Creation complete after 1s [id=xxx]
oci_core_subnet.vcn-public-subnet: Creating...
module.vcn.oci_core_nat_gateway.nat_gateway[0]: Creation complete after 2s [id=xxx]
module.vcn.oci_core_service_gateway.service_gateway[0]: Creation complete after 3s [id=xxx]
module.vcn.oci_core_route_table.service_gw[0]: Creating...
module.vcn.oci_core_route_table.nat[0]: Creating...
module.vcn.oci_core_route_table.service_gw[0]: Creation complete after 0s [id=xxx]
module.vcn.oci_core_route_table.nat[0]: Creation complete after 1s [id=xxx]
oci_core_subnet.vcn-private-subnet: Creating...
oci_core_subnet.vcn-public-subnet: Creation complete after 2s [id=xxx]
oci_core_instance.ubuntu_instance: Creating...
oci_core_subnet.vcn-private-subnet: Creation complete after 2s [id=xxx]
oci_core_instance.ubuntu_instance: Still creating... [10s elapsed]
oci_core_instance.ubuntu_instance: Still creating... [20s elapsed]
oci_core_instance.ubuntu_instance: Still creating... [30s elapsed]
oci_core_instance.ubuntu_instance: Creation complete after 38s [id=xxx]
Apply complete! Resources: 14 added, 0 changed, 0 destroyed.
Referenzen:
Weitere Schritte
Herzlichen Glückwunsch. Sie haben erfolgreich eine einfache Infrastruktur mit Terraform in Ihrem Oracle Cloud Infrastructure-Account erstellt.
Jetzt wissen Sie, wie Sie Datenquellen, Ressourcen und Module verwenden. Fügen Sie Ihrer einfachen Infrastruktur neue Objekte aus Oracle Cloud Infrastructure Provider hinzu.
Weitere Informationen zur Entwicklung mit Oracle-Produkten finden Sie auf folgenden Websites: