컴퓨트 인스턴스에 대한 고가용성 계획

Oracle Cloud Infrastructure Compute는 베어메탈 및 VM(가상 머신) 인스턴스를 모두 제공하므로 단일 코어가 있는 소형 VM에서 많은 코어와 더 많은 RAM이 있는 대형 VM 또는 베어메탈 서버에 필요한 모든 크기의 서버를 배포할 수 있습니다. 이러한 옵션은 가장 까다로운 애플리케이션 및 워크로드를 클라우드에서 실행할 수 있는 성능, 유연성 및 제어를 보장합니다.

컴퓨트 인스턴스의 고가용성을 계획하려면 다음과 같은 주요 설계 전략을 고려해야 합니다.
  • 장애 도메인 및 가용성 도메인을 적절하게 활용하여 단일 장애 지점 제거
  • 모니터링, 인스턴스 풀 및 로드 밸런서를 사용합니다.
  • 설계를 통해 컴퓨팅 인스턴스의 데이터 가용성 및 무결성을 모두 보호할 수 있습니다.
이 문서에서는 이러한 전략에 대해 설명합니다.

결함 도메인에 인스턴스 분배

고가용성 솔루션 설계의 주요 원칙 중 하나는 단일 Failure 지점을 방지하는 것입니다. 주요 설계 원칙은 여러 장애 도메인에 인스턴스를 배포하는 것입니다.

단일 가용성 도메인 배포에서는 장애 도메인을 적절하게 활용하여 Oracle Cloud Infrastructure에서 실행되는 애플리케이션의 가용성을 높일 수 있습니다. 애플리케이션의 아키텍처에 따라 장애 도메인을 사용하여 인스턴스를 분리할지 아니면 그룹화할지 결정됩니다.
  • 시나리오 1: 고가용성 응용 프로그램 구조

    이 시나리오에서는 웹 서버 2개와 클러스터화된 데이터베이스 1개와 같은 고가용성 애플리케이션이 있습니다. 여기서 하나의 웹 서버와 하나의 데이터베이스 노드를 하나의 결함 도메인에 그룹화하고 각 쌍의 다른 절반을 다른 결함 도메인에 그룹화합니다. 이 아키텍처는 하나의 장애 도메인에서 장애가 발생해도 애플리케이션이 중단되지 않도록 합니다.

  • 시나리오 2: 단일 웹 서버 및 데이터베이스 Instance 구조

    이 시나리오에서는 응용 프로그램 구조의 가용성이 높지 않습니다. 예를 들어, 하나의 웹 서버와 하나의 데이터베이스 인스턴스가 있습니다. 여기서 웹 서버와 데이터베이스 인스턴스는 모두 동일한 결함 도메인에 있어야 합니다. 이 아키텍처는 애플리케이션이 단일 장애 도메인의 장애에 의해서만 영향을 받도록 보장합니다.

가용성 도메인 전체에서 인스턴스 분배

고가용성에 대한 또 다른 접근 방식은 여러 가용성 도메인에서 동일한 작업을 수행하는 컴퓨트 인스턴스를 배포하는 것입니다. 이 설계는 데이터 센터 전체에 중복성을 도입하여 단일 장애 지점을 제거합니다.

다중 가용성 도메인 배치에서는 가용성 도메인별로 인스턴스 그룹을 구분합니다. 이를 통해 정전, 물리적 인프라 장애 또는 계획된 유지 관리 이벤트와 같은 데이터 센터 수준의 장애로부터 애플리케이션을 보호할 수 있습니다.

인스턴스가 가용성 도메인 또는 장애 도메인에 분산되면 로드 밸런서를 사용하여 리소스 사용량을 개선하고, 확장을 지원하고, 고가용성을 보장하는 경우가 많습니다. 수신 요청을 다양한 백엔드 집합 또는 컴퓨트 인스턴스 그룹으로 라우팅하여 이들 간의 네트워크 트래픽 균형을 맞출 수 있도록 지원합니다.

다음 다이어그램은 로드 밸런서와 함께 중복성을 구현하기 위해 두 가용성 도메인에 배포된 웹 서버 VM을 보여줍니다.



참고:

이 아키텍처는 여러 AD(가용성 도메인)를 보여줍니다. 단일 AD가 있는 지역의 경우 아키텍처를 조정하여 AD 내 장애 도메인에 리소스를 분배합니다.
시스템 또는 응용 프로그램 요구 사항에 따라 이 아키텍처 중복성을 대기 모드 또는 활성 모드로 구현할 수 있습니다.
  • 대기 모드에서 기본 구성 요소가 실패하면 대기 구성 요소가 인계됩니다. 대기 모드는 일반적으로 상태를 유지 관리해야 하는 응용 프로그램에 사용됩니다.
  • 활성 모드에서는 기본 또는 대기로 지정된 구성 요소가 없습니다. 모든 구성 요소가 동일한 작업을 수행하는 데 적극적으로 참여하고 있습니다. 구성요소 중 하나가 실패하면 관련 태스크가 단순히 다른 구성요소로 분배됩니다. 활성 모드는 일반적으로 Stateless 애플리케이션에 사용됩니다.

데이터의 고가용성 및 무결성 보장

고가용성 아키텍처의 경우, 컴퓨팅 인스턴스의 데이터 가용성 및 무결성을 설계 시 항상 보호해야 합니다. 컴퓨트 인스턴스의 데이터 가용성을 보호하기 위해 데이터를 다른 위치로 복제하거나 백업할 수 있습니다.

  • 블록 볼륨 요약

    Oracle Cloud Infrastructure Block Volume 서비스를 사용하면 블록 스토리지 볼륨을 동적으로 프로비저닝하고 관리할 수 있습니다. 스토리지, 성능 및 애플리케이션 요구 사항을 충족하기 위해 볼륨을 생성, 첨부, 연결 및 이동하고 필요에 따라 볼륨 성능을 변경할 수 있습니다. 볼륨을 인스턴스에 연결하고 연결한 후 볼륨을 일반 하드 드라이브처럼 사용할 수 있습니다. 또한 데이터 손실 없이 볼륨 연결을 해제하여 다른 인스턴스에 연결할 수 있습니다.

  • 볼륨 지속성

    Oracle Cloud Infrastructure Block Volume 서비스는 표준 연결 드라이브에 비해 높은 수준의 데이터 내구성을 제공합니다. 모든 볼륨이 자동으로 복제되므로 데이터 손실을 방지할 수 있습니다. 내장된 복구 메커니즘이 있는 여러 대의 스토리지 서버에 데이터의 복사본 여러 개가 중복 저장됩니다. 서비스 레벨 목표를 위해 블록 볼륨 서비스는 블록 볼륨과 부트 볼륨에 대해 연간 99.99%의 지속성을 제공하도록 설계되었습니다. 하지만 가용성 도메인 장애에 대비하기 위해 정기적으로 백업을 수행하는 것이 좋습니다.

  • 볼륨 복제

    블록 볼륨 서비스는 동일한 영역 내 다른 영역 또는 가용성 도메인에 대해 블록 볼륨 및 부트 볼륨의 지속적인 자동 비동기 복제를 수행하는 기능을 제공합니다. 동일한 지역 내 교차 가용성 도메인 복제는 둘 이상의 가용성 도메인이 있는 지역에 대해서만 지원됩니다. 가용성 도메인을 두 개 이상 포함하는 영역을 확인하려면 About Regions and Availaibility Domains에 있는 영역이 나열된 표의 Availability Domains 필드를 참조하십시오. 이 기능은 볼륨 백업 없이도 재해 복구, 마이그레이션 및 비즈니스 확장 시나리오를 지원합니다. 자세한 내용은 이 플레이북의 다른 곳에서 자세히 탐색 주제에서 액세스할 수 있는 "볼륨 복제"를 참조하십시오.

블록 볼륨 백업 정보

Oracle Cloud Infrastructure Block Volume 서비스의 백업 기능을 사용하면 블록 볼륨에 있는 데이터의 특정 시점 스냅샷을 생성할 수 있습니다. 볼륨이 인스턴스에 연결되어 있거나 분리되어 있는 동안 볼륨을 백업할 수 있습니다. 그런 다음 이러한 백업은 백업 직후 또는 나중에 선택할 때 새 볼륨으로 복원할 수 있습니다.

백업은 암호화되어 OCI Object Storage에 저장되며, 동일한 리전 내의 모든 가용성 도메인에 새 볼륨으로 복원될 수 있습니다. 이 기능은 볼륨의 예비 복사본을 제공하며 동일한 영역 내에서 재해 복구를 성공적으로 완료할 수 있는 기능을 제공합니다.

백업을 수동으로 시작하거나 설정된 백업 일정을 정의하는 정책을 지정하는 두 가지 방법 중 하나로 백업을 시작할 수 있습니다. 블록 볼륨에 대한 자세한 내용은 블록 볼륨 백업 개요를 참조하십시오. 블록 볼륨 백업 개요는 이 플레이북의 다른 곳에서 자세히 탐색 토픽에 액세스할 수 있습니다. https://docs.oracle.com/en-us/iaas/Content/Block/Concepts/blockvolumebackups.htm

동기화 또는 비동기 복제 사용

컴퓨트 인스턴스가 실패할 경우 동기 또는 비동기 복제를 사용하여 데이터를 보호할 수 있습니다.

  • 영역의 가용성 도메인은 동기 복제를 지원하는 고성능 네트워크에 의해 상호 연결됩니다. 애플리케이션에 즉각적인 페일오버가 필요하고 데이터 손실을 견딜 수 없는 경우 동기식 복제를 사용합니다. 네트워크 성능 요구사항으로 인해 일반적으로 한 지역 내에서 동기 복제가 사용됩니다.
  • 영역 간 데이터 가용성을 보호해야 하는 애플리케이션의 경우 비동기 복제를 사용합니다.

기존 백업은 데이터를 보호하는 또 다른 방법입니다. 데이터 내구성을 최대화하려면 백업을 원래 컴퓨트 인스턴스와 동일한 가용성 도메인에 저장하지 마십시오. Oracle Cloud Infrastructure Object Storage를 사용하여 컴퓨트 인스턴스의 데이터를 백업해야 합니다. 로컬 NVMe 드라이브가 있는 컴퓨트 인스턴스의 경우 보호된 RAID 어레이가 NVMe 장치 오류로부터 보호하는 가장 좋은 방법입니다.

자세한 내용은 "NVMe 디바이스의 데이터 보호"를 참조하십시오. 이 가이드의 다른 곳에서 자세히 탐색 토픽에 액세스할 수 있습니다.