다음을 통해 공유


Azure 애플리케이션 일관성 있는 스냅샷 도구에 대한 스토리지 구성

이 문서에서는 AzAcSnap(Azure 애플리케이션 일치 스냅샷 도구)과 함께 사용할 Azure Storage를 구성하는 방법에 대한 가이드를 제공합니다.

AzAcSnap에서 사용 중인 스토리지를 선택합니다.

시스템 관리 ID를 설정하거나(권장) 서비스 주체의 인증 파일을 생성합니다.

Azure NetApp Files와의 통신 유효성을 검사하는 경우 통신이 실패하거나 시간이 초과될 수 있습니다. 방화벽 규칙이 AzAcSnap을 실행하는 시스템에서 다음 주소 및 TCP/IP 포트로의 아웃바운드 트래픽을 차단하지 않는지 확인합니다.

  • (https://)management.azure.com:443
  • (https://)login.microsoftonline.com:443

스토리지와의 통신 사용

이 섹션에서는 스토리지와의 통신을 사용하는 방법에 대해 설명합니다. 다음 탭을 사용하여 사용 중인 스토리지 백 엔드를 올바르게 선택합니다.

시스템 관리 ID 또는 서비스 주체 파일을 사용하여 Azure Resource Manager에 인증하는 방법에는 두 가지가 있습니다. 옵션은 여기에 설명되어 있습니다.

Azure 시스템 관리 ID

AzAcSnap 9에서는 작업용 서비스 주체 대신 시스템 관리 ID를 사용할 수 있습니다. 이 기능을 사용하면 VM(가상 머신)에 서비스 주체 자격 증명을 저장할 필요가 없습니다. Azure Cloud Shell을 사용하여 Azure 관리 ID를 설정하려면 다음 단계를 수행합니다.

  1. Bash를 사용하는 Cloud Shell 세션 내에서 다음 예제를 사용하여 셸 변수를 적절하게 설정하고 Azure 관리 ID를 만들려는 구독에 적용합니다. SUBSCRIPTION, VM_NAMERESOURCE_GROUP을 사이트별 값으로 설정합니다.

    export SUBSCRIPTION="99z999zz-99z9-99zz-99zz-9z9zz999zz99"
    export VM_NAME="MyVM"
    export RESOURCE_GROUP="MyResourceGroup"
    export ROLE="Contributor"
    export SCOPE="/subscriptions/${SUBSCRIPTION}/resourceGroups/${RESOURCE_GROUP}"
    
  2. Cloud Shell을 올바른 구독으로 설정합니다.

    az account set -s "${SUBSCRIPTION}"
    
  3. 가상 머신에 대한 관리 ID를 만듭니다. 다음 명령은 AzAcSnap VM의 관리 ID를 설정(또는 이미 설정된 경우 표시)합니다.

    az vm identity assign --name "${VM_NAME}" --resource-group "${RESOURCE_GROUP}"
    
  4. 역할을 할당하기 위한 보안 주체 ID를 가져옵니다.

    PRINCIPAL_ID=$(az resource list -n ${VM_NAME} --query [*].identity.principalId --out tsv)
    
  5. 주 ID에 기여자 역할을 할당합니다.

    az role assignment create --assignee "${PRINCIPAL_ID}" --role "${ROLE}" --scope "${SCOPE}"
    

선택적 RBAC

RBAC(역할 기반 액세스 제어)에서 사용자 지정 역할 정의를 사용하여 관리 ID에 대한 권한을 제한할 수 있습니다. 가상 머신이 스냅샷을 관리할 수 있도록 적합한 역할 정의를 만듭니다. Azure 애플리케이션 일치 스냅샷 도구를 사용하기 위한 팁과 요령에서 예제 사용 권한 설정을 찾을 수 있습니다.

그런 다음, Azure VM 보안 주체 ID에 역할을 할당합니다(SystemAssignedIdentity로도 표시됨).

az role assignment create --assignee ${PRINCIPAL_ID} --role "AzAcSnap on ANF" --scope "${SCOPE}"

서비스 주체 파일 생성

  1. Cloud Shell 세션에서 기본적으로 서비스 주체와 연결하려는 구독에 로그온했는지 확인합니다.

    az account show
    
  2. 구독이 올바르지 않으면 az account set 명령을 사용합니다.

    az account set -s <subscription name or id>
    
  3. 다음 예제와 같이 Azure CLI를 사용하여 서비스 주체를 만듭니다.

    az ad sp create-for-rbac --name "AzAcSnap" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth
    

    이 명령은 다음 예제와 같은 출력을 생성합니다.

    {
      "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "clientSecret": "Dd4Ee~5Ff6.-Gg7Hh8Ii9Jj0Kk1Ll2_Mm3Nn4Oo5",
      "subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
      "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
      "activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
      "resourceManagerEndpointUrl": "https://management.azure.com/",
      "activeDirectoryGraphResourceId": "https://graph.windows.net/",
      "sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
      "galleryEndpointUrl": "https://gallery.azure.com/",
      "managementEndpointUrl": "https://management.core.windows.net/"
    }
    

    이 명령은 구독 수준에서 서비스 주체에 RBAC 기여자 역할을 자동으로 할당합니다. 테스트에서 리소스를 만들 특정 리소스 그룹으로 범위를 좁힐 수 있습니다.

  4. 출력 콘텐츠를 잘라내어 azacsnap 명령과 동일한 시스템에 저장된 azureauth.json이라는 파일로 붙여넣습니다. 적절한 시스템 권한으로 파일을 보호합니다.

    JSON 파일의 형식이 URL이 큰따옴표(")로 묶인 상태로 이전 단계에서 설명한 것과 정확히 일치하는지 확인합니다.

다음 단계