Créer le module de réseau cloud virtuel

Définissez le réseau cloud virtuel et les passerelles en tant que ressources dans la configuration Terraform, et déclarez les variables utilisées dans le module.

Exécutez les étapes suivantes dans le sous-répertoire vcn :
  1. Créez un fichier texte nommé variables.tf et collez le code suivant dans le fichier.
    Ce code déclare les variables utilisées dans ce module.
    variable "tenancy_ocid" {}
    variable "compartment_ocid" {}
    variable "app_tag" {}
    variable "environment" {}
    variable "vcn_cidr" {}
  2. Créez un fichier texte nommé vcn.tf et collez le code suivant dans le fichier.
    Ce code indique les paramètres du réseau cloud virtuel, de la passerelle Internet et de la passerelle 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"
    }

    L'exemple de configuration Terraform n'indique pas de sous-réseaux, de listes de sécurité et d'autres ressources réseau. Vous pouvez personnaliser cette configuration selon vos besoins.

  3. Créez un fichier texte nommé vcn_output.tf et collez le code suivant dans le fichier.
    Avec ce code, Terraform affiche les ID des ressources, après leur création.
    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}"
    }