구획을 사용하여 다계층 및 영역 간 개발 환경 격리

구획을 활용하여 Oracle Cloud Infrastructure에서 엔터프라이즈 솔루션을 생성하는 데 사용할 수 있는 안전한 다계층/지역 간 개발 및 테스트 환경을 위한 템플릿을 생성합니다.

미션 크리티컬 프로젝트를 구현하기 위해 조직은 일반적으로 프로젝트를 프로덕션 환경으로 릴리스하기 전에 개발 및 테스트용으로 별도의 환경을 유지 관리합니다. 환경에서는 Oracle Cloud PaaS 및 Oracle Cloud Infrastructure 서비스를 단일 엔티티로 정의하고 관리할 수 있습니다. 효율적으로 관리할 수 있도록 환경 전반에 적합한 리소스, 구조 및 설계를 갖추는 것이 중요합니다.

구획은 보안 격리 및 접근 제어를 위한 Oracle Cloud Infrastructure(OCI)의 강력한 기능입니다. 정책 적용을 통해 리소스 관리 및 위임된 관리를 위해 조직에서 정의한 매개변수에 따라 올바른 액세스 레벨을 제공합니다.

구조

이 참조 아키텍처는 구획을 사용하여 Oracle Cloud Infrastructure에서 다양한 환경을 설계 및 구성하는 방법과 소프트웨어 개발 및 릴리스 라이프사이클을 지원하기 위해 리소스를 프로비저닝하는 방법을 보여줍니다. 아키텍처는 다중 계층 웹 애플리케이션을 참조 지점으로 사용하는 동시에 기업 내의 여러 조직에 리소스를 할당하여 구현을 보여줍니다.

다음 다이어그램에는 이 아키텍처가 설명되어 있습니다.



oci-dev-env-architecture-oracle.zip

이 아키텍처에는 다음 구성요소가 있습니다.

  • 테넌시

    테넌시는 Oracle Cloud Infrastructure에 등록할 때 Oracle이 Oracle Cloud 내에서 설정하는 격리된 보안 파티션입니다. 테넌시 내 Oracle Cloud에서 리소스를 생성, 구성 및 관리할 수 있습니다. 테넌시는 회사 또는 조직과 동의어입니다. 일반적으로 회사는 단일 테넌시를 갖고 해당 테넌시 내의 조직 구조를 반영합니다. 일반적으로 단일 테넌시는 단일 구독에 연결되며, 단일 구독에는 일반적으로 하나의 테넌시만 있습니다.

  • 지역

    Oracle Cloud Infrastructure 리전은 가용성 도메인이라는 하나 이상의 데이터 센터를 포함하는 지역화된 지리적 영역입니다. 지역은 다른 지역과 독립적이며 방대한 거리로 구분할 수 있습니다(국가 또는 대륙).

  • 구획

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

  • 정책

    Oracle Cloud Infrastructure Identity and Access Management 정책은 어떤 리소스에 액세스할 수 있는지, 어떤 방식으로 액세스할 수 있는지 지정합니다. 액세스는 그룹 및 구획 레벨에서 부여됩니다. 즉, 특정 구획 내에서 또는 테넌시 내에서 그룹에 특정 유형의 액세스 권한을 부여하는 정책을 작성할 수 있습니다.

  • 로드 밸런서

    Oracle Cloud Infrastructure Load Balancing 서비스는 단일 시작점에서 백엔드의 다중 서버로 트래픽을 자동으로 배포합니다.

  • 계산

    Oracle Cloud Infrastructure Compute 서비스를 사용하면 클라우드에서 컴퓨트 호스트를 프로비전하고 관리할 수 있습니다. CPU, 메모리, 네트워크 대역폭 및 스토리지에 대한 리소스 요구사항을 충족하는 구성으로 컴퓨트 인스턴스를 실행할 수 있습니다. 컴퓨트 인스턴스를 생성하면 해당 인스턴스에 안전하게 액세스하고, 재시작하고, 볼륨을 연결 및 분리하고, 더 이상 필요하지 않을 때 종료할 수 있습니다.

  • Autonomous Transaction Processing

    Oracle Autonomous Transaction Processing은 트랜잭션 처리 워크로드에 최적화된 자동 구동, 자가 보안 및 자가 복구 데이터베이스 서비스입니다. 하드웨어를 구성 또는 관리하거나 소프트웨어를 설치하지 않아도 됩니다. Oracle Cloud Infrastructure는 데이터베이스 생성과 데이터베이스 백업, 패치, 업그레이드 및 튜닝을 처리합니다.

권장사항

다음 권장 사항을 시작점으로 사용하십시오. 요구 사항은 다를 수 있습니다.

  • VCN

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

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

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

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

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

  • 구획

    기본적으로 모든 Oracle Cloud 테넌시에는 테넌시 자체의 이름이 지정된 기본 루트 구획이 있습니다. 테넌시 관리자(기본 루트 구획 관리자)는 기본 관리자 그룹의 멤버인 사용자입니다.

    이 아키텍처의 경우 루트 구획의 서로 다른 두 조직에 대해 두 개의 최상위 구획인 HR 및 영업을 생성합니다. 두 그룹은 HR-Admins 및 Sales-Admins라는 구획을 관리합니다. HR 최상위 구획에서 HR-Prod, HR-Dev, HR-Staging 및 HR-Test 하위 구획을 생성합니다. 이러한 구획은 각각 HR-Prod-Admins, HR-Dev-Admins, HR-Staging-Admins 및 HR-Test-Admins 그룹으로 관리됩니다. Sales 최상위 구획에서 Sales-Prod, Sales-Dev, Sales-Staging 및 Sales-Test 하위 구획을 생성합니다. 이러한 구획은 각각 Sales-Prod-Admins, Sales-Dev-Admins, Sales-Staging-Admins 및 Sales-Test-Admins 그룹으로 관리됩니다.

  • 정책

    구획 액세스 제어는 정책에 의해 제어됩니다. 정책은 테넌시 또는 구획 내에서 선택한 리소스(또는 리소스 모음)에 대한 작업에 주체(항상 사용자 그룹)를 연관시키는 명령문으로 구성됩니다. 액세스 제어를 더 세분화하는 조건을 추가하여 정책 명령문을 더 한정할 수 있습니다.

    이 구현에서는 최상위 구획 및 하위 구획에 대한 정책 및 구획을 통해 Oracle Cloud Infrastructure Compute 리소스 관리를 위임합니다. 목표는 각 구획이 독립적으로 작동하고 서로 완전히 격리되도록 하는 것입니다.

고려사항

이 참조 구조를 배치할 때는 다음 사항을 고려하십시오.

  • 확장성

    Oracle Cloud Infrastructure는 최대 6개 레벨의 구획 계층을 지원합니다. 구획 관리자는 중첩된 구획에 대해 전체 권한을 갖습니다. 이 구현에서는 세 가지 레벨을 사용합니다.

    Oracle Cloud Infrastructure Compute, Load Balancing Service 및 Autonomous Transaction Processing과 같은 Oracle Cloud Infrastructure 리소스는 지역 및 환경 전반의 각 구획에 프로비저닝됩니다. 이 예에서는 소프트웨어 개발 및 릴리스의 수명 주기에 대한 참조점으로 단순 웹 애플리케이션에 대한 리소스가 할당됩니다.

    Oracle Cloud Infrastructure Compute는 자동 스케일링 기능을 제공하므로 수요가 많은 기간 동안 최종 사용자에게 일관된 성능을 제공하고 수요가 적은 기간 동안 비용을 절감할 수 있습니다. Oracle Autonomous Transaction Processing에 자동 스케일링 기능을 사용할 수도 있습니다. 자동 크기 조정이 사용으로 설정된 경우 데이터베이스에서 수동 개입 없이 필요에 따라 더 많은 CPU 및 IO 리소스를 자동으로 사용합니다. 로드 밸런서는 구성의 대역폭을 동적으로 변경하는 기능을 지원합니다.

  • 가용성

    일반적으로 가까운 리소스를 사용하는 것이 원격 리소스를 사용하는 것보다 빠르기 때문에 가장 많이 사용되는 영역에 응용 프로그램을 배치합니다. 동일한 지역 내의 가용성 도메인은 짧은 대기 시간의 높은 대역폭 네트워크를 사용하여 서로 연결합니다. 이 네트워크는 인터넷 및 온프레미스 장비에 대한 고가용성 연결을 제공하므로 고가용성 및 재해 복구를 위해 여러 가용성 도메인에 복제된 시스템을 구축할 수 있습니다.

    Oracle Autonomous Transaction Processing은 프로덕션 데이터베이스의 실시간 원격 복사본을 유지 관리하고 Oracle Data Guard를 사용하여 기본 데이터베이스에서 원격 복사본으로 자동 전환함으로써 사이트 다운타임을 제거합니다.

  • 관리 효율성
    구획은 리소스 관리를 분리하므로 구획 간에 리소스를 공유할 수 있습니다. 예를 들어 HR-Dev에서 Sales-Dev로 컴퓨팅 인스턴스를 공유하려면 다음 두 가지 옵션이 있습니다.
    • HR-Dev-Admins 그룹의 커스터마이징 이미지를 생성하고 Oracle Cloud Infrastructure Object Storage로 이미지를 내보낸 다음 Sales-Dev-Admins 그룹에서 사용할 수 있도록 합니다.
    • HR-Dev의 인스턴스 부트 볼륨을 Sales-Dev 구획으로 내보낼 수도 있습니다.

    관리자는 여러 조직 영역에서 사용 가능한 CIDR 범위를 분할하는 방법을 미리 계획합니다. VCN에 겹치는 CIDR 범위가 없는지 확인하십시오. 이 계획은 여러 구획의 두 VCN 간 부주의한 피어링을 방지합니다.

    마지막으로 Terraform을 사용하여 인프라 및 리소스 할당을 자동화하여 아키텍처를 관리합니다.

  • 보안

    여러 구획의 리소스가 통신할 수 있도록 가상 방화벽 역할을 하는 보안 목록을 구성합니다. 예를 들어, HR 구획의 데이터베이스 인스턴스는 해당 보안 목록이 제대로 구성된 경우 Sales 구획의 데이터베이스 인스턴스에 연결할 수 있습니다.

    데이터베이스를 전용 서브넷에 연결하여 Oracle Autonomous Transaction Processing 데이터베이스에 대한 전용 끝점을 노출합니다.

    서브넷을 설계할 때는 트래픽 흐름 및 보안 요구 사항을 고려하십시오. 특정 계층 또는 역할 내의 모든 리소스를 보안 경계로 사용할 수 있는 동일한 서브넷에 연결합니다. 필요한 액세스 유형에 따라 트래픽을 관리할 경로 테이블 및 게이트웨이(가상 라우터)를 VCN에 추가합니다. 예를 들어 공용 인터넷, 전용 인터넷, 온프레미스 네트워크, 다른 Oracle 서비스 또는 테넌시의 다른 VCN 네트워크를 통해 연결해야 할 수 있습니다.

    Oracle Cloud Infrastructure Compute WAF(웹 애플리케이션 방화벽)를 사용하여 공용 인터넷으로부터의 악성 트래픽으로부터 애플리케이션을 보호해 보십시오. 이 아키텍처는 특정 구획 내 어떤 Oracle Cloud Infrastructure Compute 리소스에 접근할 수 있는 사용자를 제한하는 정책을 사용합니다.

배치

엔터프라이즈 솔루션 개발을 위한 다계층 구획 환경 생성을 위한 Terraform 코드는 GitHub에서 확인할 수 있습니다.

  1. GitHub으로 이동합니다.
  2. 저장소를 로컬 컴퓨터로 복제하거나 다운로드합니다.
  3. README 문서의 지침을 따릅니다.

로그 변경

이 로그에는 중요한 변경 사항이 나열됩니다.