Nota

Configura zone, viste e risolutori DNS privati per accelerare la certificazione professionale degli architetti OCI con Terraform

Introduzione

Ottenere la certificazione Oracle Cloud Infrastructure (OCI) Architect Professional richiede una conoscenza approfondita di Oracle Cloud e un'esperienza pratica. Questa serie di esercitazioni accelera il tuo percorso sfruttando Infrastructure as Code (IaC) con Terraform e Ansible.

immagine

La figura 1 illustra l'architettura da distribuire per la certificazione OCI Architect Professional Lab 2: Oracle Cloud Infrastructure Architect Professional (Oracle University Lab - 6h 14m).

immagine Figura 1: Endpoint LPG (Local Peering Gateway) per creare un nome di dominio DNS privato

Vantaggi principali del DNS privato

Il DNS privato offre diversi vantaggi per gestire e proteggere le tue risorse OCI. Ciò include, a titolo esemplificativo e non esaustivo:

Scopriamo come sfruttare il DNS privato di OCI per gestire domini personalizzati e connettere le risorse tra le reti. Imparerai a creare zone private, definire record e configurare resolver per uso interno, offrendoti il controllo granulare sull'accesso alle risorse all'interno di OCI.

Approccio semi-automatico in sette attività

L'esercitazione ti guiderà nell'automazione di un ambiente scalabile e multi-VCN in OCI con risoluzione DNS privata. Utilizzando la console OCI, Terraform e Ansible, creerai due VCN, stabilirai i peer gateway (LPG) locali tra loro, avvierai un'istanza di virtual machine (VM), configurerai zone DNS private personalizzate e eseguirai un test completo della risoluzione DNS prima e dopo l'impostazione del resolver VCN. Alla fine, avrai un ambiente multi-VCN completamente funzionale con funzionalità DNS private nelle tue reti.

Obiettivi

Questa è la seconda esercitazione della serie che segue l'esercitazione 1: Lab 1: Accelerate Oracle Cloud Infrastructure Architect Professional Certification with Terraform per accelerare la preparazione della certificazione OCI Architect Professional (2024). Sfruttiamo i principi IaC con Terraform e Ansible, concentrandosi sui concetti DNS di base rilevanti per l'esame. Mentre i laboratori pratici di certificazione: Lab 2: Oracle Cloud Infrastructure Architect Professional (Oracle University Lab - 6h 14m) sono completi, Lab 2 può richiedere molto tempo e il completamento manuale può richiedere oltre 30 minuti. L'automazione di attività di routine come la creazione di VCN, subnet pubbliche e private, GPL e VM, riduce notevolmente i tempi di completamento di oltre l'80% come dimostrato nell'esercitazione 1: Accelera la certificazione professionale di Oracle Cloud Infrastructure Architect con Terraform, consentendoti di concentrarti sulla padronanza dei concetti DNS OCI di base.

Prerequisiti

Task 1: Creare due reti cloud virtuali

Opzione manuale:

Puoi creare le VCN manualmente utilizzando OCI Console. Per indicare questa creazione manuale, è necessario inizializzare i flag is_vcn1_created e is_vcn2_created in false.

Per creare risorse di rete di base come VCN, gateway Internet, tabella di instradamento, lista di sicurezza, subnet pubbliche e private, vedere Avvio rapido del networking virtuale.

immagine Figura 2: Viste della console per raccogliere gli OCID della VCN-01/VCN-02 e l'OCID della subnet pubblica VCN-01

Andare alla console OCI, andare a Networking, Reti cloud virtuali e visualizzare i dettagli della VCN-01, prendere nota dell'OCID e dell'OCID della subnet pubblica. Eseguire le stesse operazioni per la VCN-02, annotare i relativi OCID e aggiungere gli OCID raccolti al file di configurazione Terraform (input.auto.tfvars o variables.tf).

# Create VCN-01 and VCN-02 with OCI VCN Wizard (set is_vcn1_created and is_vcn2_created to false)
is_vcn1_created    = false
is_vcn2_created    = false

# Update VCN-01 OCID and its Public Subnet OCID, as well as VCN-02 OCID
vcn1_id            = "REPLACE_CREATED_VCN1_OCID_HERE"
public_subnet1_id  = "REPLACE_CREATED_PUBLIC_SUBNET1_OCID_HERE"
vcn2_id            = "REPLACE_CREATED_VCN2_OCID_HERE"

Opzione automatizzata:

Inoltre, forniamo due opzioni di automazione per creare la VCN (VCN-01 e VCN-02): un approccio modulo radice e un approccio modulo figlio. Il primo è più semplice e adatto per lo sviluppo e il test o l'implementazione di VCN una tantum. Il secondo offre una migliore organizzazione e scalabilità per implementazioni più grandi e complesse, promuovendo la riutilizzabilità e la manutenibilità del codice, rendendolo ideale per gli ambienti di produzione.

Per indicare a Terraform di creare le reti VCN, è innanzitutto necessario impostare i flag is_vcn1_created e is_vcn2_created su true in input.auto.tfvars o come valori predefiniti in variables.tf. Specificare quindi il blocco CIDR VCN (vcn?_cidr_block), il blocco CIDR della subnet pubblica (public_subnet?_cidr_block), il blocco CIDR della subnet privata (private_subnet?_cidr_block) e il prefisso del nome host (host_name?_prefix). I nomi delle variabili vengono astratti mediante l'uso del punto interrogativo (?) come segnaposto. Sostituendo ? con 1 o 2, definirete configurazioni separate per VCN-01 e VCN-02, rispettivamente.

È inoltre necessario definire i valori per variabili specifiche: oci_regions (mapping degli identificativi delle aree alle chiavi), network_deployment_option (TF-ROOT-MODULE o TF-CHILD-MODULE) e dipslay_name_prefix (ad esempio,AP-Lab-02-1). Il nome visualizzato della VCN finale include il valore network_deployment_option per generare nomi completi (ad esempio, PHX-AP-LAB02-1-TF-ROOT-MODULE-VCN-01).

Task 2: Crea due Local Peering Gateway

Opzione manuale:

Per creare manualmente GPL in OCI, vedere Creazione di un Local Peering Gateway. In questo caso, impostare i flag is_lpg1_created e is_lpg2_created su false nel file di configurazione (input.auto.tfvars o variables.tf).

Opzione automatizzata:

Per automatizzare l'attività utilizzando Terraform, impostare questi flag su true. In questo modo, Terraform dovrà creare LPG-01 e LPG-02.

# Create 2 Local Peering Gateways (LPG-01 and LPG-02) then peer them.
is_lpg1_created = true
is_lpg2_created = true

Il seguente snippet di codice Terraform crea sia LPG-01 che LPG-02 e stabilisce una relazione di peering tra di essi, abilitando la connettività privata tra le VCN.

# LPG-01 Creation
resource "oci_core_local_peering_gateway" "lpg-01" {
  count = (var.is_vcn1_created && var.is_lpg1_created) ? 1 : 0

  # Required
  compartment_id = var.compartment_id
  display_name   = var.is_vcn1_created ?  "${try(var.regions_keys_map[var.region], "OCI")}-${var.display_name_prefix}-${var.network_deployment_option}-LPG-01" : "${try(var.regions_keys_map[var.region], "OCI")}-${var.display_name_prefix}-LPG-01"
  vcn_id = var.is_vcn1_created ? module.vcn-01.vcn_ocid : var.vcn1_id
}

# LPG-02 Creation
resource "oci_core_local_peering_gateway" "lpg-02" {
  depends_on     = [oci_core_local_peering_gateway.lpg_01]
  count = (var.is_vcn2_created && var.is_lpg2_created) ? 1 : 0

  # Required
  compartment_id = var.compartment_id
  display_name   = var.is_vcn1_created ? "${try(var.regions_keys_map[var.region], "OCI")}-${var.display_name_prefix}-${var.network_deployment_option}-LPG-02" : "${try(var.regions_keys_map[var.region], "OCI")}-${var.display_name_prefix}-LPG-02"
  vcn_id = var.is_vcn2_created ? module.vcn-02.vcn_ocid : var.vcn2_id

  # Peering lpg-02 with lpg-01
  peer_id = oci_core_local_peering_gateway.lpg_01[count.index].id
}

Task 3: avviare un'istanza di Virtual Machine

Opzione manuale:

Per avviare manualmente un'istanza VM tramite OCI Console, vedere Creazione di un'istanza.

Opzione automatizzata:

Forniremo un'automazione del provisioning delle VM utilizzando una versione semplificata del codice Terraform dell'esercitazione 1: Accelera la certificazione professionale di Oracle Cloud Infrastructure Architect con Terraform. Per indicare a Terraform di creare una virtual machine VM-01, impostare il flag is_instance_created su true. Il nome visualizzato della VM includerà l'impostazione network_deployment_option (ad esempio, PHX-AP-LAB02-1-TF-ROOT-MODULE-VM-01 o PHX-AP-LAB02-1-TF-CHILD-MODULE-VM-01) se la VCN viene creata con Terraform.

# Task 3: Launch a VM(VM-01) in the Public Subnet of VCN-01.
is_instance_created = true

Il seguente codice Terraform automatizza la creazione di una VM-01 come mostrato nella Figura 1 all'interno della subnet pubblica VCN-01.

resource "oci_core_instance" "this" {
  count = (var.is_instance_created) ? 1 : 0

  availability_domain = data.oci_identity_availability_domains.ads.availability_domains[0].name
  compartment_id              = var.compartment_id
  create_vnic_details {
    assign_private_dns_record = "true"
    assign_public_ip          = "true"
    subnet_id                 = var.is_vcn1_created ? module.vcn-01.public_subnet_ocid : var.public_subnet1_id
  }
  display_name = var.is_vcn1_created ? "${try(var.regions_keys_map[var.region], "OCI")}-${var.display_name_prefix}-${var.network_deployment_option}-VM-0${count.index + 1}" : "${try(var.regions_keys_map[var.region], "OCI")}-${var.display_name_prefix}-VM-0${count.index + 1}"

  instance_options {
    are_legacy_imds_endpoints_disabled = "false"
  }
  metadata = {
    "ssh_authorized_keys" = "${file(var.ssh_public_key)}"
  }

  shape = var.shape_name
  shape_config {
    memory_in_gbs             = var.shape_memory_in_gbs
    ocpus                     = var.shape_numberof_ocpus
  }
  source_details {
    source_id   = var.image_ids[var.region]
    source_type = "image"
  }
}

Task 4: creare zone private personalizzate per la VCN-01 e la VCN-02

Le zone DNS private di OCI memorizzano record DNS interni, accessibili solo all'interno di una VCN. Per comprendere i concetti DNS, mostreremo in primo luogo come creare manualmente due zone private personalizzate. La Figura 3 illustra la creazione di una zona DNS privata zone-a.local nella VCN-01 (PHX-AP-LAB02-1-VCN-01) e vi aggiunge una record.

immagine Figura 3: Creare una zona DNS privata e associarla alla VCN-01, quindi aggiungere un nuovo record alla zona

Opzione manuale:

  1. Crea e configura una zona DNS privata per la VCN-01 (zone-a.local).

    1. Andare alla console OCI, andare a Networking, Gestione DNS, Zone e fare clic su Zone private.

    2. Fare clic su Crea zona, immettere il nome della zona (zone-a.local), selezionare Seleziona vista privata DNS esistente, PHX-AP-LAB02-1-VCN-01 come VCN associata e fare clic su Crea.

    3. Dopo la creazione della zona, visualizzare i record NS e SOA generati automaticamente.

    4. Fare clic su Gestisci record e selezionare Aggiungi record.

    5. Immettere le informazioni seguenti e fare clic su Aggiungi record.

      • Nome: immettere server01.
      • Tipo: selezionare A - IPv4 Address.
      • TTL: immettere 30 seconds (se necessario, sbloccare il campo).
      • Indirizzo: immettere 10.0.0.2.
    6. Fare clic su Pubblica modifiche e su Conferma pubblicazione delle modifiche.

      Note: attendere il completamento dell'operazione (stato modificato da UPDATING in ACTIVE).

  2. Crea e configura una zona DNS privata per la VCN-02 (zone-b.local). Attenersi alla stessa procedura della Figura 3 per creare una zona privata per la VCN-02 (PHX-AP-LAB02-1-VCN-02).

    1. Passare a Zone, Zone private, quindi fare clic su Crea zona.

    2. Immettere il nome come zone-b.local, selezionare Seleziona vista privata DNS esistente, PHX-AP-LAB02-1-VCN-02 come VCN associata e fare clic su Crea.

    3. Fare clic su Gestisci record e selezionare Aggiungi record.

    4. Immettere le informazioni seguenti e fare clic su Aggiungi record.

      • Nome: immettere server01.
      • Tipo: selezionare A - IPv4 Address.
      • TTL: immettere 60 seconds (se necessario, sbloccare il campo).
      • Indirizzo: immettere 172.16.0.123.
    5. Fare clic su Pubblica modifiche e su Conferma pubblicazione delle modifiche.

      Note: se si salta un passo di creazione manuale, si generano errori quali: zone not found: 3 (NXDOMAIN).

Opzione automatizzata:

Questo tutorial fornisce anche un approccio automatizzato avanzato utilizzando Ansible. Ansible è uno strumento di automazione open source che gestisce le configurazioni per la tua infrastruttura. In questo contesto, un playbook Ansible è una raccolta di attività che automatizzano la creazione di zone DNS private. Per ulteriori informazioni, vedere Parole chiave di Playbook Ansible.

Impostare is_task4_automated su true in input.auto.tfvars o in variabes.tf per attivare un'esecuzione Ansible playbook in playbooks.sh, automatizzando in una singola esecuzione sia la creazione di zone DNS private che l'aggiunta di record.

# Task 4: Create and Configure two DNS zones (zone-a and zone-b).
is_task4_automated = true

Utilizzando il provisioninger local-exec di Terraform, puoi eseguire una guida Ansible per creare automaticamente zone-a.local nelle zone VCN-01 e zone-b.local nella VCN-02 con il rispettivo records. Per ulteriori informazioni, vedere Codice origine: oci-ansible-collection.

# Create 2 Custom Private Zones and Associated Records in OCI
resource "null_resource" "ansible-create-zones-playbook" {
  count      = (var.is_task4_automated) ? 1 : 0

  # Create inventory
  provisioner "local-exec" {
    command = "sh ~/terraform-ws/lab2-demos/playbooks.sh"
  }
}

Task 5: eseguire il test dell'istanza per la zona associata A

Opzione manuale:

SSH manuale nell'istanza VM per verificare se l'istanza VM è associata a zone-a.local.

  1. SSH nell'istanza con l'indirizzo IP pubblico.

    ssh -i <private_ssh_key> <public_ip_address>
    
  2. Cercare i record DNS per server01.zone-a.local.

    host server01.zone-a.local
    

    Output previsto:

    server01.zone-a.local has address 10.0.0.2
    
  3. Verificare la voce della zona generata dal sistema.

    host -t NS zone-a.local
    

    Output previsto:

    zone-a.local has NS record vcn-dns.oraclevcn.com.
    
  4. Verificare il record autorità per la zona.

    host -t SOA zone-a.local
    

    Output previsto:

    zone-a.local has SOA record ven-dns.oraclevcn.com.
    hostmaster.oracle.com. 2 3600 3600 3600 10
    
  5. Osserva la differenza nella risoluzione DNS in base alle viste VCN associate.

    host server01.zone-b.local
    

    Output previsto:

    server01.zone-b.local not found: 3 (NXDOMAIN)
    

    L'output indica che zone-b.local non è associato ad alcuna vista della VCN.

Opzione automatizzata:

Impostare il flag is_test_instance_associated_zone_a su true per indicare a Terraform di eseguire il test dell'associazione VM-01 con zone-a.local.

# Test Instance for Associated Zone (zone-a.local)
is_test_instance_associated_zone_a = true

Il seguente codice Terraform utilizza il provisioninger remote-exec per automatizzare il test dell'associazione di zona VM-01.

resource "null_resource" "dns_test_1" {
  depends_on = [oci_core_instance.this[0]]
  count      = (var.is_test_instance_associated_zone_a) ? 1 : 0

  connection {
    agent       = false
    timeout     = "30m"
    host        = oci_core_instance.this[0].public_ip
    user        = "opc"
    private_key = file(var.ssh_private_key) # Avoid exposing SSH keys directly
  }

  provisioner "remote-exec" {
    inline = [
      "echo \"Begin Test 1 - Instance Associated Zone-A\"",
      "echo \"1. Successful SSH to the instance using public ip address: ${oci_core_instance.this[0].public_ip}\"",
      "echo \"2. Look up DNS records for server01.zone-a.local.\"",
      "host server01.zone-a.local",
      "echo \"3. Verify the system-generated zone entry.\"",
      "host -t NS zone-a.local",
      "echo \"4. Verify the authority record for the zone.\"",
      "host -t SOA zone-a.local",
      "echo \"5. Observe the difference in DNS resolution based on the associated VCN views.\"",
      "host server01.zone-b.local",
      "echo \"End Test 1 - Instance Associated Zone-A\"",    ]
  }
}

Task 6: configurare il resolver VCN e aggiungere l'altra vista privata

Opzione manuale:

Per configurare manualmente il resolver VCN, passare alla pagina dei dettagli VCN-01 nella console OCI, selezionare Resolver VCN e Vista privata.

Selezionare VCN-02 dal menu a discesa e fare clic su Salva per salvare le modifiche. Attendere che lo stato della pagina dei dettagli del risolutore privato passi da UPDATING a ACTIVE.

Opzione automatizzata:

Per automatizzare la configurazione del resolver VCN, utilizziamo il provisioninger local-exec di Terraform per eseguire l'interfaccia CLI OCI, le playbook Ansible o i moduli Terraform.

Impostare il flag is_task6_automated su true per indicare a Terraform.

is_task6_automated = true

Lo script bash update_resolver.sh fornito evidenzia i passi per aggiornare il resolver privato per la VCN-01 e associare la VCN-02 come vista privata DNS. Inoltre, un esempio di configurazione DNS Terraform ibrido per OCI è disponibile qui: terraform-OCI-hybrid-dns.

# Task 6: Configure the VCN Resolver, adding the Other Private View
resource "null_resource" "run-get-resolver" {
  count      = (var.is_task6_automated) ? 1 : 0

  # Create inventory
  provisioner "local-exec" {
    command = "sh ~/terraform-ws/lab2-demos/update_resolver.sh"
  }
}

Task 7: eseguire il test dell'istanza per la zona B associata

Opzione manuale:

Verificare che il server si risolva correttamente dopo aver configurato il resolver VCN.

  1. SSH nell'istanza con l'indirizzo IP pubblico.

    ssh -i <private_ssh_key> <public_ip_address>
    
  2. Cercare i record DNS per server01.zone-a.local.

    host server01.zone-b.local
    

    Output previsto:

    server01.zone-b.local has address 172.16.0.123
    

Nota: se la risoluzione DNS non riesce, attendere alcuni minuti affinché le modifiche diventino effettive. Se necessario, riavviare l'istanza.

Opzione automatizzata:

Impostare il flag is_test_instance_associated_zone_b su true per indicare a Terraform di eseguire il test dell'associazione di VM-01 con la seconda zona (zone-b.local) nella seconda VCN (VCN-02).

# Test Instance for Assoicated Zone B
is_test_instance_associated_zone_b = true

Il codice seguente utilizza il provisioninger remote-exec di Terraform per automatizzare il test, verificando l'associazione dell'istanza VM a zone-b.local.

resource "null_resource" "dns_test_2" {
  depends_on = [oci_core_instance.this[0]]
  count      = (var.is_test_instance_associated_zone_a) ? 1 : 0

  connection {
    agent       = false
    timeout     = "30m"
    host        = oci_core_instance.this[0].public_ip
    user        = "opc"
    private_key = file(var.ssh_private_key)
  }

  provisioner "remote-exec" {
    inline = [
      "echo \"Begin Test 2 - Instance Associated Zone-B\"",
      "echo \"1. Successfull SSH into the instance using its public ip address: ${oci_core_instance.this[0].public_ip}\"",
      "echo \"2. Look up DNS records for server01.zone-b.local.\"",
      "host server01.zone-b.local",
      "echo \"End Test 2 - Instance Associated Zone-B\""    ]
  }
}

Opzioni di distribuzione

Esamineremo due opzioni di implementazione:

To provision Lab 2 resources (VCN-01/VCN-02, LPG-01/LPG-02, and VM-01) and trigger the required tests, you need to provide default values for: image OCIDs map for each used region (image_ids), compartment OCID (compartment_id), display name prefix (display_name_prefix), networking (is_vcn1_created, is_vcn2_created, is lpg1_created, is_lpg2_created, vcn_1_id, vcn_2_id, and public_subnet1_id), compute instance (is_instance_created, shape_name), and testing flags for instance and zone associations (is_test_instance_associated_zone_a and is_test_instance_associated_zone_b).

Opzione 1: utilizzare Oracle Resource Manager (ORM)

La Figura 4 mostra la creazione dello stack ORM per la creazione delle risorse del laboratorio 2.

immagine Figura 4: Oracle Resource Manager - Crea stack Lab2 (VCN-01, VCN-02, LPG-01 e LPG-02, VM-01)

Terraform automatizza il provisioning dell'infrastruttura in sette passi, come mostrato nella Figura 5: analisi delle configurazioni di origine, creazione del package del modello Terraform, fornitura di valori variabili predefiniti, creazione di stack ORM, modifiche alla pianificazione, applicazione di tali modifiche al provisioning delle risorse in OCI e, facoltativamente, eliminazione delle risorse. L'integrazione degli strumenti CI/CD DevOps come Jenkins o OCI DevOps può automatizzare l'intero processo, fornendo una soluzione conveniente vicina a una single-click.

immagine Figura 5: Oracle Resource Manager Stack Workflow (creare, pianificare, applicare ed eliminare)

Opzione 2: utilizzare l'interfaccia CLI (Community Edition) (Terraform Command Line Interface)

L'interfaccia CLI Terraform è un potente strumento infrastructure as code che consente una gestione flessibile e scalabile delle risorse cloud attraverso file di configurazione dichiarativi. Scaricare il codice Terraform da qui: OCI-blog-fast-tracking-apcertif-part2.zip, personalizzare il file input.auto.tfvars con i dettagli OCI (compartment_id, image_ids) e seguire le istruzioni in README.md per impostare l'ambiente, eseguire i comandi terraform init, terraform plan e terraform apply per completare Lab 2.

Per ogni task sono stati inclusi script bash che preimpostano i flag Terraform necessari, riducendo i clic e i tempi di completamento. Questi script offrono diversi livelli di flessibilità:

In sostanza, questo pacchetto fornisce guide e best practice per configurare il DNS privato, semplificando Lab 2 e garantendo un'esperienza di apprendimento fluida con il DNS OCI.

##########################################################################
# Terraform module: Configuring Private DNS Zones, Views, and Resolvers. #
# File Name: input.auto.tfvars                                           #
# Copyright (c) 2024 Oracle        Author: Mahamat H. Guiagoussou.       #
##########################################################################

# Working Compartment
compartment_id      = "REPLACE_WITH_YOUR_WORKING_COMPARTMENT_OCID_HERE"

# Region based display name prefix
display_name_prefix = "AP-LAB02-1"   # Replace with your prefix

# TASK 1 - Create 2 VCNs (VCN-01 and VCN-02) manually using the OCI
# VCN Wizard (semi automated option) or Terraform (Root or Child)

# Turn flags off to indicate VCN-01 and VCN-02 are not created with TF
#is_vcn1_created    = false   # Set to 'false' to create VCN-01
#is_vcn2_created    = false   # Set to 'false' to create VCN-02

# After Creating VCN-01 & VCN-02 with VCN Wizard, updae OCIDs
vcn_id            = "REPLACE_VCN1_OCID_HERE"
vcn_id            = "REPLACE_VCN2_OCID_HERE"
public_subnet_id  = "REPLACE_PUBLIC_VCN1_SUBNET_OCID_HERE"

# Create VCN-01 and VCN-02 with Terraform. Use only one of 2 options:
# (1) Root Module  - Dupplicated code ("network1.tf" & "network2.tf")
# (2) Child Module - Use an existing Terraform Network Module.

# Network Deployment Options (Root Module)
network_deployment_option = "TF-ROOT-MODULE" # "TF-CHILD-MODULE"

# Turn flags on to instruct Terraform to create VCN-02 and VCN-02
is_vcn1_created            = true   # Set to 'true' to create VCN-01
is_vcn2_created            = true   # Set to 'true' to create VCN-02

# Networking parameters: CIDR Blocks and Host Name prefix
vcn1_cidr_block            = "10.0.0.0/16"
vcn2_cidr_block            = "172.0.0.0/16"
public_subnet1_cidr_block  = "10.0.0.0/24"
public_subnet2_cidr_block  = "172.0.0.0/24"
private_subnet1_cidr_block = "10.0.1.0/24"
private_subnet2_cidr_block = "172.0.1.0/24"
host_name_prefix           = "<region-key>apl1"

# Task 2: Create two(2) Local Peering Gateways (LPG-01 & LPG-02)
is_lpg1_created            = false
is_lpg2_created            = false

# Task 3: Launch a VM (VM-01) in the public subnet
is_instance_created        = false

# Shape Definition
shape_name                 = "VM.Standard.A1.Flex"
shape_memory_in_gbs        = "6"
shape_numberof_ocpus       = "1"

# SSH keys
ssh_public_key             = "REPLACE_SSH_PUBLIC_KEY_PATH"
ssh_private_key            = "REPLACE_SSH_PRIVATE_KEY_PATH"

# Task 4: Create and Configure OCI Private Zones (zone-a/b.local)
is_task4_automated         = false

# Task 5: Test your instance for Associated Zone A.
is_test_instance_associated_zone_a = false

# Task 6: Configure the VCN Resolver, adding the Other Private View.
is_task6_automated         = false

# Task 7: Test your Instance for Associated Zone B.
is_test_instance_assoracle = false

Questa esercitazione ha fornito un approccio completo alla configurazione di zone, viste e risolutori DNS privati in Oracle Cloud Infrastructure (OCI). Offriva sia metodi manuali che automatizzati per creare, configurare e testare questi componenti. Questo approccio pratico e semi-automatico garantisce una solida comprensione della risoluzione DNS tra diversi VCN nell'infrastruttura OCI.

Attraverso sette task, hai creato due VCN, stabilito LPG, avviato una VM, configurato due zone DNS personalizzate e verificato l'associazione DNS della VM prima e dopo aver aggiunto la seconda VCN come vista privata associata al resolver DNS della prima VCN.

Passi successivi

Automatizzando il provisioning dell'infrastruttura OCI utilizzando gli strumenti Infrastructure as Code IaC come Terraform, Ansible, Oracle Resource Manager ORM e OCI CLI bash shell scripting, questa esercitazione aiuta i candidati alla certificazione OCI Architect Professional (2024) ad accelerare attività complesse, come quelle nelle configurazioni DNS di Lab 2, da 30 minuti a soli 5 minuti. Questo incremento dell'efficienza temporale riduce gli errori umani, riduce i costi di gestione delle risorse e aumenta i tassi di successo su larga scala.

Impara Terraform e Ansible, quindi utilizza ORM, CLI OCI e script bash per esplorare le migliori pratiche IaC per una gestione efficace dell'infrastruttura OCI.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.