Secrets Manager에 대한 고가용성 및 재해 복구 이해

고가용성서비스 또는 작업 부하가 장애를 견디고 사전 정의된 서비스 수준에 따라 처리 기능을 계속 제공할 수 있는 능력. (HA)은 예기치 않은 장애가 발생하더라도 서비스가 계속 작동하고 액세스할 수 있는 기능입니다. 재해 복구는서비스 중단과 같은 드물지만 심각한 사고와 광범위한 장애로부터 복구할 수 있는 서비스 또는 작업량 능력. 여기에는 전체 지역에 영향을 미치는 물리적 재해, 데이터베이스 손상, 또는 작업 부하에 기여하는 서비스의 손실이 포함됩니다. 그 영향은 고가용성 설계가 처리할 수 있는 능력을 초과합니다. 서비스 인스턴스를 작동 상태로 복구하는 프로세스입니다.

Secrets Manager 표준 요금제로 정의된 서비스 수준 목표(SLO)를 충족하는 지역 서비스입니다. 사용 가능한 Secrets Manager IBM Cloud 지역 및 데이터 센터에 대한 자세한 내용은 위치별 서비스 및 인프라 가용성을 참조하세요.

고가용성 아키텍처

Secrets Manager 서비스 인스턴스는 단일 장애 지점이 없는 다중 영역 지역의 세 영역에 걸쳐 프로비저닝됩니다. API 요청은 글로벌 로드 밸런서를 통해 각각 다른 가용성 영역에 있는 3개의 HA 인스턴스 노드로 라우팅됩니다.

가용성 영역에 장애가 발생하면 글로벌 로드 밸런서를 통해 살아남은 HA 인스턴스 노드로 API 요청이 라우팅되어 서비스가 계속 실행됩니다. 중단과 글로벌 로드 밸런서가 장애를 인식하는 데 짧은 시간(초)이 걸릴 수 있으며, 이 시간 동안 장애가 발생한 인스턴스로 요청이 전송될 수 있습니다. 프로그래밍 방식으로 서비스 인스턴스에 액세스하는 워크로드는 가용성을 유지하기 위해 클라이언트 가용성 재시도 로직을 따라야 합니다. 영역 장애가 발생하는 동안 눈에 띄는 서비스 성능 저하는 없습니다.

IBM Cloud® Secrets Manager 인스턴스는 구성이 필요 없는 고가용성 인스턴스입니다.

재해 복구 아키텍처

서비스 인스턴스 중단으로부터 복구하려면 복구 지역에 복구 서비스 인스턴스를 만들어야 합니다. 일반적으로 복구 서비스 인스턴스는 소스 서비스 인스턴스와 동일한 데이터로 구성해야 하지만 이 지침에는 예외가 있습니다.

복구 지역에 따라 일부 비밀을 조정해야 합니다(예: 연결 문자열 또는 API 키가 지역별 특정 서비스 인스턴스를 참조할 수 있음). 이러한 값은 복구 서비스 인스턴스에서 달라집니다.

시크릿 매니저 서비스 인스턴스에는 이러한 선택적 서비스에 대해 고객이 만든 종속성이 있을 수 있으므로 복구된 지역에 이러한 종속성이 있는지 확인하세요.

이러한 인스턴스는 재해가 발생하기 전에(잠재적인 재해가 발생하기 전에) 생성하고 소스 인스턴스와 동기화 상태를 유지해야 합니다.

재해 복구 기능

{{{site.data.keyword.secrets-manager_short}} 다음과 같은 재해 복구 기능을 지원합니다:

복구 지역으로의 복구 계획을 세웁니다. 복구 인스턴스는 워크로드 ' ' IBM Cloud' 내에서 재해 복구 접근 방식.'과 일치해야 합니다 복구 인스턴스는 그룹, 비밀, 비밀 버전, 인증서, 이벤트 알림을 포함한 데이터에 대한 기본 서비스 인스턴스의 데이터 변경 사항을 추적해야 합니다.

데이터 손상과 같이 재해가 프로덕션 서비스 인스턴스에 영향을 미치지 않는 경우에는 고객이 서비스 인스턴스의 데이터를 제자리에서 복구하는 것이 가능할 수 있습니다.

이 서비스는 다음과 같은 재해 복구 옵션을 지원합니다:

Secrets Manager 대한 DR 기능
기능 설명 고려사항
순환 이전 비밀 버전 복원 프로덕션 서비스 인스턴스를 사용할 수 있어야 합니다. 버전 기록에는 제한된 수의 버전이 있습니다. 알려진 문제 및 제한 사항을 확인하세요.

다른 모든 재해 복구 옵션은 고객이 생성하고 지원합니다.

Secrets Manager 대한 고객 DR 기능
기능 설명 고려사항
외부 정보 출처 아래에 설명된 스크립트를 통해 생성된 모든 비밀은 아래에 설명되어 있습니다. 고객은 스크립트를 생성하고 재해 중에 사용할 수 있는 구성을 유지해야 합니다
백업 및 복원 고객이 작성한 스크립트를 사용하여 서비스 인스턴스를 백업합니다. 고객은 스크립트를 생성하고 복구 중에 사용할 수 있는 백업 복사본을 유지해야 합니다
실시간 동기화 프로덕션 환경의 비밀 변경 사항은 자동으로 관찰되고 서비스 인스턴스 복구를 위해 전파됩니다(아래 설명 참조) 고객은 도구를 만들고 유지 관리해야 합니다. 데이터 손상은 복구 인스턴스에 동기화됩니다.

회전 기능

시크릿 관리자 시크릿은 일반적으로 값을 쓰면 새 버전의 시크릿이 생성되는 '로테이션'을 통해 업데이트됩니다. 프로덕션 인스턴스에서 이전 버전의 비밀 번호를 복원하여 데이터 손상을 복원할 수 있습니다. 고정된 수의 버전만 유지됩니다. 비밀 버전 관리하기를 참조하세요.

외부 소스 고객 제공 기능

고객은 테라폼, 스크립트 또는 프로그램 중 어떤 조합을 만들어서 소스로 사용해야 합니다. 먼저 진실 소스를 업데이트한 다음 진실 소스를 사용하여 기본 서비스 인스턴스와 복구 서비스 인스턴스를 생성/업데이트합니다. 소스는 복원 버전에서 사용할 수 있어야 하며 단일 장애 지점이어야 합니다.

고객이 기본 인스턴스에서 재해 발생을 선언한 경우 복구 지역의 서비스가 사용되거나(최소 운영) 생성된 서비스(제로 풋프린트)가 사용됩니다. 워크로드 구성 요소를 복구된 인스턴스로 리디렉션하거나 애플리케이션 내의 재시도 코드에 선택적으로 삽입하여 요청을 두 번째 인스턴스로 리디렉션합니다(최소 작업).

진실의 소스가 포함된 리포지토리에는 버전 관리가 있는 Object Storage 버킷 또는 Github 리포지토리와 같은 특정 시점 복구 기능이 있어야 합니다.

고객 제공 기능 백업 및 복원

지역에서 시크릿을 수동으로 백업하려면 먼저 다른 지역에 Secrets Manager의 인스턴스가 있어야 합니다. 그런 후 다음 단계를 사용하여 지역 간 가용성을 보장하십시오.

Secrets Manager API 또는 CLI를 사용하여 인스턴스의 시크릿을 나열하고 다운로드하십시오.

인스턴스에 시크릿 엔진에 대한 기존 구성이 있는 경우 프로그래밍 방식으로 정보를 검색하여 새 인스턴스에서 다시 만들 수도 있습니다. 자세한 내용은 비밀 유형 구성 가져오기 API를 참조하세요.

새로 작성된 인스턴스에 다운로드된 시크릿을 추가하십시오.

다양한 방법으로 수행할 수 있는 수동 플로우를 자동화하여 시크릿의 자동 백업을 작성할 수 있습니다. 다음 예시를 검토하여 자신에게 적합한지 확인해 보세요.

실시간 동기화 고객 제공 기능

고객이 Secrets Manager API를 사용하여 기본 서비스 인스턴스에서 비밀번호를 다운로드하는 스크립트나 프로그램을 생성하고 복구 서비스 인스턴스에 데이터를 채울 수 있습니다. 스크립트는 IBM Cloud Logs 감사 이벤트의 기본 인스턴스를 활용하여 복구 인스턴스를 Code Engine 과 동기화 상태로 유지할 수 있습니다. 재해로부터 복구하기 위해 고객이 관리하는 백업을 보관해야 합니다.

주기적으로 비밀번호를 다운로드한 다음 백업 인스턴스로 가져오는 스크립트를 만듭니다.

Event Notifications 에 IBM Cloud Code Engine 액션을 가리키는 대상 및 구독을 만듭니다. secret_created 및 secret_rotated 과 같은 수명 주기 이벤트를 수신하도록 작업을 구성합니다. 그런 다음 조치가 이벤트를 수신하면 조치가 한 인스턴스에서 시크릿을 다운로드하여 백업 인스턴스에 추가합니다.

Secrets Manager 제공하는 다양한 비밀 유형에 대한 알림을 지원합니다. 사용 가능한 다양한 라이프사이클 이벤트 유형에 대해 알아보려면 이벤트 알림 사용을 참조하십시오.

재해 복구 계획

재해 복구 단계는 정기적으로 연습해야 합니다. 계획을 세울 때 다음과 같은 실패 시나리오와 해결 방법을 고려하세요.

Secrets Manager 대한 DR 시나리오
실패 분석
하드웨어 장애(단일 지점) IBM 구성이 필요 없는 존 내 단일 하드웨어 장애 지점에서도 복원력을 갖춘 인스턴스를 제공합니다.
구역 장애 IBM 구성할 필요 없이 영역 장애로부터 복원력을 갖춘 인스턴스를 제공합니다.
데이터 손상 로테이션을 사용하여 사용 가능한 서비스 인스턴스에서 이전 비밀 버전을 복원할 수 있습니다.
데이터 손상 외부 원본에서 손상되지 않은 특정 시점의 버전을 복원하거나 백업 및 복원합니다.
지역별 실패 복구 지역에서 복원된 버전을 사용하도록 중요한 워크로드를 전환하세요. 외부 소스, 백업 및 복원 또는 실시간 동기화를 사용하여 인스턴스를 복원합니다.

HA 및 DR에 대한 책임

각 기능과 관련된 다음 체크리스트는 계획을 세우고 실천하는 데 도움이 될 수 있습니다.

  • 순환
    • 테스트 리소스 인스턴스를 만들고 시크릿 버전 순환 및 시크릿 버전 복원을 연습하세요.
  • 외부 정보 출처
    • 복원 위치에서 사용할 수 있는 리포지토리에 원본이 있는지 확인합니다.
    • 장애 지역에 대한 의존성을 피하기 위해 진실의 출처가 재해 지역에 의존하지 않는지 확인합니다.
  • 백업 및 복원
    • 백업이 복원 위치에서 사용할 수 있는 리포지토리에 있는지 확인합니다.
    • 고객이 데이터를 복원하기 위해 작성한 스크립트를 복원 지역에서 사용할 수 있는지 확인합니다.
    • 장애 지역에 종속되지 않도록 스크립트와 백업이 재해 지역에 종속되지 않았는지 확인합니다. Object Storage 지역 간 버킷을 고려하세요.
  • 라이브 싱크로나이제이션
    • 복구 서비스 인스턴스가 현재 복원 지역에서 사용 가능한지 확인합니다
  • 외부 소스 및 라이브 싱크로나이제이션 모두에 적합합니다:
    • 복구 영역의 복구 워크로드가 복구 서비스 인스턴스와 통합되어 있는지 확인합니다
    • 복구 서비스 인스턴스에서 지역별 특정 비밀을 사용할 수 있는지 확인합니다.

Secrets Manager 사용에 대한 고객과 IBM Cloud 간의 책임 소유권에 대해 자세히 알아보려면 Secrets Manager 사용 시 귀하의 책임 이해하기를 참조하세요.

재해 복구 단계는 정기적으로 연습해야 합니다. 계획을 수립할 때 다음과 같은 실패 시나리오와 해결 방법을 고려하세요.

BYOK 손실로부터 고객 복구

IBM® Key Protect for IBM Cloud® 또는 Hyper Protect Crypto Services 에서 루트 키를 사용하여 서비스 인스턴스를 프로비저닝했는데 실수로 루트 키를 삭제한 경우 서비스에 대한 지원 케이스를 열고 다음 정보를 포함하세요:

  • 서비스 인스턴스의 CRN
  • 백업 Key Protect 또는 HPCS 인스턴스의 CRN
  • 새로운 Key Protect 또는 HPCS 루트 키 ID
  • 원본 Key Protect 또는 HPCS 인스턴스의 CRN 및 키 ID(사용 가능한 경우)

Key Protect 및 HPCS 문서에서 인증에 대한 실수로 키를 분실했을 때 복구하기를 참조하세요.

복구 시간 목표(RTO) 및 복구 지점 목표(RPO)

Secrets Manager 대한 RTO/RPO 기능
기능 RTO 및 RPO
이전 비밀 버전 복원 RTO = 분, 연습 및 잠재적으로 스크립팅을 통해 RTO 시간을 개선할 수 있으며, RPO = 0입니다.
외부 소스 - 제로 풋프린트 RTO = 몇 분. 데이터를 프로비저닝하고 채우는 데 걸리는 시간입니다. 또한 복구된 워크로드를 새 서비스 인스턴스 엔드포인트로 조정하는 데 걸리는 시간도 고려하세요. RPO가 0이면 프로덕션을 변경하기 전에 진실의 소스가 변경됩니다.
외부 데이터 소스 - 완전한 운영 백업 RTO = 몇 초, RPO = 0. 제로 풋프린트 설명을 개선하여 라이브 서비스 인스턴스를 복구 영역에 유지합니다.
백업 및 복원 RTO = 몇 분. 데이터를 프로비저닝하고 채우는 데 걸리는 시간입니다. 또한 복구된 워크로드를 새 서비스 인스턴스 엔드포인트로 조정하는 데 걸리는 시간도 고려하세요. RPO = 마지막 백업 시간.
실시간 동기화 RTO = 분, RPO = 이벤트 기반인 경우 분, 주기적 백업을 사용하는 경우 기간(예: 매일)입니다.

새 서비스 인스턴스를 만들 때 Secrets Manager 사용하는 워크로드의 RTO에는 복구된 워크로드를 새 서비스 인스턴스 엔드포인트에 조정하는 데 필요한 시간이 포함됩니다.

변경 관리

변경 관리에는 업그레이드, 구성 변경 및 삭제와 같은 작업이 포함됩니다.
사용자와 프로세스에 업무에 필요한 최소한의 권한으로 IAM 역할 및 작업을 부여하는 것이 좋습니다. 예를 들어 프로덕션 리소스를 삭제할 수 있는 기능을 제한합니다.

IBM® 재해 복구를 지원하는 방법

{{{site.data.keyword.IBM}} 재해 발생 시 구체적인 복구 조치를 취합니다.

IBM® 영역 장애에서 복구하는 방법

영역 장애 발생 시 IBM Cloud 에서 영역 중단을 해결하고 영역이 다시 온라인 상태가 되면 글로벌 로드 밸런서가 고객 조치 없이도 복원된 인스턴스 노드로 API 요청 전송을 재개합니다.

IBM® 지역 장애에서 복구하는 방법

장애 후 리전이 복원되면 IBM 리전 상태에서 서비스 인스턴스를 복원하려고 시도하므로 데이터 손실이 없고 동일한 연결 문자열로 복원된 서비스 인스턴스를 사용할 수 있습니다.

  • RTO = 몇 분
  • RPO = 0분

지역 상태가 손상된 경우 서비스는 마지막 내부 백업 상태로 복원됩니다. 서비스와 관련된 모든 데이터는 서비스에서 관리하는 지역 간 Cloud Object Storage 버킷에 매일 한 번씩 백업됩니다. 24시간 분량의 데이터가 손실될 가능성이 있습니다. 이러한 백업은 고객 관리형 재해 복구에는 사용할 수 없습니다. 서비스가 백업에서 복구되면 인스턴스 ID도 복원되므로 엔드포인트를 사용하는 클라이언트는 새 연결 문자열로 업데이트할 필요가 없습니다.

  • RTO = 2시간
  • RPO = 최대 24시간

IBM 에서 서비스 인스턴스를 복원할 수 없는 경우 고객은 재해 복구 섹션에 설명된 대로 복원해야 합니다.

IBM® 서비스를 유지하는 방법

모든 업그레이드는 IBM® 서비스 모범 사례를 따르며 복구 계획 및 롤백 프로세스가 마련되어 있습니다. 새로운 기능 및 유지보수를 위한 정기적인 업그레이드는 정상적인 운영의 일부로 이루어집니다. 이러한 유지 관리로 인해 클라이언트 가용성 재시도 로직에 의해 처리되는 짧은 중단 간격이 발생할 수 있습니다. 변경 사항은 지역별로, 그리고 한 지역 내에서 구역별로 순차적으로 적용됩니다. 결함이 처음 발견되면 업데이트가 백업됩니다.

복잡한 변경 사항은 기능 플래그를 통해 활성화 및 비활성화하여 노출을 제어합니다.

고객 워크로드에 영향을 미치는 변경 사항은 알림에 자세히 설명되어 있습니다. 자세한 내용은 이 서비스에 영향을 미치는 계획된 유지보수, 공지사항 및 릴리즈 노트에 대한 모니터링 알림 및 상태를 참조하세요.