연습 - Azure Site Recovery를 사용하여 장애 조치 및 장애 복구

완료됨

보호되는 리소스를 장애 조치할 수 있는 방법은 포털 사용, PowerShell 사용 또는 Azure Automation Runbook으로 장애 조치 자동화 등 세 가지가 있습니다.

모든 리소스가 보호된 상태로 patient-records VM의 실제 장애 조치를 실행할 수 있습니다. DR 훈련이 완료되면 PowerShell 및 포털을 사용하여 장애 조치를 수행합니다. 완료한 후에는 회사에서 사용해야 하는 방법을 추천할 수 있게 됩니다.

이 연습에서는 PowerShell을 사용하여 VM의 장애 조치를 완료하고 Azure Portal을 사용하여 VM을 장애 복구합니다.

PowerShell을 사용하여 VM을 보조 지역으로 장애 조치

  1. 고유한 자격 증명을 사용하여 Azure Portal에 로그인합니다.

  2. Cloud Shell를 시작하고 PowerShell로 전환합니다.

  3. 다음 명령을 실행합니다.

        $vault = Get-AzRecoveryServicesVault -Name "asr-vault"
        Set-AzRecoveryServicesAsrVaultContext -Vault $vault
        $PrimaryFabric = Get-AsrFabric -Name "asr-a2a-default-westus2"
        $PrimaryProtContainer = Get-ASRProtectionContainer -Fabric $PrimaryFabric
        $ReplicationProtectedItem = Get-ASRReplicationProtectedItem -ProtectionContainer $PrimaryProtContainer -FriendlyName "patient-records"
        $RecoveryPoints = Get-ASRRecoveryPoint -ReplicationProtectedItem $ReplicationProtectedItem
        $Job_Failover = Start-ASRUnplannedFailoverJob -ReplicationProtectedItem $ReplicationProtectedItem -Direction PrimaryToRecovery -RecoveryPoint $RecoveryPoints[-1]
    
        do {
                $Job_Failover = Get-ASRJob -Job $Job_Failover;
                sleep 30;
        } while (($Job_Failover.State -eq "InProgress") -or ($JobFailover.State -eq "NotStarted"))
    
        $Job_Failover.State
        $CommitFailoverJob = Start-ASRCommitFailoverJob -ReplicationProtectedItem $ReplicationProtectedItem
        Get-ASRJob -Job $CommitFailoverJob
    

    PowerShell 명령:

    • 변수에 Azure Site Recovery 자격 증명 모음을 저장합니다.
    • 세션의 컨텍스트를 자격 증명 모음으로 설정합니다.
    • 자격 증명 모음의 보호된 patient-records를 저장합니다.
    • 모든 복구 지점 목록을 가져옵니다.
    • 최신 복구 지점에 대한 장애 조치를 트리거합니다.
    • 장애 조치(failover) 결과를 보여 줍니다.
  4. 장애 조치는 몇 분 정도 걸릴 수 있습니다. 스크립트가 실행되는 동안 Cloud Shell을 열어 두고 asr-vault로 이동합니다.

  5. 왼쪽 메뉴 창의 모니터링에서 Site Recovery 작업을 선택합니다.

    참고

    스크립트가 실행되는 동시에 장애 조치(failover) 작업의 진행 상황을 확인할 수 있습니다.

  6. 장애 조치(failover)가 완료되면 Azure 홈페이지에서 가상 머신을 선택하여 patient-record VM이 동부 해안 지역으로 장애 조치되었는지 확인합니다.

  7. 이제 세 개의 VM이 있으며 두 개의 이름은 patient-records입니다.

PowerShell을 사용하여 VM 다시 보호

  1. 장애 조치가 완료된 후에는 VM을 다시 보호할 수 있습니다.

  2. 다음 명령을 실행합니다.

    $RecoveryFabric = Get-AsrFabric -Name "asr-a2a-default-eastus2"
    $RecoveryProtContainer = Get-ASRProtectionContainer -Fabric $RecoveryFabric
    $ProtectionContainerMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -ProtectionContainer $RecoveryProtContainer -Name eastus2-westus2-24-hour-retention-policy
    $StorageAccount = New-AzStorageAccount -ResourceGroupName "east-coast-rg" -AccountName "reprotectcache$(Get-Random)" -Location eastus2 -SkuName Standard_GRS
    $ResourceGroup = Get-AzResourceGroup -Name "west-coast-rg"
    
    $ReprotectJob = Update-AzRecoveryServicesAsrProtectionDirection -AzureToAzure -ProtectionContainerMapping $ProtectionContainerMapping -ReplicationProtectedItem $ReplicationProtectedItem -LogStorageAccountId $StorageAccount.ID -RecoveryResourceGroupId $ResourceGroup.ResourceId
    

    PowerShell 명령:

    • Update-AzRecoveryServicesAsrProtectionDirection 명령에서 사용할 변수를 설정합니다.
    • 다시 보호된 로그 및 데이터를 저장하려면 스토리지 계정이 필요합니다. 이 스토리지는 보호되는 VM과 동일한 지역에 있어야 합니다.
    • 마지막 줄을 사용하여 다시 보호 작업을 시작하고 이에 대한 참조를 저장합니다.

PowerShell을 사용하여 모니터링 및 테스트

VM을 다시 보호하는 작업은 완료하는 데 약 10분이 걸릴 수 있습니다.

  1. 이 PowerShell 명령을 실행하여 작업을 모니터링할 수 있습니다.

    Get-AzRecoveryServicesAsrJob -Job $ReprotectJob
    
  2. 이 명령은 작업의 상태를 반환합니다. 출력은 다음 예제와 같이 표시됩니다.

    Name             : 0993fa3c-6ac1-4d96-920d-df06830d49f2
    ID               : /Subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/east-coast-rg/providers/Microsoft.RecoveryServices/vaults/asr-vault/replicationJobs/0993fa3c-6ac1-4d96
                       -920d-df06830d49f2
    Type             : Microsoft.RecoveryServices/vaults/replicationJobs
    JobType          : SwitchReplicationGroupProtection
    DisplayName      : Reprotect
    ClientRequestId  :
    State            : Succeeded
    StateDescription : Completed
    StartTime        : 7/22/19 10:25:49 AM
    EndTime          : 7/22/19 10:35:07 AM
    TargetObjectId   : 28542035-9d78-58c9-a3ec-0ad29b0a88d8
    TargetObjectType : ProtectionEntity
    TargetObjectName : patient-records
    AllowedActions   :
    Tasks            : {}
    Errors           : {}
    

    참고 항목

    다시 보호가 완료되면 State는 Succeeded이고 StateDescription은 Completed입니다.

포털을 사용하여 미국 서부 지역으로 장애 복구

  1. Azure Portal을 더 쉽게 사용하기 위해 Cloud Shell을 닫습니다.

  2. 홈페이지에서 모든 리소스를 선택합니다.

  3. asr-vault를 선택합니다.

  4. 왼쪽 메뉴 창의 보호된 항목에서 복제된 항목을 선택합니다.

  5. patient-records를 선택합니다.

    복제가 완료될 때까지 VM을 장애 복구할 수 없으며 동기화는 100% 완료됩니다. 동기화 프로세스를 완료하는 데 몇 분 정도 걸릴 수 있습니다.

  6. 동기화가 완료된 후에는 장애 조치(failover)를 선택합니다.

  7. 복구 지점에 대해 가장 최근에 처리됨(낮은 RTO)을 선택합니다.

  8. 장애 복구를 시작하려면 확인을 선택합니다.

장애 복구 모니터링

  1. 홈페이지에서 모든 리소스를 선택합니다.

  2. asr-vault를 선택합니다.

  3. 왼쪽 메뉴 창의 모니터링에서 Site Recovery 작업을 선택합니다.

  4. 진행 중인 장애 조치(failover) 작업을 선택합니다.