주:

프라이빗 DNS 영역, 뷰 및 분석기를 구성하여 Terraform을 통해 OCI Architect Professional 인증 가속화

소개

Oracle Cloud Infrastructure(OCI) Architect Professional 인증을 획득하려면 Oracle Cloud 및 실습 경험을 깊이 이해해야 합니다. 이 자습서 시리즈는 TerraformAnsible과 함께 코드형 인프라(IaC)를 활용하여 여정을 가속화합니다.

이미지

그림 1은 OCI Architect Professional Certification Lab 2: Oracle Cloud Infrastructure Architect Professional(Oracle University Lab - 6h 14m)용으로 배포할 아키텍처를 보여줍니다.

이미지 그림 1: 전용 DNS 도메인 이름을 만들 로컬 피어링 게이트웨이(LPG) 끝점

프라이빗 DNS의 주요 이점

프라이빗 DNS는 OCI 리소스 관리 및 보안에 여러 가지 이점을 제공합니다. 다음을 포함하지만 이에 국한되지는 않습니다.

OCI의 프라이빗 DNS를 활용하여 커스터마이징 도메인을 관리하고 네트워크 전반에서 리소스를 연결하는 방법에 대해 자세히 알아봅니다. 프라이빗 영역을 생성하고, 레코드를 정의하고, 내부용으로 분석기를 구성하여 OCI 내에서 리소스 액세스를 세부적으로 제어하는 방법을 배웁니다.

7가지 작업에서 반자동화된 접근 방식

사용지침서에서는 프라이빗 DNS 확인을 통해 OCI에서 확장 가능한 다중 VCN 환경을 자동화하는 방법을 안내합니다. OCI 콘솔, Terraform 및 Ansible을 사용하여 2개의 VCN을 생성하고, VCN 분석기를 설정하기 전후에 LPG(로컬 피어링 게이트웨이)를 설정하고, VM(가상 머신) 인스턴스를 실행하고, 사용자정의 프라이빗 DNS 영역을 구성하고, VCN 분석기를 설정하기 전후에 DNS 분석을 철저히 테스트할 수 있습니다. 결국 전체 네트워크에서 전용 DNS 기능을 갖춘 완전한 기능을 갖춘 다중 VCN 환경을 사용할 수 있게 됩니다.

목표

자습서 1: Lab 1: Accelerate Oracle Cloud Infrastructure Architect Professional Certification with Terraform을 통해 OCI Architect Professional Certification(2024) 준비를 가속화하는 시리즈의 두 번째 자습서입니다. Terraform 및 Ansible과 함께 IaC 원칙을 활용하여 시험과 관련된 핵심 DNS 개념을 중점적으로 다룹니다. 인증 실습 랩: Lab 2: Oracle Cloud Infrastructure Architect Professional(Oracle University Lab - 6h 14m)은 종합적이지만 실습 2는 수작업으로 완료하는 데 30분 이상 소요되는 시간이 소요됩니다. VCN, 퍼블릭 및 프라이빗 서브넷, LPG, VM 생성과 같은 일상적인 작업을 자동화하면 자습서 1: Accelerate Oracle Cloud Infrastructure Architect Professional Certification with Terraform에 설명된 대로 완료 시간이 80% 이상 단축되므로 핵심 OCI DNS 개념 마스터링에 집중할 수 있습니다.

필요 조건

작업 1: 두 개의 가상 클라우드 네트워크 생성

수동 옵션:

OCI 콘솔을 사용하여 VCN을 수동으로 생성할 수 있습니다. 이 수동 생성을 나타내려면 is_vcn1_createdis_vcn2_created 플래그를 false로 초기화해야 합니다.

VCN, 인터넷 게이트웨이, 라우팅 테이블, 보안 목록, 공용 및 전용 서브넷과 같은 핵심 네트워킹 리소스를 생성하려면 가상 네트워킹 빠른 시작을 참조하십시오.

이미지 그림 2: VCN-01/VCN-02 OCID 및 VCN-01 공용 서브넷 OCID를 수집하기 위한 콘솔 뷰

OCI 콘솔로 이동하여 네트워킹, 가상 클라우드 네트워크로 이동하고 VCN-01의 세부정보를 확인하고 해당 퍼블릭 서브넷의 OCID 및 OCID를 기록합니다. VCN-02에 대해서도 동일한 작업을 수행하고, OCID를 기록하고, 수집된 OCID를 Terraform 구성 파일(input.auto.tfvars 또는 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"

자동 옵션:

또한 VCN(VCN-01VCN-02)을 생성하기 위한 두 가지 자동화 옵션인 루트 모듈 접근 방식과 하위 모듈 접근 방식을 제공합니다. 첫 번째는 개발 및 테스트 또는 일회성 VCN 배포에 더 간단하고 적합합니다. 두 번째는 더 크고 복잡한 배포를 위해 더 나은 조직 및 확장성을 제공하고 코드 재사용성과 유지 관리 용이성을 촉진하여 운영 환경에 이상적입니다.

Terraform에 VCN을 생성하도록 지시하려면 먼저 input.auto.tfvars에서 is_vcn1_createdis_vcn2_created 플래그를 모두 true로 설정하거나 variables.tf에서 기본값으로 설정해야 합니다. 그런 다음 VCN CIDR 블록(vcn?_cidr_block), 공용 서브넷 CIDR 블록(public_subnet?_cidr_block), 전용 서브넷 CIDR 블록(private_subnet?_cidr_block) 및 호스트 이름 접두어(host_name?_prefix)를 지정합니다. 변수 이름은 물음표(?)를 위치 표시자로 사용하여 추상화됩니다. ?를 1 또는 2로 바꾸면 VCN-01VCN-02에 대해 각각 별도의 구성을 정의합니다.

또한 oci_regions(영역 식별자를 키에 매핑), network_deployment_option(TF-ROOT-MODULE 또는 TF-CHILD-MODULE) 및 dipslay_name_prefix(예: AP-Lab-02-1) 변수에 대한 값을 정의해야 합니다. 최종 VCN 표시 이름에는 포괄적인 이름(예: PHX-AP-LAB02-1-TF-ROOT-MODULE-VCN-01)을 생성하는 network_deployment_option 값이 포함됩니다.

작업 2: 두 개의 로컬 피어링 게이트웨이 생성

수동 옵션:

OCI에서 LPG를 수동으로 생성하려면 로컬 피어링 게이트웨이 생성을 참조하십시오. 이 경우 구성 파일(input.auto.tfvars 또는 variables.tf)에서 is_lpg1_createdis_lpg2_created 플래그를 false로 설정합니다.

자동 옵션:

Terraform을 사용하여 작업을 자동화하려면 이러한 플래그를 true으로 설정합니다. 그러면 Terraform이 LPG-01LPG-02를 만들도록 지시합니다.

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

다음 Terraform 코드 조각은 LPG-01LPG-02를 모두 생성하고 이들 간에 피어링 관계를 설정하여 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
}

작업 3: 가상 시스템 인스턴스 실행

수동 옵션:

OCI 콘솔을 통해 수동으로 VM 인스턴스를 실행하려면 인스턴스 생성을 참조하십시오.

자동 옵션:

자습서 1: Accelerate Oracle Cloud Infrastructure Architect Professional Certification with Terraform의 단순화된 Terraform 코드 버전을 사용하여 VM 프로비저닝을 자동화합니다. 가상 머신 VM-01을 생성하도록 Terraform에 지시하려면 is_instance_created 플래그를 true로 설정합니다. VM의 표시 이름에는 Terraform을 사용하여 VCN을 생성한 경우 network_deployment_option 설정(예: PHX-AP-LAB02-1-TF-ROOT-MODULE-VM-01 또는 PHX-AP-LAB02-1-TF-CHILD-MODULE-VM-01)이 포함됩니다.

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

다음 Terraform 코드는 VCN-01 퍼블릭 서브넷의 그림 1과 같이 VM-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"
  }
}

작업 4: VCN-01 및 VCN-02에 대한 사용자정의 프라이빗 영역 생성

OCI의 프라이빗 DNS 영역은 VCN 내에서만 액세스할 수 있는 내부 DNS 레코드를 저장합니다. DNS 개념을 이해하기 위해 먼저 두 개의 사용자정의 프라이빗 영역을 수동으로 생성하는 방법을 보여줍니다. 그림 3에서는 VCN-01(PHX-AP-LAB02-1-VCN-01)에서 개인 DNS 영역 zone-a.local를 만들고 여기에 record를 추가하는 방법을 보여줍니다.

이미지 그림 3: 전용 DNS 영역을 만들어 VCN-01과 연결한 다음 영역에 새 레코드 추가

수동 옵션:

  1. VCN-01(zone-a.local)에 대한 개인 DNS 영역을 만들고 구성합니다.

    1. OCI 콘솔로 이동하여 네트워킹, DNS 관리, 영역으로 이동하고 프라이빗 영역을 누릅니다.

    2. 영역 생성을 누르고 영역 이름(zone-a.local)을 입력한 다음 기존 DNS 프라이빗 뷰 선택, PHX-AP-LAB02-1-VCN-01을 연관된 VCN으로 선택하고 생성을 누릅니다.

    3. 영역이 생성된 후 자동으로 생성된 NSSOA 레코드를 확인합니다.

    4. 레코드 관리를 누르고 레코드 추가를 선택합니다.

    5. 다음 정보를 입력하고 레코드 추가를 누릅니다.

      • 이름: server01을 입력합니다.
      • 유형: A - IPv4 Address을 선택합니다.
      • TTL: 30 seconds를 입력합니다(필요한 경우 필드 잠금을 해제).
      • 주소: 10.0.0.2를 입력합니다.
    6. 변경 사항 게시변경 사항 게시 확인을 누릅니다.

      참고: 작업이 성공적으로 완료될 때까지 기다립니다(상태가 UPDATING에서 ACTIVE로 변경됨).

  2. VCN-02(zone-b.local)에 대한 개인 DNS 영역을 만들고 구성합니다. 그림 3과 동일한 단계에 따라 VCN-02(PHX-AP-LAB02-1-VCN-02)에 대한 개인 영역을 만듭니다.

    1. 영역, 개인 영역으로 이동하고 영역 생성을 누릅니다.

    2. 이름zone-b.local으로 입력하고 기존 DNS 프라이빗 뷰 선택을 선택하고 연관된 VCN으로 PHX-AP-LAB02-1-VCN-02을 선택한 다음 생성을 누릅니다.

    3. 레코드 관리를 누르고 레코드 추가를 선택합니다.

    4. 다음 정보를 입력하고 레코드 추가를 누릅니다.

      • 이름: server01을 입력합니다.
      • 유형: A - IPv4 Address을 선택합니다.
      • TTL: 60 seconds를 입력합니다(필요한 경우 필드 잠금을 해제).
      • 주소: 172.16.0.123를 입력합니다.
    5. 변경 사항 게시변경 사항 게시 확인을 누릅니다.

      참고: 수동 생성 단계를 건너뛰면 zone not found: 3 (NXDOMAIN)과 같은 오류가 발생합니다.

자동 옵션:

이 자습서에서는 Ansible을 사용하는 고급 자동 접근 방식도 제공합니다. Ansible은 인프라 구성을 관리하는 오픈 소스 자동화 도구입니다.Ansible is an open-source automation tool that manage configurations for your infrastructure. 이 맥락에서 Ansible 플레이북은 개인 DNS 영역 만들기를 자동화하는 작업 모음입니다. 자세한 내용은 Ansible Playbook Keywords를 참조하십시오.

is_task4_automatedinput.auto.tfvars 또는 variabes.tf에서 true로 설정하여 playbooks.sh에서 Ansible playbook 실행을 트리거하고, 단일 실행에서 프라이빗 DNS 영역 생성과 레코드 추가를 모두 자동화합니다.

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

Terraform의 local-exec 프로비저닝을 사용하여 Ansible 플레이북을 실행하여 VCN-01zone-a.localVCN-02zone-b.local 영역을 해당 records와 함께 자동으로 생성할 수 있습니다. 자세한 내용은 Source Code: 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"
  }
}

작업 5: 연관된 영역 A에 대한 인스턴스 테스트

수동 옵션:

VM 인스턴스에 수동으로 SSH를 사용하여 VM 인스턴스가 zone-a.local와 연관되어 있는지 확인합니다.

  1. 공용 IP 주소를 사용하여 인스턴스에 SSH로 접속합니다.

    ssh -i <private_ssh_key> <public_ip_address>
    
  2. server01.zone-a.local에 대한 DNS 레코드를 조회합니다.

    host server01.zone-a.local
    

    예상 출력:

    server01.zone-a.local has address 10.0.0.2
    
  3. 시스템에서 생성된 영역 항목을 확인합니다.

    host -t NS zone-a.local
    

    예상 출력:

    zone-a.local has NS record vcn-dns.oraclevcn.com.
    
  4. 영역에 대한 권한 레코드를 확인합니다.

    host -t SOA zone-a.local
    

    예상 출력:

    zone-a.local has SOA record ven-dns.oraclevcn.com.
    hostmaster.oracle.com. 2 3600 3600 3600 10
    
  5. 연관된 VCN 뷰를 기반으로 DNS 확인의 차이를 확인합니다.

    host server01.zone-b.local
    

    예상 출력:

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

    출력은 zone-b.local가 VCN의 뷰와 연관되지 않았음을 나타냅니다.

자동 옵션:

zone-a.localVM-01 연관을 테스트하도록 Terraform에 지시하려면 is_test_instance_associated_zone_a 플래그를 true로 설정합니다.

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

다음 Terraform 코드는 remote-exec 프로비저닝을 사용하여 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\"",    ]
  }
}

작업 6: VCN 분석기 구성 및 기타 프라이빗 뷰 추가

수동 옵션:

VCN 분석기를 수동으로 구성하려면 OCI 콘솔에서 VCN-01 세부정보 페이지로 이동하여 VCN 분석기전용 뷰를 선택합니다.

드롭다운 메뉴에서 VCN-02를 선택하고 저장을 눌러 변경사항을 저장합니다. 프라이빗 분석기 세부정보 페이지 상태가 UPDATING에서 ACTIVE로 변경될 때까지 기다립니다.

자동 옵션:

VCN 분석기 구성을 자동화하기 위해 Terraform의 local-exec 프로비저닝을 활용하여 OCI CLI, Ansible 플레이북 또는 Terraform 모듈을 실행합니다.

Terraform에 알리기 위해 is_task6_automated 플래그를 true로 설정합니다.

is_task6_automated = true

제공된 bash 스크립트 update_resolver.shVCN-01에 대한 개인 분석기를 업데이트하고 VCN-02를 DNS 개인 뷰로 연결하는 단계를 강조 표시합니다. 또한 OCI에 대한 하이브리드 Terraform DNS 구성 예는 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"
  }
}

작업 7: 연관된 영역 B에 대한 인스턴스 테스트

수동 옵션:

VCN 분석기를 구성한 후 서버가 제대로 해결되는지 확인합니다.

  1. 공용 IP 주소를 사용하여 인스턴스에 SSH로 접속합니다.

    ssh -i <private_ssh_key> <public_ip_address>
    
  2. server01.zone-a.local에 대한 DNS 레코드를 조회합니다.

    host server01.zone-b.local
    

    예상 출력:

    server01.zone-b.local has address 172.16.0.123
    

주: DNS 확인을 실패할 경우 변경사항이 적용되려면 몇 분 정도 기다리십시오. 필요한 경우 인스턴스를 재부팅합니다.

자동 옵션:

두번째 VCN(VCN-02)에서 VM-01과 두번째 영역(zone-b.local)의 연관을 테스트하도록 Terraform에 지시하려면 is_test_instance_associated_zone_b 플래그를 true로 설정합니다.

# Test Instance for Assoicated Zone B
is_test_instance_associated_zone_b = true

다음 코드는 Terraform의 remote-exec 프로비저닝을 사용하여 테스트를 자동화하고 VM 인스턴스가 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\""    ]
  }
}

배치 옵션

다음 두 가지 배치 옵션을 살펴봅니다.

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

옵션 1: ORM(Oracle Resource Manager) 사용

그림 4는 Lab 2 리소스 생성을 위한 ORM 스택 생성을 보여줍니다.

이미지 그림 4: Oracle Resource Manager - Lab2 스택 생성(VCN-01, VCN-02, LPG-01 및 LPG-02, VM-01)

Terraform은 그림 5와 같이 7단계로 인프라 프로비저닝을 자동화합니다. 소스 구성 분석, Terraform 템플릿 패키지 구축, 기본 변수 값 제공, ORM 스택 생성, 변경 계획, OCI의 리소스 프로비저닝에 이러한 변경 사항 적용, 리소스 삭제 등이 여기에 해당됩니다. Jenkins 또는 OCI DevOps와 같은 DevOps CI/CD 도구를 통합하면 전체 프로세스가 자동화되어 한 번의 클릭 솔루션 근처에서 편리하게 사용할 수 있습니다.

이미지 그림 5: Oracle Resource Manager 스택 워크플로우(생성, 계획, 적용 및 삭제)

옵션 2: Terraform CLI(명령행 인터페이스) 사용(Community Edition)

Terraform CLI는 선언적 구성 파일을 통해 클라우드 리소스를 유연하고 확장 가능한 방식으로 관리할 수 있도록 지원하는 강력한 코드형 인프라 툴입니다. OCI-blog-fast-tracking-apcertif-part2.zip의 Terraform 코드를 다운로드하고 OCI 세부정보(compartment_id, image_ids)로 input.auto.tfvars 파일을 사용자정의하고, README.md의 지침에 따라 환경을 설정하고, terraform init, terraform planterraform apply 명령을 실행하여 Lab 2를 완료합니다.

필요한 Terraform 플래그를 미리 설정하여 클릭 및 완료 시간을 줄이는 각 태스크에 대한 bash 스크립트를 포함했습니다. 이 스크립트는 다음과 같은 여러 레벨의 유연성을 제공합니다.

본질적으로 이 패키지는 프라이빗 DNS를 구성하고, Lab 2를 간소화하고, 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

이 사용지침서에서는 OCI(Oracle Cloud Infrastructure)에서 프라이빗 DNS 영역, 뷰 및 분석기를 구성하는 포괄적인 접근 방식을 제공했습니다. 이러한 구성 요소를 생성, 구성 및 테스트하는 수동 및 자동화된 방법을 모두 제공했습니다. 이 실습, 반자동화된 접근 방식을 통해 OCI의 여러 VCN에서 DNS 분석을 확실하게 이해할 수 있습니다.

7개의 작업을 통해 첫 번째 VCN의 DNS 분석기에 연결된 프라이빗 뷰로 두 번째 VCN을 추가하기 전후에 두 개의 VCN을 생성하고, LPG를 설정하고, VM을 실행하고, 두 개의 커스터마이징 DNS 영역을 구성하고, VM DNS 연결을 확인했습니다.

다음 단계

이 자습서에서는 Infrastructure as Code IaC(예: Terraform, Ansible, Oracle Resource Manager ORM, OCI CLI bash 셸 스크립팅)를 사용하여 OCI 인프라 프로비저닝을 자동화함으로써 OCI Architect Professional Certification(2024) 후보자가 30분에서 단 5분으로 Lab 2 DNS 구성의 후보자와 같은 복잡한 작업을 가속화할 수 있도록 지원합니다. 이 시간 효율성을 높여 인적 오류를 줄이고 리소스 관리 비용을 낮추며 대규모 성공률을 높입니다.

Terraform 및 Ansible에 대해 알아보고 ORM, OCI CLI 및 Bash 스크립팅을 활용하여 효과적인 OCI 인프라 관리를 위한 최고의 IaC 관행을 살펴보세요.

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.