Azure Health Data Services 식별 해제 서비스의 안정성(미리 보기)

이 문서에서는 식별 해제 서비스(미리 보기)의 안정성 지원에 대해 설명합니다. Azure의 안정성 원칙에 대한 자세한 개요는 Azure 안정성을 참조하세요.

지역 간 재해 복구

DR(재해 복구)은 가동 중지 시간 및 데이터 손실을 초래하는 자연 재해 또는 실패한 배포와 같은 영향이 큰 이벤트로부터 복구하는 것입니다. 원인에 관계없이 최상의 재해 해결책은 잘 정의되고 테스트된 DR 계획과 DR을 적극적으로 지원하는 애플리케이션 디자인입니다. 재해 복구 계획을 만들기 전에 재해 복구 전략을 디자인하기 위한 권장 사항을 참조하세요.

DR과 관련하여 Microsoft는 공유 책임 모델을 사용합니다. 공유 책임 모델에서 Microsoft는 기준 인프라 및 플랫폼 서비스를 사용할 수 있도록 보장합니다. 동시에 많은 Azure 서비스는 데이터를 자동으로 복제하거나 실패한 지역에서 대체하여 사용하도록 설정된 다른 지역으로 교차 복제하지 않습니다. 이러한 서비스의 경우 자신의 워크로드에 적합한 재해 복구 계획을 설정할 책임이 있습니다. Azure PaaS(Platform as a Service) 제품에서 실행되는 대부분의 서비스는 DR을 지원하는 기능과 지침을 제공하며, 서비스별 기능을 사용하여 빠른 복구를 지원하여 DR 계획을 개발하는 데 도움이 될 수 있습니다.

각 식별 해제 서비스(미리 보기)는 단일 Azure 지역에 배포됩니다. 전체 지역을 사용할 수 없거나 성능이 크게 저하되는 경우:

  • ARM 컨트롤 플레인 기능은 중단 시 읽기 전용으로 제한됩니다. 서비스 메타데이터(예: 리소스 속성)는 항상 Microsoft에서 지역 외부에서 백업됩니다. 중단이 끝나면 컨트롤 플레인을 읽고 쓸 수 있습니다.
  • 모든 데이터 평면 요청은 중단 중에 ID 해제 또는 작업 API 요청과 같이 실패합니다. 고객 데이터는 손실되지 않지만 작업 진행률 메타데이터가 손실될 가능성이 있습니다. 중단이 끝나면 데이터 평면을 읽고 쓸 수 있습니다.

재해 복구 자습서

전체 Azure 지역을 사용할 수 없는 경우에도 워크로드의 고가용성을 보장할 수 있습니다. 두 지역으로 트래픽을 라우팅하는 데 사용되는 Azure Front door를 사용하여 활성-활성 구성에서 둘 이상의 식별 해제 서비스를 배포할 수 있습니다.

이 예제 아키텍처를 사용할 경우:

  • 동일한 식별 해제 서비스는 두 개의 별도 지역에 배포됩니다.
  • Azure Front Door는 트래픽을 두 지역으로 라우팅하는 데 사용됩니다.
  • 재해가 발생하면 한 지역이 오프라인 상태가 되고 Azure Front Door는 트래픽을 다른 지역으로만 라우팅합니다. 이러한 지역 장애 조치(failover) 중 복구 시간 목표는 Azure Front Door가 하나의 서비스가 비정상임을 감지하는 데 걸리는 시간으로 제한됩니다.

RTO 및 RPO

활성-활성 구성을 채택하는 경우 5분의 RTO(복구 시간 목표)를 예상해야 합니다. 모든 구성에서 0분의 RPO(복구 지점 목표)를 예상해야 합니다(고객 데이터가 손실되지 않음).

재해 복구 계획 유효성 검사

필수 조건

Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.

이 자습서를 완료하려면 다음이 필요합니다.

리소스 그룹 만들기

이 자습서에서는 서로 다른 Azure 지역에 있는 식별 해제 서비스(미리 보기)의 두 인스턴스가 필요합니다. 이 자습서에서는 미국 동부 및 미국 서부 2 지역을 사용하지만 원하는 지역을 자유롭게 선택할 수 있습니다.

관리 및 정리 작업이 더 간단하게 수행되도록 이 자습서의 모든 리소스에 단일 리소스 그룹을 사용합니다. 재해 복구 상황에서 리소스를 보다 철저하게 격리할 수 있도록 지역/리소스마다 별도의 리소스 그룹을 사용하는 것이 좋습니다.

다음 명령을 실행하여 리소스 그룹을 만듭니다.

az group create --name my-deid --location eastus

식별 해제 서비스 만들기(미리 보기)

빠른 시작의 단계를 수행합니다. 식별 해제 서비스(미리 보기) 를 배포하여 미국 동부와 미국 서부 2에 하나씩 두 개의 개별 서비스를 만듭니다.

다음 단계에서 Azure Front Door를 배포할 때 백 엔드 주소를 정의할 수 있도록 각 식별 해제 서비스의 서비스 URL을 확인합니다.

Azure Front Door 만들기

다중 지역 배포에는 활성-활성 또는 활성-수동 구성을 사용할 수 있습니다. 활성-활성 구성은 여러 활성 지역에 요청을 분산합니다. 활성-수동 구성은 인스턴스를 보조 지역에서 계속 실행하지만, 주 지역에 장애가 발생하지 않는 한 트래픽을 보로 지역으로 보내지 않습니다. Azure Front Door는 이러한 구성을 사용할 수 있는 기본 제공 기능을 제공합니다. 고가용성 및 내결함성 앱 설계에 대한 자세한 내용은 복원력 및 가용성을 위한 Azure 애플리케이션 설계를 참조하세요.

Azure Front Door 프로필 만들기

이제 Azure Front Door Premium만들어 트래픽을 서비스로 라우팅합니다.

az afd profile create를 실행하여 Azure Front Door 프로필을 만듭니다.

참고 항목

Azure Front Door 프리미엄 대신 표준을 배포하려면 --sku 매개 변수의 값을 Standard_AzureFrontDoor로 바꿉니다. 표준 계층을 선택하면 WAF 정책을 사용하여 관리 규칙을 배포할 수 없습니다. 자세한 가격 책정 계층 비교는 Azure Front Door 계층 비교를 참조하세요.

az afd profile create --profile-name myfrontdoorprofile --resource-group my-deid --sku Premium_AzureFrontDoor
매개 변수 설명
profile-name myfrontdoorprofile Azure Front Door 프로필의 이름이며, 리소스 그룹 내에서 고유합니다.
resource-group my-deid 이 자습서의 리소스를 포함하는 리소스 그룹입니다.
sku Premium_AzureFrontDoor Azure Front Door 프로필의 가격 책정 계층입니다.

Azure Front Door 엔드포인트 추가

실행 az afd endpoint create 하여 Azure Front Door 프로필에서 엔드포인트를 만듭니다. 이 엔드포인트는 요청을 서비스로 라우팅합니다. 이 가이드를 완료한 후 프로필에 여러 엔드포인트를 만들 수 있습니다.

az afd endpoint create --resource-group my-deid --endpoint-name myendpoint --profile-name myfrontdoorprofile --enabled-state Enabled
매개 변수 설명
endpoint-name myendpoint 프로필 아래의 엔드포인트 이름이며, 전역적으로 고유합니다.
enabled-state Enabled 이 엔드포인트의 사용 여부를 결정합니다.

Azure Front Door 원본 그룹 만들기

두 개의 식별 해제 서비스를 포함하는 원본 그룹을 만들려면 실행 az afd origin-group create 합니다.

az afd origin-group create --resource-group my-deid --origin-group-name myorigingroup --profile-name myfrontdoorprofile --probe-request-type GET --probe-protocol Https --probe-interval-in-seconds 60 --probe-path /health --sample-size 1 --successful-samples-required 1 --additional-latency-in-milliseconds 50 --enable-health-probe
매개 변수 설명
origin-group-name myorigingroup 원본 그룹의 이름입니다.
probe-request-type GET 수행된 상태 프로브 요청의 유형입니다.
probe-protocol Https 상태 프로브에 사용하는 프로토콜입니다.
probe-interval-in-seconds 60 상태 프로브 간격(초)입니다.
probe-path /health 원본의 상대 경로이며, 원본의 상태를 확인하는 데 사용됩니다.
sample-size 1 부하 분산을 결정할 때 고려해야 하는 샘플 수입니다.
successful-samples-required 1 성공해야 하는 샘플 기간 내의 샘플 수입니다.
additional-latency-in-milliseconds 50 최저 대기 시간 버킷으로 분류되는 프로브의 추가 대기 시간(밀리초)입니다.
enable-health-probe 상태 프로브의 상태를 제어하도록 전환합니다.

Azure Front Door 원본 그룹에 원본 추가

az afd origin create를 실행하여 원본을 원본 그룹에 추가합니다. 및 --origin-host-header 매개 변수의 --host-name 경우 자리 표시자 값을 <service-url-east-us> 미국 동부 서비스 URL로 바꾸고 스키마(https://)를 제외합니다. 와 같은 abcdefghijk.api.eastus.deid.azure.com값이 있어야 합니다.

az afd origin create --resource-group my-deid --host-name <service-url-east-us> --profile-name myfrontdoorprofile --origin-group-name myorigingroup --origin-name deid1 --origin-host-header <service-url-east-us> --priority 1 --weight 1000 --enabled-state Enabled --https-port 443
매개 변수 설명
host-name <service-url-east-us> 기본 식별 해제 서비스의 호스트 이름입니다.
origin-name deid1 원본의 이름입니다.
origin-host-header <service-url-east-us> 이 원본 요청에 대해 보낼 호스트 헤더입니다.
priority 1 모든 트래픽을 기본 식별 해제 서비스로 보내려면 이 매개 변수를 1로 설정합니다.
weight 1000 부하 분산을 위해 지정된 원본 그룹에 있는 원본의 가중치입니다. 1~1000 사이여야 합니다.
enabled-state Enabled 이 원본의 사용 여부를 결정합니다.
https-port 443 원본에 대한 HTTPS 요청에 사용되는 포트입니다.

이 단계를 반복하여 두 번째 원본을 추가합니다. 및 --origin-host-header 매개 변수의 --host-name 경우 자리 표시자 값을 <service-url-west-us-2> 미국 서부 2 서비스 URL로 바꾸고 스키마(https://)를 제외합니다.

az afd origin create --resource-group my-deid --host-name <service-url-west-us-2> --profile-name myfrontdoorprofile --origin-group-name myorigingroup --origin-name deid2 --origin-host-header <service-url-west-us-2> --priority 1 --weight 1000 --enabled-state Enabled --https-port 443

두 명령의 --priority 매개 변수에 주의하세요. 두 원본 모두 우선 1순위로 설정되므로 Azure Front Door는 두 원본을 모두 활성 트래픽으로 처리하고 두 지역에 대한 직접 트래픽으로 처리합니다. 한 원본에 대한 우선 순위가 설정된 2경우 Azure Front Door는 해당 원본을 보조로 처리하고 중단되지 않는 한 모든 트래픽을 다른 원본으로 보냅니다.

Azure Front Door 경로 추가

az afd route create를 실행하여 엔드포인트를 원본 그룹에 매핑합니다. 이 경로는 엔드포인트에서 원본 그룹으로 요청을 전달합니다.

az afd route create --resource-group my-deid --profile-name myfrontdoorprofile --endpoint-name myendpoint --forwarding-protocol MatchRequest --route-name route  --origin-group myorigingroup --supported-protocols Https --link-to-default-domain Enabled 
매개 변수 설명
endpoint-name myendpoint 엔드포인트의 이름입니다.
forwarding-protocol MatchRequest 이 규칙이 트래픽을 백 엔드로 전달할 때 사용하는 프로토콜입니다.
route-name route 경로의 이름입니다.
supported-protocols Https 이 경로를 지원하는 프로토콜 목록입니다.
link-to-default-domain Enabled 이 경로를 기본 엔드포인트 도메인에 연결할 것인지 여부를 결정합니다.

이 변경 내용이 전역으로 전파되는 데 다소 시간이 걸리기 때문에 이 단계를 완료하는 데 약 15분이 소요됩니다. 이 기간이 지나면 Azure Front Door가 온전하게 작동합니다.

Front Door 테스트

Azure Front Door 표준/프리미엄 프로필을 만들 때 구성이 전역적으로 배포되는 데 몇 분 정도 걸립니다. 완료되면 앞서 만든 프런트 엔드 호스트에 액세스할 수 있습니다.

az afd endpoint show를 실행하여 Front Door 엔드포인트의 호스트 이름을 가져옵니다. 다음과 같이 표시됩니다. abddefg.azurefd.net

az afd endpoint show --resource-group my-deid --profile-name myfrontdoorprofile --endpoint-name myendpoint --query "hostName"

브라우저에서, 이전 명령에서 반환한 엔드포인트 호스트 이름(<endpoint>.azurefd.net/health)으로 이동합니다. 요청은 자동으로 미국 동부의 기본 식별 해제 서비스로 라우팅됩니다.

인스턴트 글로벌 장애 조치(failover)를 테스트하려면 다음을 수행합니다.

  1. 브라우저를 열고 엔드포인트 호스트 이름(<endpoint>.azurefd.net/health)으로 이동합니다.

  2. 미국 동부에서 식별 해제 서비스에 대한 공용 네트워크 액세스를 사용하지 않도록 설정하려면 프라이빗 액세스 구성의 단계를 따릅니다.

  3. 브라우저를 새로 고칩니다. 이제 트래픽이 미국 서부 2의 식별 해제 서비스로 전달되므로 동일한 정보 페이지가 표시됩니다.

    장애 조치(failover)를 완료하려면 페이지를 여러 번 새로 고쳐야 할 수 있습니다.

  4. 이제 미국 서부 2의 식별 해제 서비스에 대한 공용 네트워크 액세스를 사용하지 않도록 설정합니다.

  5. 브라우저를 새로 고칩니다. 이번에는 오류 메시지가 표시됩니다.

  6. 식별 해제 서비스 중 하나에 대해 공용 네트워크 액세스를 다시 사용하도록 설정합니다. 브라우저를 새로 고치면 상태가 다시 표시됩니다.

이제 Azure Front Door를 통해 서비스에 액세스할 수 있고 의도한 대로 장애 조치(failover) 기능을 사용할 수 있는지 확인했습니다. 장애 조치(failover) 테스트를 완료한 경우 다른 서비스에서 공용 네트워크 액세스를 사용하도록 설정합니다.

리소스 정리

이전 단계에서는 리소스 그룹에서 Azure 리소스를 만들었습니다. 나중에 이러한 리소스가 필요하지 않으면 다음 명령을 실행하여 리소스 그룹을 삭제합니다.

az group delete --name my-deid

이 명령을 완료하는 데 몇 분 정도 걸릴 수 있습니다.

복구 시작

서비스의 복구 상태를 확인하려면 .에 요청을 <service-url>/health보낼 수 있습니다.