Compartment-Infrastrukturressourcen erstellen

Compartment-Ressourcen sind virtuelle Container, die Ressourcen für jede Funktion beschreiben: Netzwerke, Administration, Shared Services, Geschäftslogik, Datenbanken und Deployments.

Weitere Informationen zu Compartment-Ressourcen

Compartment-Ressourcen werden entsprechend logischen Grenzen für separate Ressourcen erstellt.

Im Terraform-Skript erstellen Sie Compartments für jede Availability-Domain im Bereich. Mit Compartments können Sie Policys erstellen und auf die Ressourcen in bestimmten Compartments anwenden.

  • NetzwerkCompartment: Mit dem NetzwerkCompartment können Sie den Netzwerkverkehr in den Mandanten verwalten. Innerhalb des Netzwerkvergleichs erstellen Sie virtuelle Cloud-Netzwerke (VCNs) und öffentliche und private Subnetze.
  • Admin-Compartment: Mit dem Admin-Compartment können Sie Subnets (DMZ) für zusätzliche Netzwerksicherheit erstellen, einschließlich Definitionen für Basationshosts.
  • Freigegebenes Services-Compartment: Das Shared Services-Compartment umfasst Ressourcen, die über Instanzen in der Geschäftslogik und im Datenbank-Compartment gemeinsam sind, wie z.B. Speicherservices.
  • Business Logic Compartment: Mit dem Business Logic Compartment können Sie Ressourcen definieren, die eine bestimmte Geschäftsfunktion bereitstellen, wie WebLogic -Anwendungsservices, PeopleSoft -Anwendungen oder E-Business Suite.
  • Datenbankverteilung: Mit dem Datenbank-Compartment können Sie Datenressourcen vom restlichen Mandanten trennen, um die Sicherheit zu erhöhen. Mit diesem Ansatz können Sie restriktive Policys zur Verwaltung von Datenbankressourcen definieren.
Beschreibung von compartments_arch.png folgt
Beschreibung der Grafik compartments_arch.png

Infrastrukturressourcen für Compartments definieren

Erstellen Sie die Konfigurationsdateien für das Compartment-Modul, die die Compartment-Ressourcen definieren.

  1. Ändern Sie die Verzeichnisse in den Ordner compartments.
  2. Erstellen Sie eine Textdatei mit dem Namen compartments.tf, und kopieren Sie den folgenden Code in die Datei.
    resource "oci_identity_compartment" "networks" {
      description = "The networks compartment"
      name        = "${var.app_tag}_${var.environment}_networks"
    }
    
    resource "oci_identity_compartment" "admin" {
      description = "The admin compartment"
      name        = "${var.app_tag}_${var.environment}_admin"
    }
    
    resource "oci_identity_compartment" "shared_services" {
      description = "The shared_services compartment"
      name        = "${var.app_tag}_${var.environment}_shared_services"
    }
    
    resource "oci_identity_compartment" "business_logic" {
      description = "The business_logic compartment"
      name        = "${var.app_tag}_${var.environment}_business_logic"
    }
    
    resource "oci_identity_compartment" "database" {
      description = "The database compartment"
      name        = "${var.app_tag}_${var.environment}_database"
    }
    

Compartment-Infrastrukturgebietskonfiguration erstellen

Erstellen Sie die Terraform-Konfigurationsdateien, um Variablen zu definieren, die von der Root-Datei an das Compartments-Modul übergeben werden, und um Daten an den Terraform-Benutzer auszuwerten.

  1. Erstellen Sie im Ordner compartments eine Textdatei mit dem Namen variables.tf, und kopieren Sie den folgenden Code In die Datei.
    variable "tenancy_ocid" {}
    
    variable "app_tag" {}
    
    variable "environment" {}
  2. Erstellen Sie eine Textdatei mit dem Namen compartments_output.tf, und kopieren Sie den folgenden Code in die Datei.
    output "networks_id" {
      value = "${oci_identity_compartment.networks.id}"
    }
    
    output "admin_id" {
      value = "${oci_identity_compartment.admin.id}"
    }
    
    output "shared_services_id" {
      value = "${oci_identity_compartment.shared_services.id}"
    }
    
    output "business_logic_id" {
      value = "${oci_identity_compartment.business_logic.id}"
    }
    
    output "database_id" {
      value = "${oci_identity_compartment.database.id}"
    }