建立 VCN 模組

在 Terraform 組態中定義虛擬雲端網路 (VCN) 和閘道作為資源,並宣告模組中使用的變數。

完成 vcn 子目錄中的下列步驟:
  1. 建立名為 variables.tf 的文字檔,然後將下列程式碼貼到檔案中。
    此代碼會宣告此模組中使用的變數。
    variable "tenancy_ocid" {}
    variable "compartment_ocid" {}
    variable "app_tag" {}
    variable "environment" {}
    variable "vcn_cidr" {}
  2. 建立名為 vcn.tf 的文字檔,然後將下列程式碼貼到檔案中。
    此代碼指定 VCN、網際網路閘道和 NAT 閘道的參數。
    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"
    }

    此 Terraform 組態範例未指定任何子網路、安全清單及其他網路資源。您可以視需要自訂此組態。

  3. 建立名為 vcn_output.tf 的文字檔,然後將下列程式碼貼到檔案中。
    此代碼會使 Terraform 在建立後顯示資源 ID。
    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}"
    }