Observação:

Configurar Zonas, Views e Resolvedores Privados de DNS para Acelerar a Certificação OCI Architect Professional com o Terraform

Introdução

A obtenção da certificação de Arquiteto Profissional da Oracle Cloud Infrastructure (OCI) exige um profundo conhecimento da Oracle Cloud e experiência prática. Esta série de tutoriais acelera sua jornada aproveitando a Infraestrutura como Código (IaC) com o Terraform e o Ansible.

image

A Figura 1 ilustra a arquitetura a ser implantada para o OCI Architect Professional Certification Lab 2: Oracle Cloud Infrastructure Architect Professional (Oracle University Lab - 6h 14m).

image Figura 1: Pontos Finais do LPG (Local Peering Gateway) para Criar Nome de Domínio de DNS Privado

Principais Benefícios do DNS Privado

O DNS privado oferece várias vantagens para gerenciar e proteger seus recursos da OCI. Isso inclui, mas não se limita ao seguinte:

Vamos nos aprofundar em como aproveitar o DNS privado da OCI para gerenciar domínios personalizados e conectar recursos entre redes. Você aprenderá a criar zonas privadas, definir registros e configurar resolvedores para uso interno, oferecendo controle granular sobre o acesso a recursos no OCI.

Abordagem semi-automatizada em sete tarefas

O tutorial irá guiá-lo através da automação de um ambiente escalável e multi-VCN na OCI com resolução de DNS privado. Usando a Console do OCI, o Terraform e o Ansible, você criará duas VCNs, estabelecerá gateways de pareamento local (LPGs) entre eles, iniciará uma instância de máquina virtual (VM), configurará zonas de DNS privadas personalizadas e testará completamente a resolução de DNS antes e depois de configurar o resolvedor de VCN. No final, você terá um ambiente multi-VCN totalmente funcional com funcionalidade de DNS privado em suas redes.

Objetivos

Este é o segundo tutorial da série a seguir: tutorial 1: Lab 1: Accelerate Oracle Cloud Infrastructure Architect Professional Certification with Terraform para acelerar sua preparação para a OCI Architect Professional Certification (2024). Aproveitamos os princípios do IaC com o Terraform e o Ansible, com foco nos principais conceitos de DNS relevantes para o exame. Embora os laboratórios práticos de certificação: Lab 2: Oracle Cloud Infrastructure Architect Professional (Oracle University Lab - 6h 14m) sejam abrangentes, o Lab 2 pode ser demorado, levando mais de 30 minutos para ser concluído manualmente. A automação de tarefas rotineiras, como a criação de VCNs, sub-redes públicas e privadas, LPGs e VMs, reduz significativamente o tempo de conclusão em mais de 80%, conforme demonstrado no Tutorial 1: Acelere a Certificação Profissional do Oracle Cloud Infrastructure Architect com o Terraform, permitindo que você se concentre em dominar os principais conceitos do OCI DNS.

Pré-requisitos

Tarefa 1: Criar Duas Redes Virtuais na Nuvem

Opção manual:

Você pode criar VCNs manualmente usando a Console do OCI. Para indicar essa criação manual, os sinalizadores is_vcn1_created e is_vcn2_created devem ser inicializados como false.

Para criar recursos de rede principais como VCN, gateway de internet, tabela de roteamento, lista de segurança, sub-redes públicas e privadas, consulte Início Rápido da Rede Virtual.

image Figura 2: Views da Console para Coletar OCIDs da VCN-01/VCN-02 e OCID da Sub-rede Pública da VCN-01

Vá para a Console do OCI, navegue até Rede, Redes Virtuais na Nuvem e exiba os detalhes da VCN-01, anote seu OCID e o OCID de sua sub-rede pública. Faça o mesmo para a VCN-02, anote seus OCIDs e adicione os OCIDs coletados ao arquivo de configuração do Terraform (input.auto.tfvars ou 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"

Opção automatizada:

Também fornecemos duas opções de automação para criar a VCN (VCN-01 e VCN-02): uma abordagem Módulo Raiz e uma abordagem Módulo Filho. O primeiro é mais simples e adequado para desenvolvimento e teste ou implantação única de VCNs. O segundo oferece melhor organização e escalabilidade para implementações maiores e complexas, promovendo a reutilização e a manutenção do código, tornando-o ideal para ambientes de produção.

Para instruir o Terraform a criar as VCNs, primeiro você precisa definir os flags is_vcn1_created e is_vcn2_created como true em input.auto.tfvars ou como valores padrão em variables.tf. Em seguida, especifique o bloco CIDR da VCN (vcn?_cidr_block), o bloco CIDR da sub-rede pública (public_subnet?_cidr_block), o bloco CIDR da sub-rede privada (private_subnet?_cidr_block) e o prefixo do nome do host (host_name?_prefix). Os nomes de variáveis são abstraídos por meio do uso de um ponto de interrogação (?) como um espaço reservado. Substituindo ? por 1 ou 2, você definirá configurações separadas para VCN-01 e VCN-02, respectivamente.

Você também precisa definir os valores para variáveis específicas: oci_regions (mapeando identificadores de região para chaves), network_deployment_option (TF-ROOT-MODULE ou TF-CHILD-MODULE) e dipslay_name_prefix (por exemplo,AP-Lab-02-1). O nome para exibição final da VCN inclui o valor network_deployment_option para gerar nomes abrangentes (por exemplo, PHX-AP-LAB02-1-TF-ROOT-MODULE-VCN-01).

Tarefa 2: Criar Dois LPGs (Local Peering Gateways)

Opção manual:

Para criar LPGs no OCI manualmente, consulte Criando um LPG (Local Peering Gateway). Nesse caso, defina os sinalizadores is_lpg1_created e is_lpg2_created como false em seu arquivo de configuração (input.auto.tfvars ou variables.tf).

Opção automatizada:

Para automatizar a tarefa usando o Terraform, defina esses flags como true. Isso instrui o Terraform a criar 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

O trecho de código do Terraform a seguir cria o LPG-01 e o LPG-02 e estabelece um relacionamento de pareamento entre eles, permitindo conectividade privada entre suas VCNs.

# 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
}

Tarefa 3: Iniciar uma Instância de Máquina Virtual

Opção manual:

Para iniciar uma instância de VM manualmente por meio da Console do OCI, consulte Criando uma Instância.

Opção automatizada:

Forneceremos uma automação do provisionamento de VM usando uma versão simplificada do código do Terraform do Tutorial 1: Acelere a Certificação Profissional do Oracle Cloud Infrastructure Architect com o Terraform. Para instruir o Terraform a criar uma máquina virtual VM-01, defina o flag is_instance_created como true. O nome para exibição da VM incluirá a definição network_deployment_option (por exemplo, PHX-AP-LAB02-1-TF-ROOT-MODULE-VM-01 ou PHX-AP-LAB02-1-TF-CHILD-MODULE-VM-01) se a VCN for criada com o Terraform.

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

O código do Terraform a seguir automatiza a criação de uma VM-01, conforme mostrado na Figura 1 na sub-rede pública da 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"
  }
}

Tarefa 4: Criar Zonas Privadas Personalizadas para VCN-01 e VCN-02

As zonas DNS privadas do OCI armazenam registros DNS internos, acessíveis apenas dentro de uma VCN. Para entender os conceitos de DNS, primeiro mostraremos como criar manualmente duas zonas privadas personalizadas. A Figura 3 ilustra a criação de uma Zona de DNS privada zone-a.local na VCN-01 (PHX-AP-LAB02-1-VCN-01) e adiciona um record a ela.

image Figura 3: Crie uma zona de DNS Privado e associe-a à VCN-01, em seguida, adicione um novo registro à zona

Opção manual:

  1. Crie e configure uma zona de DNS privada para VCN-01 (zone-a.local).

    1. Vá para a Console do OCI, navegue até Rede, Gerenciamento de DNS, Zonas e clique em Zonas Privadas.

    2. Clique em Criar Zona, digite o nome da zona (zone-a.local), selecione Selecionar View Privada de DNS existente, PHX-AP-LAB02-1-VCN-01 como a VCN associada e clique em Criar.

    3. Depois que a zona for criada, exiba os registros NS e SOA gerados automaticamente.

    4. Clique em Gerenciar Registros e selecione Adicionar Registro.

    5. Especifique as informações a seguir e clique em Adicionar Registro.

      • Nome: Informe server01.
      • Type: Selecione A - IPv4 Address.
      • TTL: Digite 30 seconds (desbloqueie o campo, se necessário).
      • Endereço: Informe 10.0.0.2.
    6. Clique em Publicar Alterações e Confirmar Publicação de Alterações.

      Observações: Aguarde a conclusão bem-sucedida da operação (estado alterado de UPDATING para ACTIVE).

  2. Crie e configure uma zona de DNS privada para VCN-02 (zone-b.local). Siga as mesmas etapas da Figura 3 para criar uma zona privada para a VCN-02 (PHX-AP-LAB02-1-VCN-02).

    1. Navegue até Zonas, Zonas Privadas e clique em Criar Zona.

    2. Digite Nome como zone-b.local, selecione Selecionar View Privada de DNS existente, PHX-AP-LAB02-1-VCN-02 como a VCN associada e clique em Criar.

    3. Clique em Gerenciar Registros e selecione Adicionar Registro.

    4. Especifique as informações a seguir e clique em Adicionar Registro.

      • Nome: Informe server01.
      • Type: Selecione A - IPv4 Address.
      • TTL: Digite 60 seconds (desbloqueie o campo, se necessário).
      • Endereço: Informe 172.16.0.123.
    5. Clique em Publicar Alterações e Confirmar Publicação de Alterações.

      Observações: Se você ignorar uma etapa de criação manual, isso resultará em erros como: zone not found: 3 (NXDOMAIN).

Opção automatizada:

Este tutorial também fornece uma abordagem automatizada avançada usando o Ansible. O Ansible é uma ferramenta de automação de código aberto que gerencia configurações para sua infraestrutura. Neste contexto, um manual do Ansible é uma coleção de tarefas que automatizam a criação de zonas DNS privadas. Para obter mais informações, consulte Palavras-chave do Ansible Playbook.

Defina is_task4_automated como true em input.auto.tfvars ou em variabes.tf para acionar uma execução Ansible playbook em playbooks.sh, automatizando em uma única execução a criação de zonas DNS privadas e a adição de registros.

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

Usando o provisionador local-exec do Terraform, você pode executar um playbook do Ansible para criar automaticamente zone-a.local nas zonas VCN-01 e zone-b.local na VCN-02 com suas respectivas records. Para obter mais informações, consulte Código-fonte: 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"
  }
}

Tarefa 5: Testar sua Instância para a Zona A Associada

Opção manual:

Faça SSH manualmente na instância de VM para verificar se sua instância de VM está associada a zone-a.local.

  1. SSH na instância com o endereço IP público.

    ssh -i <private_ssh_key> <public_ip_address>
    
  2. Procure registros de DNS para server01.zone-a.local.

    host server01.zone-a.local
    

    Saída Esperada:

    server01.zone-a.local has address 10.0.0.2
    
  3. Verifique a entrada de zona gerada pelo sistema.

    host -t NS zone-a.local
    

    Saída Esperada:

    zone-a.local has NS record vcn-dns.oraclevcn.com.
    
  4. Verifique o registro de autoridade para a zona.

    host -t SOA zone-a.local
    

    Saída Esperada:

    zone-a.local has SOA record ven-dns.oraclevcn.com.
    hostmaster.oracle.com. 2 3600 3600 3600 10
    
  5. Observe a diferença na resolução de DNS com base nas views de VCN associadas.

    host server01.zone-b.local
    

    Saída Esperada:

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

    A saída indica que zone-b.local não está associado a nenhuma das views da VCN.

Opção automatizada:

Defina o flag is_test_instance_associated_zone_a como true para instruir o Terraform a testar a associação VM-01 com zone-a.local.

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

O código do Terraform a seguir usa o provisionador remote-exec para automatizar o teste da associação de 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\"",    ]
  }
}

Tarefa 6: Configurar o Resolvedor de VCN e Adicionar a Outra View Privada

Opção manual:

Para configurar o resolvedor de VCN manualmente, navegue até a página de detalhes da VCN-01 na Console do OCI, selecione Resolvedor de VCN e View Privada.

Selecione VCN-02 no menu drop-down e clique em Salvar para salvar as alterações. Aguarde a alteração do status da página de detalhes do resolvedor privado de UPDATING para ACTIVE.

Opção automatizada:

Para automatizar a configuração do resolvedor de VCN, aproveitamos o provisionador local-exec do Terraform para executar módulos OCI CLI, playbooks Ansible ou Terraform.

Defina o flag is_task6_automated como true para instruir o Terraform.

is_task6_automated = true

O script bash fornecido update_resolver.sh destaca as etapas para atualizar o resolvedor privado da VCN-01 e associar a VCN-02 como uma view privada de DNS. Além disso, um exemplo de configuração de DNS híbrido do Terraform para OCI está disponível aqui: 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"
  }
}

Tarefa 7: Testar sua Instância para a Zona B Associada

Opção manual:

Verifique se o servidor é resolvido corretamente após configurar o resolvedor de VCN.

  1. SSH na instância com o endereço IP público.

    ssh -i <private_ssh_key> <public_ip_address>
    
  2. Procure registros de DNS para server01.zone-a.local.

    host server01.zone-b.local
    

    Saída Esperada:

    server01.zone-b.local has address 172.16.0.123
    

Observação: Se a resolução do DNS falhar, aguarde alguns minutos para que as alterações entrem em vigor. Se necessário, reinicialize a instância.

Opção automatizada:

Defina o flag is_test_instance_associated_zone_b como true para instruir o Terraform a testar a associação da VM-01 com a segunda zona (zone-b.local) na segunda VCN (VCN-02).

# Test Instance for Assoicated Zone B
is_test_instance_associated_zone_b = true

O código a seguir usa o provisionador remote-exec do Terraform para automatizar o teste, verificando a associação da instância da VM com 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\""    ]
  }
}

Opções de Implantação

Vamos explorar duas opções de implantação:

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).

Opção 1: Usar o Oracle Resource Manager (ORM)

A Figura 4 mostra a criação da pilha do ORM para a criação de recursos do Laboratório 2.

image Figura 4: Oracle Resource Manager - Criar Pilha Lab2 (VCN-01, VCN-02, LPG-01 e LPG-02, VM-01)

O Terraform automatiza o provisionamento de infraestrutura em sete etapas, conforme mostrado na Figura 5: análise de configurações de origem, criação do pacote de modelos do Terraform, fornecimento de valores de variáveis padrão, criação de pilhas ORM, planejamento de alterações, aplicação dessas alterações para provisionar recursos no OCI e, opcionalmente, destruição de recursos. A integração de ferramentas de CI/CD DevOps, como Jenkins ou OCI DevOps, pode automatizar todo o processo, fornecendo uma solução conveniente, próxima a um clique único.

image Figura 5: Workflow da Pilha do Oracle Resource Manager (criar, planejar, aplicar e destruir)

Opção 2: Usar Interface de Linha de Comando (CLI) do Terraform (Community Edition)

A CLI do Terraform é uma poderosa ferramenta de infraestrutura como código que permite o gerenciamento flexível e escalável de recursos de nuvem por meio de arquivos de configuração declarativos. Faça download do código do Terraform aqui: OCI-blog-fast-tracking-apcertif-part2.zip e personalize o arquivo input.auto.tfvars com os detalhes do OCI (compartment_id, image_ids) e siga as instruções em README.md para configurar o ambiente, execute os comandos terraform init, terraform plan e terraform apply para concluir o Laboratório 2.

Incluímos scripts bash para cada tarefa que pré-definem os sinalizadores necessários do Terraform, reduzindo os cliques e o tempo de conclusão. Esses scripts oferecem vários níveis de flexibilidade:

Basicamente, esse pacote fornece guias e melhores práticas para configurar o DNS privado, simplificando o Laboratório 2 e garantindo uma experiência de aprendizado tranquila com o OCI DNS.

##########################################################################
# 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

Este tutorial forneceu uma abordagem abrangente para configurar zonas, views e resolvedores de DNS privados no OCI (Oracle Cloud Infrastructure). Ele ofereceu métodos manuais e automatizados para criar, configurar e testar esses componentes. Essa abordagem prática e semi-automatizada garante uma compreensão sólida da resolução de DNS em diferentes VCNs na OCI.

Por meio de sete tarefas, você criou duas VCNs, LPGs estabelecidos, iniciou uma VM, configurou duas zonas de DNS personalizadas e verificou a associação de DNS da VM antes e depois de adicionar a segunda VCN como uma view privada associada ao Resolvedor de DNS da primeira VCN.

Próximas Etapas

Ao automatizar o provisionamento da infraestrutura do OCI usando ferramentas de Infraestrutura como Código IaC, como Terraform, Ansible, Oracle Resource Manager ORM e script bash shell do OCI CLI, este tutorial ajuda os candidatos à Certificação OCI Architect Professional (2024) a acelerar tarefas complexas, como as das configurações de DNS do Laboratório 2, de 30 minutos para apenas 5 minutos. Esse aumento na eficiência do tempo reduz erros humanos, reduz os custos de gerenciamento de recursos e aumenta as taxas de sucesso em escala.

Aprenda o Terraform e o Ansible e aproveite o ORM, a CLI do OCI e o script bash para explorar as melhores práticas do IaC para um gerenciamento eficaz da infraestrutura da OCI.

Confirmações

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.