PowerShell을 사용하여 Azure Kubernetes Service 복원
이 문서에서는 Azure PowerShell을 사용하여 Azure Backup이 만든 복원 지점에서 Azure Kubernetes 클러스터를 복원하는 방법을 설명합니다.
이제 Azure Backup은 클러스터에 설치해야 하는 백업 확장을 사용하여 AKS 클러스터(클러스터 리소스 및 클러스터에 연결된 영구 볼륨)를 백업할 수 있습니다. Backup 자격 증명 모음은 이 백업 확장을 통해 클러스터와 통신하여 백업 및 복원 작업을 수행합니다.
OLR(원래 위치 복구)(백업된 AKS 클러스터에서 복원) 및 ALR(대체 위치 복구)(다른 AKS 클러스터에서 복원)을 모두 수행할 수 있습니다. ILR(항목 수준 복구) 백업에서 복원할 항목을 선택할 수도 있습니다.
참고 항목
복원 작업을 시작하기 전에 대상 클러스터에 백업 확장이 설치되어 있고 백업 자격 증명 모음에 대해 신뢰할 수 있는 액세스가 활성화되어 있어야 합니다. 자세히 알아보기.
명령에 사용할 각 리소스와 관련된 필수 세부 정보로 변수를 초기화합니다.
백업 자격 증명 모음의 구독 ID
$vaultSubId = "xxxxxxxx-xxxx-xxxx-xxxx"
백업 자격 증명 모음이 속한 리소스 그룹
$vaultRgName = "testBkpVaultRG"
백업 자격 증명 모음 이름
$vaultName = "TestBkpVault"
백업 자격 증명 모음이 속한 지역
$restoreLocation = "vaultRegion" #example eastus
복원이 대체 AKS 클러스터로 수행되는 경우 대상 AKS 클러스터의 ID
$targetAKSClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.ContainerService/managedClusters/PSAKSCluster2"
시작하기 전에
AKS 백업을 사용하면 원래 AKS 클러스터(백업됨)와 대체 AKS 클러스터로 복원할 수 있습니다. AKS 백업을 사용하면 전체 복원 및 항목 수준 복원을 수행할 수 있습니다. 복원 구성을 활용하여 복원할 클러스터 리소스를 기반으로 매개 변수를 정의할 수 있습니다.
대상 AKS 클러스터에 백업 확장을 설치해야 합니다. 또한 백업 자격 증명 모음과 AKS 클러스터 간에 신뢰할 수 있는 액세스를 사용하도록 설정해야 합니다.
지원되는 시나리오 및 제한 사항에 대한 자세한 내용은 지원 매트릭스를 참조하세요.
AKS 클러스터로 복원
관련 복구 지점 가져오기
Get-AzDataProtectionBackupInstance
cmdlet을 사용하여 모든 인스턴스를 가져오고 관련 인스턴스를 식별합니다.
$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName $vaultRgName -VaultName $vaultName
또한 Az.Resourcegraph
및 Search-AzDataProtectionBackupInstanceInAzGraph
cmdlet을 사용하여 여러 자격 증명 모음 및 구독의 인스턴스를 검색할 수도 있습니다.
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -ProtectionStatus ProtectionConfigured
인스턴스가 식별되면 관련 복구 지점을 가져옵니다. 위 명령의 출력 배열에서 세 번째 백업 인스턴스가 복원될 것입니다.
$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName
복원 요청 준비
New-AzDataProtectionRestoreConfigurationClientObject
cmdlet을 사용하여 복원 구성을 준비하고 대상 AKS 클러스터에 복원할 항목을 정의합니다.
$aksRestoreCriteria = New-AzDataProtectionRestoreConfigurationClientObject -DatasourceType AzureKubernetesService -PersistentVolumeRestoreMode RestoreWithVolumeData -IncludeClusterScopeResource $true -NamespaceMapping @{"sourceNamespace"="targetNamespace"}
그런 다음, Initialize-AzDataProtectionRestoreRequest
cmdlet을 사용하여 모든 관련 세부 정보가 포함된 복원 요청을 준비합니다.
원본 AKS 클러스터 백업으로 복원을 수행하려면 cmdlet에 아래 형식을 사용합니다.
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType OriginalLocation -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
대체 AKS 클러스터로 복원을 수행하려면 cmdlet에 아래 형식을 사용합니다.
$aksRestoreRequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureKubernetesService -SourceDataStore OperationalStore -RestoreLocation $restoreLocation -RestoreType AlternateLocation -TargetResourceId $targetAKSClusterId -RecoveryPoint $rp[0].Property.RecoveryPointId -RestoreConfiguration $aksRestoreCriteria -BackupInstance $AllInstances[2]
복원 트리거
복원 작업을 트리거하기 전에 이전에 만든 복원 요청의 유효성을 검사합니다.
$validateRestore = Test-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -RestoreRequest $aksRestoreRequest -Name $AllInstances[2].BackupInstanceName
참고 항목
복원 작업 중에 Backup 자격 증명 모음 및 AKS 클러스터에는 복원을 수행하기 위한 특정 역할이 할당되어 있어야 합니다.
- 대상 AKS 클러스터에는 스냅샷 리소스 그룹에 대한 기여자 역할이 있어야 합니다.
- 백업 확장과 연결된 사용자 ID에는 백업이 저장되는 스토리지 계정에 대한 스토리지 계정 기여자 역할이 있어야 합니다.
- 백업 자격 증명 모음에는 대상 AKS 클러스터 및 스냅샷 리소스 그룹에 대한 읽기 권한자 역할이 있어야 합니다.
이제 Start-AzDataProtectionBackupInstanceRestore
cmdlet을 사용하여 이전에 준비된 요청으로 복원 작업을 트리거합니다.
$restoreJob = Start-AzDataProtectionBackupInstanceRestore -SubscriptionId $vaultSubId -ResourceGroupName $vaultRgName -VaultName $vaultName -BackupInstanceName $AllInstances[2].BackupInstanceName -Parameter $aksRestoreRequest
작업 추적
Get-AzDataProtectionJob
cmdlet을 사용하여 모든 작업을 추적합니다. 모든 작업을 나열하고 특정 작업 세부 정보를 가져올 수 있습니다. Az.ResourceGraph
를 사용하여 모든 백업 자격 증명 모음에서 모든 작업을 추적할 수도 있습니다.
Search-AzDataProtectionJobInAzGraph
cmdlet을 사용하여 모든 백업 자격 증명 모음에 있을 수 있는 관련 작업을 가져옵니다.
$job = Search-AzDataProtectionJobInAzGraph -Subscription -SubscriptionId $vaultSubId -ResourceGroup $vaultRgName -Vault $vaultName -DatasourceType AzureKubernetesService -Operation Restore