次の方法で共有


Azure アプリケーション整合性スナップショット ツール用のストレージを構成する

この記事では、Azure アプリケーション整合性スナップショット ツール (AzAcSnap) で使用する Azure ストレージを構成するためのガイドを提供します。

AzAcSnap で使用しているストレージを選択してください。

システムマネージド ID (推奨) を設定するか、サービス プリンシパルの認証ファイルを生成します。

Azure NetApp Files との通信を検証している場合、通信が失敗したりタイムアウトしたりする可能性があります。AzAcSnap を実行しているシステムから次のアドレスと TCP/IP ポートへの送信トラフィックがファイアウォール規則によってブロックされていないことを確認します:

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

ストレージとの通信を有効にする

このセクションでは、ストレージとの通信を有効にする方法について説明します。 次のタブを使用して、使用しているストレージ バックエンドを正しく選択します。

システム マネージド ID またはサービス プリンシパル ファイルを使用して Azure Resource Manager に対して認証する方法は 2 つあります。 オプションについては、以下で説明します。

Azure システム マネージド ID

AzAcSnap 9 からは、操作にサービス プリンシパルの代わりにシステムマネージド ID を使用できます。 この機能を使用すると、サービス プリンシパルの資格情報を仮想マシン (VM) に格納する必要がなくなります。 Azure Cloud Shell を使用して Azure マネージド ID を設定するには、次の手順に従います:

  1. Bash との Cloud Shell セッション内で、次の例を使用してシェル変数を適切に設定し、Azure マネージド ID を作成するサブスクリプションに適用します。 SUBSCRIPTIONVM_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 を二重引用符 (") で囲みます。

次のステップ