Code Engine에 대한 고가용성 및 재해 복구 이해
고가용성서비스 또는 작업 부하가 장애를 견디고 사전 정의된 서비스 수준에 따라 처리 기능을 계속 제공할 수 있는 능력. 서비스의 경우, 가용성은 서비스 수준 협약에 정의되어 있습니다. 가용성에는 유지보수, 고장, 재해 등 계획된 이벤트와 계획되지 않은 이벤트가 모두 포함됩니다. (HA)은 예기치 않은 장애에도 불구하고 서비스가 계속 작동하고 액세스할 수 있는 기능입니다. 재해 복구는서비스 중단과 같은 드물지만 심각한 사고와 광범위한 장애로부터 복구할 수 있는 서비스 또는 작업량 능력. 여기에는 전체 지역에 영향을 미치는 물리적 재해, 데이터베이스 손상, 또는 작업 부하에 기여하는 서비스의 손실이 포함됩니다. 이 영향은 고가용성 설계가 처리할 수 있는 능력을 초과합니다. 중대한 장애가 발생한 후 서비스 운영을 복원하는 프로세스입니다.
Code Engine 는 지역 정전 시 가용성을 유지하도록 설계된 고가용성 지역 서비스입니다. Code Engine 는 표준 요금제로 서비스 수준 목표(SLO) 를 충족합니다.
고가용성 및 재해 복구 표준에 대한 자세한 내용은 IBM Cloud 에서 IBM Cloud 이 고가용성 및 이중화를 보장하는 방법을 참조하세요. SLA(Service Level Agreement)에 대한 정보도 찾을 수 있습니다.
Code Engine 인스턴스의 가용성
IBM Cloud® Code Engine 는 여러 위치(지역)에서 제공됩니다. 각 리전에는 이중화를 위해 3개의 데이터 센터(존)가 있습니다.
Code Engine 프로젝트를 프로비저닝할 때 인스턴스가 작성되는 위치(MZR)를 선택합니다. 지역에 따라 앱, 작업, 기능, 차량 등의 워크로드가 호스팅되는 위치가 결정됩니다.
기본적으로 워크로드는 단일 영역 내에 배포됩니다. 호스팅 영역에 장애가 발생하면 나머지 영역 중 하나에 워크로드가 자동으로 다시 생성됩니다.
이 서비스는 서비스 유지 관리 및 소프트웨어 업그레이드와 같은 정상적인 작업 중에 영역 간에 제어된 워크로드 이동을 수행합니다. 이러한 롤아웃 재시작은 중단을 최소화하기 위해 점진적으로 수행됩니다. 운영 환경에서 예기치 않은 이벤트가 발생하는 동안 계획되지 않은 장애 조치가 발생할 수 있습니다.
Code Engine 메타데이터(프로젝트, 앱, 기능, 작업, 플릿, 이미지 빌드 정의 포함)를 저장하고 지역 내 모든 영역에 복제하여 가용성을 확보합니다. Code Engine 는 컴퓨팅 전용 서비스로서 워크로드 데이터 또는 컨테이너 이미지의 고가용성을 보장할 책임이 없습니다. 고가용성 보장에 대한 지침은 각 클라우드 서비스의 설명서를 참조하세요. 컨테이너 이미지 가용성에 대해서는 IBM Cloud Container Registry 의 지침을 따라 지역 중단 중에도 워크로드를 계속 운영할 수 있도록 하세요. IBM Cloud Object Storage 또는 기타 IBM Cloud 데이터베이스 또는 스토리지 서비스에서 데이터를 읽거나 저장하는 경우 고가용성 기능에 대해서는 각 서비스의 설명서를 참조하세요.
Code Engine 지역
다음 표에는 Code Engine 를 사용할 수 있는 지역과 고가용성 상태가 나와 있습니다.
| 지리적 위치 | 지역 | 고가용성 |
|---|---|---|
| 아시아 태평양 | 오스트레일리아(au-syd) |
MZR |
| 아시아 태평양 | 오사카(jp-osa) |
MZR |
| 아시아 태평양 | 도쿄(jp-tok) |
MZR |
| 유럽 | 프랑크푸르트(eu-de) |
MZR |
| 유럽 | 마드리드 (eu-es) |
MZR |
| 유럽 | 런던(eu-gb) |
MZR |
| 북미 | 댈러스(us-south) |
MZR |
| 북미 | 토론토(ca-tor) |
MZR |
| 북미 | 워싱턴(us-east) |
MZR |
| 남미 | 브라질 상파울루(br-sao) |
MZR |
지역은 하나 이상의 지역을 포함하는 지리적 영역입니다. 각 지역에는 로컬 액세스, 짧은 지연 시간 및 보안 요구 사항을 충족하기 위한 여러 가용성 영역이 포함되어 있습니다. 각 다중 영역 영역(MZR) 은 3개 이상의 독립 영역으로 구성되므로 단일 장애 이벤트가 하나의 영역에만 영향을 미칩니다.
Code Engine 인스턴스에 대한 재해 복구
지진, 홍수, 악천후와 같은 대규모 지역 재난이 발생하면 지역 전체가 영향을 받을 수 있습니다. 이러한 이벤트에 대한 복원력을 확보하려면 여러 MZR에 워크로드를 배포하고 엣지 프록시 서비스를 사용하여 자동 장애 조치 메커니즘을 구현하세요. 예를 들어 IBM Cloud® Internet Services. 여러 지역에 애플리케이션을 배치하는 방법에 대한 자세한 정보는 사용자 정의 도메인 이름을 사용하여 여러 지역에 애플리케이션 배치를 참조하십시오.
IBM 재해 복구에 도움이 되는 방법
Code Engine 인스턴스 백업
IBM Cloud Code Engine 프로젝트 메타데이터를 자동으로 백업하고 재해 복구를 위해 지역 간 스토리지에 저장합니다.
| Code Engine 지역 | 교차 지역 엔드포인트 |
|---|---|
au-syd |
AP |
br-sao |
BR |
ca-tor |
CA |
eu-de |
EU |
eu-es |
EU |
eu-gb |
EU |
jp-osa |
AP |
jp-tok |
AP |
us-east |
US |
us-south |
US |
작업 중복이나 원치 않는 애플리케이션 인스턴스 배포 등 워크로드에 의도하지 않은 영향을 미치지 않도록 하기 위해 Code Engine 에서는 워크로드를 자동으로 복원하지 않습니다. 워크로드를 복원하는 것은 사용자의 책임입니다. 자세한 정보는 Code Engine 사용에 따른 사용자 책임 이해를 참조하십시오.
복구 시간 목표(RTO) 및 복구 지점 목표(RPO)
-
복구 시간 목표 (RTO)는 시스템, 애플리케이션 또는 비즈니스 프로세스가 비즈니스에 심각한 영향을 미치기 전에 오프라인 상태가 될 수 있는 최대 허용 시간입니다.
-
복구 지점 목표 (RPO)는 HA 또는 DR 이벤트 후 허용 가능한 최대 데이터 손실량(시간 단위로 측정)을 정의합니다.
IBM 는 HA 장애 조치, 격리된 DR 시나리오(고객 소유 데이터 및 워크로드 정의 제외), 데이터 복원, 비기술적 매개변수 시뮬레이션을 포함하는 정기적인 HA/DR 테스트를 수행합니다.
이러한 테스트 중에 RTO(복구 시간) 및 RPO(복구 지점) 목표를 측정하고 검증합니다.
| 목표 | 대상 |
|---|---|
| 영역 중단 시 자동 페일오버 | RTO = 초, RPO = 0 |
| 고객 소유 아티팩트 복구를 제외한 재해 복구 | RTO = 시간, RPO = 1일 |
재해 복구 계획
IBM 의 HA/DR 테스트 외에도 정기적으로 재해 복구 절차를 연습해야 합니다. 계획을 수립할 때 다음과 같은 실패 시나리오와 해결 방법을 고려하세요.
| 이벤트 | 분석 |
|---|---|
| 하드웨어 장애(컴퓨팅 인프라) | IBM 는 영역 내 단일 지점 하드웨어 장애에 탄력적으로 대응하는 인프라를 제공하며, 별도의 구성이 필요하지 않습니다. |
| 구역 장애 | 자동 장애 조치( Code Engine 인스턴스의 가용성 참조). 워크로드는 자동으로 사용 가능한 영역으로 이동합니다. |
| 데이터 손상 | 데이터 백업 생성은 회원님의 책임입니다. |
| 지역별 실패 | 자동 장애 복구가 없습니다. Code Engine 인스턴스의 재해 복구에 설명된 대로 두 번째 다중 영역 리전에 워크로드를 배포해야 합니다. |
| 워크로드 가용성 | 외부 스토리지 또는 데이터베이스에서 상태를 복구하기 위해 비즈니스 애플리케이션을 구현할 책임은 회원님에게 있습니다. |
| HA/DR 복원력 | 귀사는 정전 시 구성 요소를 관리하고 워크로드 및 고객 소유 데이터를 복원할 수 있는 숙련된 직원을 확보해야 할 책임이 있습니다. |
HA 및 DR에 대한 책임
각 기능과 관련된 다음 체크리스트를 사용하여 계획을 세우고 실천하는 데 도움을 받으세요.
-
IBM Cloud® Code Engine 앱, 작업 및 차량에 사용되는 컨테이너 이미지
IBM Cloud Container Registry 백업 지역에서 컨테이너 이미지를 사용할 수 있는지 확인합니다.
-
IBM Cloud® Code Engine 함수에 사용되는 코드 번들
IBM Cloud Container Registry 백업 지역에서 코드 번들을 사용할 수 있는지 확인합니다.
포괄적인 고가용성(HA) 및 재해 복구(DR) 테스트 계획에는 RTO 및 RPO 목표 정의, 중요 시스템 식별, 백업 무결성, 네트워크 장애 복구 및 데이터 동기화 검증이 포함됩니다. 주요 단계에는 장애 시뮬레이션(노드 장애 또는 사이트 중단 등), 장애 복구 절차 실행, 시스템 기능 검증, 폴백 프로세스 문서화 등이 포함됩니다.
-
시험 준비
- 목표를 정의합니다: 복구 시간 목표(RTO)와 복구 지점 목표(RPO)를 확인합니다.
- 중요한 시스템을 식별하세요: 장애 조치가 필요한 모든 시스템, 데이터 및 애플리케이션을 나열하세요.
- 팀 역할을 설정하세요: DR 팀의 책임을 정의하고 주요 연락 담당자를 지정하세요.
- 백업 확인: 백업이 유효하고 액세스할 수 있는지 확인합니다.
- 환경 격리: 테스트 시스템을 격리하여 프로덕션 환경에 우발적인 영향을 미치지 않도록 합니다.
-
테스트 실행
- 장애 시나리오 시뮬레이션: 네트워크 연결 끊기, 서비스 중지, 기본 서버 종료 등 계획된 장애를 시작하세요.
- 장애 조치 실행: 문서화된 장애 조치 절차를 보조/DR 사이트로 실행합니다.
- 데이터 무결성을 확인합니다: 체크섬 또는 해시 값을 사용하여 데이터가 손상되지 않았는지 확인합니다.
- 애플리케이션 유효성 검사: DR 사이트에서 애플리케이션의 기능을 테스트하세요.
- DNS/트래픽 리라우팅: 사용자 트래픽이 새 활성 노드로 리디렉션되는지 확인합니다.
-
사후 테스트 및 문서화
- 장애 복구를 수행합니다: 기본 사이트를 정상적으로 다시 온라인 상태로 전환하고 데이터를 다시 동기화합니다.
- 결과를 문서화합니다: 시기, 성공 여부, 계획과의 편차 등을 기록합니다.
- 부족한 부분을 파악합니다: 계획의 미비점을 파악하고 그에 따라 절차를 업데이트하세요.
- 커뮤니케이션 감사: 모든 이해관계자에게 알림이 전송되었는지 확인합니다.
-
일반적인 테스트 시나리오
- HA 테스트: 대기 노드(예: 동일한 데이터 센터 내)로의 로컬 장애 조치.
- DR 테스트: 지리적으로 분리된 위치로 전체 페일오버.
- 데이터 복원: 백업 데이터스토어에서 기본 또는 선택한 백업 위치로 고객 소유의 데이터 및 워크로드 아티팩트를 완벽하게 복원합니다.
- 직원 가용성: 핵심 인력을 사용할 수 없거나 시스템에 연결할 수 없는 경우 운영 영향을 테스트합니다.