OCI 기능을 사용하여 DNS 전용 영역 항목 자동화

어떤 상황에서 고객은 VCN에 대한 DNS 설정을 사용자정의하고 oraclevcn.com 대신 VCN 연결 호스트에 대해 다른 도메인을 사용하려고 합니다. 사용자는 Oracle Cloud Infrastructure(OCI) DNS 서비스 내의 DNS 전용 영역 기능을 사용하여 내장 VCN DNS 분석기의 기능을 확장할 수 있으므로 VCN 내의 리소스에 대해 커스터마이징 도메인 이름을 사용할 수 있습니다. 이 아키텍처는 OCI 이벤트 및 함수를 사용하여 DNS 영역 항목 관리를 자동화함으로써 블로그 게시물 사용 사례 - OCI VCN 커스터마이징 DNS(이 참조 아키텍처의 다른 곳에서 자세히 탐색 섹션에서 액세스 가능)에 설명된 솔루션을 확장합니다.

구조

이 아키텍처에서는 OCI 함수 및 이벤트를 사용하여 DNS 항목으로 전용 영역을 자동으로 채우고 수동 업데이트 및 잠재적 오류의 필요성을 줄이는 방법에 대해 설명합니다. 그런 다음 이벤트를 사용하여 구획 레벨에서 새 인스턴스 생성 요청을 캡처한 다음 Add DNS record 함수를 트리거하여 인스턴스 메타데이터를 수집하고, 전용 DNS 영역에 DNS 레코드를 추가하고, 마지막으로 인스턴스 자유 형식 태그를 업데이트하여 레코드 삽입을 확인할 수 있습니다. 인스턴스가 종료되면 이벤트가 Remove DNS record 함수를 트리거하여 연관된 DNS 레코드를 삭제합니다.

다음 다이어그램은 이 참조 아키텍처를 보여줍니다.


다음은 dns_private_zones.png에 대한 설명입니다.
dns_private_zones.png 그림에 대한 설명

dns-private-zones-oracle.zip

이 구조에는 다음 구성요소가 있습니다.
  • 지역

    Oracle Cloud Infrastructure 지역은 가용성 도메인이라고 하는 데이터 센터가 하나 이상 포함된 현지화된 지리적 영역입니다. 지역은 다른 지역과 독립적이며 거리가 멀면 국가 또는 대륙을 가로질러 분리할 수 있습니다.

  • 구획

    구획은 Oracle Cloud Infrastructure 테넌시 내의 지역 간 논리적 분할 영역입니다. 구획을 사용하여 Oracle Cloud에서 리소스를 구성하고, 리소스에 대한 액세스를 제어하고, 사용 할당량을 설정합니다. 지정된 구획의 리소스에 대한 액세스를 제어하기 위해 리소스에 액세스할 수 있는 사용자와 수행할 수 있는 작업을 지정하는 정책을 정의합니다.

  • 가용성 도메인

    가용성 도메인은 한 지역 내에 있는 독립형 독립형 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 내결함성을 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원, 냉각 또는 내부 가용성 도메인 네트워크와 같은 인프라를 공유하지 않습니다. 따라서 특정 가용성 도메인에서 장애가 발생하면 해당 지역의 다른 가용성 도메인에 영향을 주지 않습니다.

  • VCN(가상 클라우드 네트워크) 및 서브넷

    VCN은 Oracle Cloud Infrastructure 지역에서 설정한 커스터마이징 가능한 소프트웨어 정의 네트워크입니다. 기존 데이터 센터 네트워크와 마찬가지로 VCN은 네트워크 환경을 완벽하게 제어할 수 있습니다. VCN에는 VCN 생성 후 변경할 수 있는 겹치지 않는 여러 CIDR 블록이 있을 수 있습니다. VCN을 서브넷으로 세그먼트할 수 있으며, 지역 또는 가용성 도메인으로 범위를 지정할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속된 주소 범위로 구성됩니다. 생성 후 서브넷의 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다. 보안 목록 각 서브넷에 대해 서브넷에 들어오고 나가야 하는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.

  • NAT 게이트웨이

    NAT 게이트웨이를 사용하면 VCN의 전용 리소스가 수신 인터넷 연결에 이러한 리소스를 노출시키지 않고도 인터넷의 호스트에 액세스할 수 있습니다.

  • 서비스 게이트웨이

    서비스 게이트웨이는 VCN에서 Oracle Cloud Infrastructure Object Storage와 같은 다른 서비스로의 접근을 제공합니다. VCN에서 Oracle 서비스로의 트래픽은 Oracle 네트워크 패브릭을 통해 이동하며 인터넷을 순회하지 않습니다.

  • 전용 DNS 영역

    전용 DNS를 사용하면 고유의 전용 DNS 도메인 이름을 사용하고 연관된 영역 및 레코드를 완전히 관리하여 온프레미스 또는 기타 전용 네트워크뿐 아니라 가상 클라우드 네트워크(VCN) 내/간에 실행되는 애플리케이션에 대해 호스트 이름 분석을 제공할 수 있습니다.

  • Oracle Cloud Infrastructure Events

    OCI 이벤트를 사용하면 테넌시 전체에서 리소스의 상태 변경을 기반으로 자동화를 생성할 수 있습니다. 내보낸 이벤트는 규칙을 사용하여 필터링한 다음 다른 OCI 서비스(통지, 스트리밍, 함수)에서 작업의 일부로 처리할 수 있습니다.

  • Oracle Functions

    Oracle Functions를 통해 개발자는 완전 관리형 멀티 테넌트, 고도로 확장 가능한 온디맨드 Functions-as-a-Service 플랫폼을 활용하여 기본 인프라를 관리할 필요 없이 클라우드에서 코드를 작성하고 실행할 수 있습니다. 이 구조에서 함수는 Add DNS recordRemove DNS record입니다.

  • VCN DNS 분석기

    VCN DNS 분석기를 사용하면 VCN 연결 인스턴스가 동일한 VCN에 있는 다른 인스턴스의 호스트 이름(할당할 수 있음)을 확인할 수 있습니다. 전용 영역을 VCN 전용 뷰에 연결하여 VCN DNS 분석기의 기본 기능을 확장할 수 있습니다.

권장 사항

OCI 함수로 DNS 전용 영역 항목을 자동화할 때 다음 권장 사항을 시작점으로 사용하십시오. 요구 사항은 여기에 설명된 구조와 다를 수 있습니다.
  • VCN

    VCN을 생성할 때 VCN의 서브넷에 연결할 리소스 수에 따라 필요한 CIDR 블록 수 및 각 블록의 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.

    전용 접속을 설정하려는 다른 네트워크(Oracle Cloud Infrastructure, 온프레미스 데이터 센터 또는 다른 클라우드 제공자)와 겹치지 않는 CIDR 블록을 선택합니다.

    VCN을 생성한 후에는 해당 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.

    서브넷을 설계할 때 트래픽 플로우와 보안 요구사항을 고려합니다. 특정 계층 또는 역할 내의 모든 리소스를 보안 경계 역할을 할 수 있는 동일한 서브넷에 연결합니다.

    지역 서브넷을 사용합니다.

  • 보안

    Oracle Cloud Guard를 사용하여 Oracle Cloud Infrastructure상에서 리소스의 보안을 사전에 모니터링하고 유지보수합니다. Cloud Guard는 리소스에서 보안 약점을 검사하고 운영자 및 사용자가 위험한 작업을 모니터하도록 정의할 수 있는 감지기 레시피를 사용합니다. 잘못된 구성 또는 비보안 작업이 감지되면 Cloud Guard는 수정 조치를 권장합니다. 정의할 수 있는 응답기 레시피를 기반으로 이러한 작업을 수행할 수 있습니다.

    최대 보안이 필요한 리소스의 경우 Oracle은 보안 영역을 사용할 것을 권장합니다. 보안 영역은 모범 사례를 기반으로 하는 Oracle 정의 보안 정책 레시피와 연관된 구획입니다. 예를 들어, 보안 영역의 리소스는 공용 인터넷에서 액세스할 수 없으며 고객 관리 키를 사용하여 암호화해야 합니다. 보안 영역에서 리소스를 만들고 업데이트할 때 Oracle Cloud Infrastructure는 보안 영역 레시피의 정책에 대해 작업을 검증하고 모든 정책을 위반하는 작업을 거부합니다.

  • Cloud Guard

    Oracle에서 제공하는 기본 레시피를 복제 및 사용자정의하여 사용자정의 감지기 및 응답기 레시피를 생성합니다. 이러한 레시피를 사용하면 경고를 생성하는 보안 위반 유형과 해당 위반에 대해 수행할 수 있는 작업을 지정할 수 있습니다. 예를 들어 가시성이 [공개]로 설정된 오브젝트 스토리지 버킷을 감지할 수 있습니다.

    테넌시 수준에서 Cloud Guard를 적용하여 가장 광범위한 범위를 관리하고 여러 구성을 유지 관리하는 데 드는 관리 부담을 줄일 수 있습니다.

    Managed List 기능을 사용하여 특정 구성을 감지기에 적용할 수도 있습니다.

  • 보안 영역

    보안 영역은 OCI 구획에 보안 상태를 적용하고 고객의 보안 상태를 약화할 수 있는 작업을 방지합니다. 다양한 클라우드 인프라 유형(네트워크, 컴퓨트, 스토리지, 데이터베이스 등)에 보안 영역 정책을 적용하여 클라우드 리소스가 안전하게 유지되도록 하고 보안의 잘못된 구성을 방지할 수 있습니다.

  • NSG(Network Security Group)

    NSG를 사용하여 특정 VNIC에 적용되는 수신 및 송신 규칙 집합을 정의할 수 있습니다. NSG를 사용하면 VCN 서브넷 아키텍처를 애플리케이션의 보안 요구사항과 분리할 수 있으므로 보안 목록이 아닌 NSG를 사용하는 것이 좋습니다. NSG를 사용하여 특정 VNIC에 적용되는 수신 및 송신 규칙 집합을 정의할 수 있습니다. NSG를 사용하면 VCN 서브넷 아키텍처를 애플리케이션의 보안 요구사항과 분리할 수 있으므로 보안 목록이 아닌 NSG를 사용하는 것이 좋습니다.

  • 로드 밸런서 대역폭

    로드 밸런서를 생성하는 동안 고정 대역폭을 제공하는 사전 정의된 구성을 선택하거나, 대역폭 범위를 설정하고 트래픽 패턴을 기반으로 대역폭을 자동으로 확장할 수 있는 커스터마이징(유연한) 구성을 지정할 수 있습니다. 두 가지 접근 방식을 모두 사용할 경우 로드 밸런서를 생성한 후 언제든지 구성을 변경할 수 있습니다.

고려 사항

인프라를 프로비전할 때는 다음을 고려하십시오.

  • 배치

    구조를 배치하는 사용자에게 관리 권한이 있어야 합니다.

  • DNS 영역

    구성된 DNS 영역은 선택한 서브넷과 동일한 구획에 있어야 합니다.

배치

이 참조 아키텍처에 대한 Terraform 코드는 Oracle Cloud Infrastructure Resource Manager에서 샘플 스택으로 사용할 수 있습니다. GitHub에서 코드를 다운로드하여 특정 요구 사항에 맞게 사용자 정의할 수도 있습니다.

  • Oracle Cloud Infrastructure Resource Manager의 샘플 스택을 사용하여 배포합니다.
    1. Oracle Cloud에 배치을 누릅니다.

      아직 사인인하지 않은 경우 테넌시 및 사용자 인증서를 입력합니다.

    2. 스택을 배치할 영역을 선택합니다.
    3. 화면 프롬프트 및 지침에 따라 스택을 만듭니다.
    4. 스택을 생성한 후 Terraform 작업을 누르고 계획을 선택합니다.
    5. 작업이 완료될 때까지 기다렸다가 계획을 검토합니다.

      변경하려면 Stack Details 페이지로 돌아가서 Edit Stack을 누르고 필요에 따라 변경합니다. 그런 다음 계획 작업을 다시 실행합니다.

    6. 추가로 변경할 필요가 없으면 Stack Details 페이지로 돌아가서 Terraform Actions를 누르고 Apply를 선택합니다.
  • GitHub의 Terraform 코드를 사용하여 배포:
    1. GitHub으로 이동합니다.
    2. 저장소를 복제하거나 로컬 컴퓨터에 다운로드합니다.
    3. README 문서의 지침을 따릅니다.

추가 탐색

OCI의 DNS 전용 영역에 대한 자세한 내용은 다음 리소스를 참조하십시오.

다음 추가 리소스를 검토하십시오.

수락

작성자: Andrei Ilas