VCN-Modul erstellen

Definieren Sie das virtuelle Cloud-Netzwerk (Virtual Cloud Network, VCN) und die Gateways als Ressourcen in der Terraform-Konfiguration, und deklarieren Sie die im Modul verwendeten Variablen.

Führen Sie die folgenden Schritte im Unterverzeichnis vcn aus:
  1. Erstellen Sie eine Textdatei mit dem Namen variables.tf, und fügen Sie den folgenden Code in die Datei ein.
    Dieser Code deklariert die in diesem Modul verwendeten Variablen.
    variable "tenancy_ocid" {}
    variable "compartment_ocid" {}
    variable "app_tag" {}
    variable "environment" {}
    variable "vcn_cidr" {}
  2. Erstellen Sie eine Textdatei mit dem Namen vcn.tf, und fügen Sie den folgenden Code in die Datei ein.
    Dieser Code gibt die Parameter des VCN, des Internetgateways und des NAT-Gateways an.
    resource "oci_core_virtual_network" "base_vcn" {
      cidr_block     = "${var.vcn_cidr}"
      compartment_id = "${var.compartment_ocid}"
      display_name   = "${var.app_tag}_${var.environment}_vcn"
      dns_label      = "${lower(format("%s", var.app_tag))}"
    }
    
    resource "oci_core_internet_gateway" "base_ig" {
      compartment_id = "${var.compartment_ocid}"
      display_name   = "${var.app_tag}_${var.environment}_internetgateway"
      vcn_id         = "${oci_core_virtual_network.base_vcn.id}"
    }
    
    resource "oci_core_nat_gateway" "nat_gateway" {
      compartment_id = "${var.compartment_ocid}"
      vcn_id         = "${oci_core_virtual_network.base_vcn.id}"
      display_name   = "${var.app_tag}_${var.environment}_nat_gateway"
    }

    In diesem Terraform-Konfigurationsbeispiel werden keine Subnetze, Sicherheitslisten und anderen Netzwerkressourcen angegeben. Sie können diese Konfiguration nach Bedarf anpassen.

  3. Erstellen Sie eine Textdatei mit dem Namen vcn_output.tf, und fügen Sie den folgenden Code in die Datei ein.
    Dieser Code führt dazu, dass Terraform nach der Erstellung die IDs der Ressourcen anzeigt.
    output "vcnid" {
      value = "${oci_core_virtual_network.base_vcn.id}"
    }
    
    output "default_dhcp_id" {
      value = "${oci_core_virtual_network.base_vcn.default_dhcp_options_id}"
    }
    
    output "internet_gateway_id" {
      value = "${oci_core_internet_gateway.base_ig.id}"
    }
    
    output "nat_gateway_id" {
      value = "${oci_core_nat_gateway.nat_gateway.id}"
    }