다음을 통해 공유


빠른 시작: Azure CLI를 사용하여 AKS(Azure Kubernetes Service) 클러스터에 대한 자격 증명 모음 백업 구성

이 빠른 시작에서는 Azure CLI를 사용하여 AKS(Azure Kubernetes Service) 클러스터에 대한 자격 증명 모음 백업을 구성하는 방법을 설명합니다.

AKS용 Azure Backup은 AKS 클러스터에 대한 백업을 빠르게 구성할 수 있는 클라우드 기반, 엔터프라이즈 지원, 애플리케이션 중심 백업 서비스입니다.

시작하기 전에

AKS 클러스터에 대한 자격 증명 모음 백업을 구성하기 전에 다음 필수 구성 요소가 충족되는지 확인합니다.

Backup 자격 증명 모음 만들기

Backup 자격 증명 모음을 만들려면 다음 명령을 실행합니다.

az dataprotection backup-vault create --resource-group $backupvaultresourcegroup --vault-name $backupvault --location $region --type SystemAssigned --storage-settings datastore-type="VaultStore" type="GeoRedundant"

새로 만들어진 자격 증명 모음의 스토리지 설정이 전역 중복으로 설정되어 있으므로 자격 증명 모음 계층에 저장된 백업은 Azure 쌍 지역에서 사용할 수 있습니다. 자격 증명 모음 만들기가 완료되면 AKS 클러스터를 보호하는 백업 정책을 만듭니다.

백업 정책 만들기

az dataprotection backup-policy get-default-policy-template 명령을 사용하여 정책 템플릿을 검색합니다.

az dataprotection backup-policy get-default-policy-template --datasource-type AzureKubernetesService > akspolicy.json

백업 정책에 대한 기본 템플릿을 업데이트하고 자격 증명 모음 계층에서 매일 첫 번째 성공 백업을 30일 동안 보존하는 보존 규칙을 추가합니다.


az dataprotection backup-policy retention-rule create-lifecycle  --count 30 --retention-duration-type Days --copy-option ImmediateCopyOption --target-datastore VaultStore --source-datastore OperationalStore > ./retentionrule.json

az dataprotection backup-policy retention-rule set --lifecycles ./retentionrule.json --name Daily --policy ./akspolicy.json > ./akspolicy.json

정책 JSON에 필요한 모든 값이 있으면 정책 개체에서 새 정책을 만듭니다.

az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n mypolicy --policy akspolicy.json

백업을 위해 AKS 클러스터 준비

자격 증명 모음 및 정책 생성이 완료되면 AKS 클러스터를 백업할 수 있도록 다음 필수 구성 요소를 수행해야 합니다.

  1. 스토리지 계정 및 Blob 컨테이너를 만듭니다.

    AKS 백업은 Kubernetes 리소스를 Blob 컨테이너에 백업으로 저장합니다. 백업을 위해 AKS 클러스터를 준비하려면 클러스터에 확장을 설치해야 합니다. 이 확장에는 스토리지 계정과 Blob 컨테이너가 입력으로 필요합니다.

    새 스토리지 계정을 만들려면 다음 명령을 실행합니다.

    az storage account create --name $storageaccount --resource-group $storageaccountresourcegroup --location $region --sku Standard_LRS
    

    스토리지 계정 만들기가 완료되면 다음 명령을 실행하여 Blob 컨테이너를 내부에 만듭니다.

    az storage container create --name $blobcontainer --account-name $storageaccount --auth-mode login
    
  2. 백업 확장을 설치합니다.

    백업 및 복원 작업을 수행하려면 AKS 클러스터에 Backup Extension을 설치해야 합니다. Backup Extension은 dataprotection-microsoft 네임스페이스를 클러스터에 만들고, 동일한 네임스페이스를 사용하여 해당 리소스를 배포합니다. 확장에는 설치를 위한 입력으로 스토리지 계정과 Blob 컨테이너가 필요합니다.

    az k8s-extension create --name azure-aks-backup --extension-type microsoft.dataprotection.kubernetes --scope cluster --cluster-type managedClusters --cluster-name $akscluster --resource-group $aksclusterresourcegroup --release-train stable --configuration-settings blobContainer=$blobcontainer storageAccount=$storageaccount storageAccountResourceGroup=$storageaccountresourcegroup storageAccountSubscriptionId=$subscriptionId
    

    확장 설치의 일부로 AKS 클러스터의 노드 풀 리소스 그룹에 사용자 ID가 만들어집니다. 확장이 스토리지 계정에 액세스하려면 이 ID에 Storage Blob 데이터 기여자 역할을 제공해야 합니다. 필요한 역할을 할당하려면 다음 명령을 실행합니다.

    az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name $akscluster --resource-group $aksclusterresourcegroup --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv) --role 'Storage Blob Data Contributor' --scope /subscriptions/$subscriptionId/resourceGroups/$storageaccountresourcegroup/providers/Microsoft.Storage/storageAccounts/$storageaccount
    
  3. 신뢰할 수 있는 액세스 사용

    Backup 자격 증명 모음이 AKS 클러스터와 연결하려면 Backup 자격 증명 모음이 AKS 클러스터에 직접 연결되도록 허용하므로 신뢰할 수 있는 액세스를 사용하도록 설정해야 합니다.

    신뢰할 수 있는 액세스를 사용하도록 설정하려면 다음 명령을 실행합니다.

    az aks trustedaccess rolebinding create --cluster-name $akscluster --name backuprolebinding --resource-group $aksclusterresourcegroup --roles Microsoft.DataProtection/backupVaults/backup-operator --source-resource-id /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/BackupVaults/$backupvault
    

AKS 클러스터에 대한 자격 증명 모음 백업 구성

생성된 Backup 자격 증명 모음 및 백업 정책이 있고 AKS 클러스터가 ready-to-be-backed-up 상태라면 이제 AKS 클러스터의 백업을 시작할 수 있습니다.

요청 준비

백업 구성은 다음 두 단계로 수행됩니다.

  1. az dataprotection backup-instance initialize-backupconfig 명령을 사용하여 백업할 클러스터 리소스를 정의하기 위한 백업 구성을 준비합니다. 이 명령은 필요에 따라 AKS 클러스터에 대한 백업 구성을 정의하기 위해 업데이트할 수 있는 JSON을 생성합니다.

    az dataprotection backup-instance initialize-backupconfig --datasource-type AzureKubernetesService > aksbackupconfig.json
    
  2. az dataprotection backup-instance initialize 명령을 사용하여 관련 자격 증명 모음, 정책, AKS 클러스터, 백업 구성 및 스냅샷 리소스 그룹으로 관련 요청을 준비합니다.

    az dataprotection backup-instance initialize --datasource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$akscluster --datasource-location $region --datasource-type AzureKubernetesService --policy-id /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault/backupPolicies/$backuppolicy --backup-configuration ./aksbackupconfig.json --friendly-name ecommercebackup --snapshot-resource-group-name $snapshotresourcegroup > backupinstance.json
    

이제 이 명령의 JSON 출력을 사용하여 AKS 클러스터에 대한 백업을 구성합니다.

필요한 권한 할당 및 유효성 검사

요청이 준비되면 먼저 다음 명령을 실행하여 필요한 역할이 관련 리소스에 할당되었는지 유효성을 검사해야 합니다.

az dataprotection backup-instance validate-for-backup --backup-instance ./backupinstance.json --ids /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault

유효성 검사에 실패하고 특정 권한이 누락된 경우 다음 명령을 실행하여 할당할 수 있습니다.

az dataprotection backup-instance update-msi-permissions command.
az dataprotection backup-instance update-msi-permissions --datasource-type AzureKubernetesService --operation Backup --permissions-scope ResourceGroup --vault-name $backupvault --resource-group $backupvaultresourcegroup --backup-instance backupinstance.json

권한이 할당되면 이전의 validate for backup 명령을 사용하여 다시 유효성을 검사한 다음 백업을 구성합니다.

az dataprotection backup-instance create --backup-instance  backupinstance.json --resource-group $backupvaultresourcegroup --vault-name $backupvault

다음 단계