Azure NetApp Files の可用性ゾーン ボリュームの配置を管理する

選んだ論理可用性ゾーンに新しいボリュームをデプロイできます。 既存のボリュームに可用性ゾーン情報を設定することもできます。 可用性ゾーンについて理解を深めるためには、高可用性のための可用性ゾーンの使用に関するページを参照してください。

要件と考慮事項

重要

カスタム役割または組み込みの共同作成者 RBAC の役割で可用性ゾーンを使っている場合は、適切なアクセス許可が設定されていることを確認します。 特定のアクセス許可がない場合、Azure portal で問題が発生する可能性があります。 構成について詳しくは、「カスタム RBAC ロールを構成する」を参ご覧ください。

  • この機能は、可用性ゾーンの空き容量を保証するものではありません。 たとえば、米国東部リージョンの可用性ゾーン 3 に VM をデプロイできる場合でも、そのゾーンでの Azure NetApp Files の空き容量は保証されません。 十分な容量がない場合、ボリュームの作成は失敗します。

  • 可用性ゾーンを使用してボリュームを作成した後、指定された可用性ゾーンは変更することができません。 可用性ゾーン間でボリュームを移動することはできません。

  • NetApp アカウントと容量プールは、可用性ゾーンによってバインドされません。 容量プールには、異なる可用性ゾーン内のボリュームを含めることができます。

  • この機能では、ゾーンの待機時間エンベロープ内の待機時間を伴うゾーン ボリューム配置が提供されます。 コンピューティングに対する近接配置は提供されません そのため、最短待機時間の保証は提供 されません

  • 各データセンターは、物理ゾーンに割り当てられています。 物理ゾーンは、Azure サブスクリプションの論理ゾーンにマップされています。 Azure サブスクリプションには、サブスクリプションの作成時に、このマッピングが自動的に割り当てられます。 この機能は、サブスクリプションの汎用の論理対物理の可用性ゾーンのマッピングに合わせて調整されます。

  • VM と Azure NetApp Files ボリュームは、VM と Azure NetApp Files 間にゾーン配置を作成するために、同じ論理可用性ゾーン内に個別にデプロイする必要があります。 可用性ゾーン ボリューム配置機能では、ボリューム作成時にゾーン VM は作成されません。またその逆も同様です。

  • Azure NetApp Files では、ボリュームの可用性ゾーンが異なっていれば、同じファイル パス (NFS)、共有名 (SMB)、またはボリューム パス (デュアルプロトコル) を使ってボリュームを作成できます。 現在、この機能はプレビュー段階にあります。

    重要

    別の可用性ゾーン内の別のボリュームと同じファイル パスを使用してボリュームを作成すると、この機能が有効になっていないサブスクリプションにデプロイされている他のボリュームと、同じレベルのサポートがボリュームに提供されます。 たとえば、スナップショットなど、ボリュームで一般公開されている他の機能に問題がある場合、この問題は異なる可用性ゾーンで同じファイル パスを持つボリュームを作成する機能と無関係であるため、この機能はサポートされます。

    初めて使用する前に、機能を登録する必要があります。 登録が完了すると、機能が有効になり、バックグラウンドで動作します。 UI コントロールは必要ありません。

    1. 機能を登録します。

      Register-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFFilePathUniquenessInAz
      
    2. 機能の登録の状態を確認します。

      Note

      RegistrationStateRegistering 状態から Registered に変化するまでに最大 60 分間かかる場合があります。 この状態が Registered になってから続行してください。

      Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFFilePathUniquenessInAz
      

    また、Azure CLI のコマンドaz feature registeraz feature show を使用して、機能を登録し、登録状態を表示することもできます。

重要

ボリュームが可用性ゾーン ボリューム配置機能を使うように設定されると、そのボリュームは、この機能を有効にせずにサブスクリプションにデプロイされた他のボリュームと同じレベルのサポートを受けます。 たとえば、スナップショットなど、ボリューム上で一般に使用できる他の機能に問題がある場合、問題は可用性ゾーンのボリューム配置機能自体にあるわけではないため、サポートされます。

重要

Terraform マネージド ボリュームに可用性ゾーンを使うことはお勧めしません。 その場合は、ボリュームにゾーン プロパティを追加する必要があります。

可用性ゾーンを使用してボリュームを作成する

  1. 容量プールから [ボリューム] を選択します。 次に、[+ ボリュームの追加] を選択して、ボリュームを作成します。

    ボリュームの作成の詳細については、次を参照してください。

  2. [ボリュームの作成] ページの [基本] タブで、[可用性ゾーン] プルダウンを選択して、Azure NetApp Files リソースが存在する可用性ゾーンを指定します。

    重要

    Azure NetApp Files プレゼンスのないサブスクリプションの論理可用性ゾーンには (Unavailable) がマークされ、グレー表示されます。

    [可用性ゾーン] メニューを示すスクリーンショット。

  3. UI に従ってボリュームを作成します。 [確認と作成] ページには、指定して選択された可用性ゾーンが表示されます。

    可用性ゾーンのレビューを示すスクリーンショット。

  4. [プロパティ] に移動して、可用性ゾーンの構成を確認します。

    ボリューム プロパティ インターフェイスのスクリーンショット。

既存のボリュームに可用性ゾーン情報を設定する

  1. 既存のボリュームに可用性ゾーン情報を設定する機能は現在プレビュー段階です。 この機能を初めて使用する場合は、まず機能を登録する必要があります。

    1. 機能を登録します。
     Register-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFPopulateAvailabilityZone
    
    1. 機能の登録の状態を確認します。
    
    Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFPopulateAvailabilityZone
    

    Note

    RegistrationStateRegistering 状態から Registered に変化するまでに最大 60 分間かかる場合があります。 この状態が Registered になってから続行してください。

    また、Azure CLI のコマンドaz feature registeraz feature show を使用して、機能を登録し、登録状態を表示することもできます。

  2. 可用性ゾーン情報を設定するボリュームに移動します。

  3. [可用性ゾーンの設定] を選びます。

  4. [可用性ゾーンの設定] ウィンドウが表示され、Azure NetApp Files ボリュームがデプロイされている可用性ゾーンが表示されます。

  5. この可用性ゾーンをボリュームに設定する場合は [保存] を選び、ボリュームをリージョンに維持する場合は [キャンセル] を選びます。

    重要

    可用性ゾーン情報は、指定されたとおりにのみ設定できます。 この機能を使って、可用性ゾーンを選んだり、ボリュームを別の可用性ゾーンに移動したりすることはできません。 このボリュームを別の可用性ゾーンに移動する場合は、(ボリュームに可用性ゾーンの情報を入力した後) ゾーン間レプリケーションの使用を検討してください。

    [可用性ゾーンの設定] ウィンドウのスクリーンショット。

Terraform マネージド ボリュームの可用性ゾーンの設定

可用性ゾーンの設定機能には、ボリュームの zone プロパティが必要です。 zone プロパティは、Terraform で管理されるボリュームを作成するときにのみ設定でき、ボリュームが作成された後で変更することはできません。 ボリュームの作成後に zone プロパティを追加すると、指定したゾーン値が可用性ゾーンと一致しない場合、データ損失やボリュームの損失が発生する可能性があります。

重要

揮発性リソースを含む Azure リソースでのデータ損失を防ぐには、prevent_destroy ライフサイクル引数を使う必要があります。

  1. Terraform モジュールの terraform.tfstate ファイルに移動します。 "zone" プロパティは空の文字列である必要があります。

  2. Terraform で管理されるボリュームの構成ファイル (main.tf) で、ボリューム リソースのライフサイクル構成ブロックを見つけます。 ブロックを ignore_changes = [zone] で変更します。 ライフサイクル構成ブロックが存在しない場合は、追加します。

    lifecycle {
        ignore_changes = [zone]
    }
    
  3. Azure portal で、Terraform で管理されるボリュームを見つけます。 ボリュームの [概要] で、[可用性ゾーンの設定] を選び、可用性ゾーンをメモします。 [保存] を選択 "しない" でください。

    [可用性ゾーンの設定] メニューのスクリーンショット。

  4. ボリュームの構成ファイル (main.tf) に、zone の値を追加し、前の手順で取得した数値を入力します。 たとえば、ボリュームの可用性ゾーンが 1 の場合は、「zone = 1」と入力します。

  5. ファイルを保存します。

  6. Azure Portal に戻ります。 [保存] を選んで、可用性ゾーンを設定します。

  7. terraform plan を実行して、ボリュームに変更が加えられないことを確認します。 CLI 出力には次のように表示されます。No changes. Your infrastructure matches the configuration.

  8. terraform apply を実行して、変更を適用します。 前の手順と同じ CLI 出力が表示されます。

ボリュームを削除して別の可用性ゾーンに作成し直す必要がある場合は、構成ファイルの ignore_changes = [zone] 行を削除してから、terraform planterraform apply の順に実行します。

カスタム RBAC の役割を構成する

カスタム RBAC の役割または組み込みの共同作成者ロールを使い、Azure portal で可用性ゾーンを管理している場合は、Azure portal でネットワーク機能と可用性ゾーンのオプションにアクセスできない可能性があります。 適切なアクセス権を持つようにするには、Microsoft.NetApp/locations/* アクセス許可を追加します。 ワイルドカードには、次のアクセス許可が含まれます。

  • Microsoft.NetApp/locations/{location}/checkNameAvailability
  • Microsoft.NetApp/locations/{location}/checkFilePathAvailability
  • Microsoft.NetApp/locations/{location}/checkQuotaAvailability
  • Microsoft.NetApp/locations/{location}/quotaLimits
  • Microsoft.NetApp/locations/{location}/quotaLimits/{quotaLimitName}
  • Microsoft.NetApp/locations/{location}/regionInfo
  • Microsoft.NetApp/locations/{location}/regionInfos
  • Microsoft.NetApp/locations/{location}/queryNetworkSiblingSet
  • Microsoft.NetApp/locations/{location}/updateNetworkSiblingSet

手順

  1. Azure NetApp Files のサブスクリプションで、[アクセス制御 (IAM)] を選びます。

  2. [役割] を選んでから、変更するカスタム役割を選びます。 3 つのドット (...) を選んでから、[編集] を選びます。

  3. カスタム役割を更新するには、[JSON] を選びます。 場所ワイルドカード アクセス許可 (Microsoft.NetApp/locations/*) を含むように JSON ファイルを変更します。 次に例を示します。

    {
    	"properties": {
    	    "roleName": ""
    	    "description": ""
    	    "assignableScopes": ["/subscription/<subscriptionID>"
            ],
    	},
    	"permissions": [
            {
        	    "actions": [
                	"Microsoft.NetApp/locations/*",
                	"Microsoft.NetApp/netAppAccounts/read",
                	"Microsoft.NetApp/netAppAccounts/renewCredentials/action",
                    "Microsoft.NetApp/netAppAccounts/capacityPools/read",
                ]
            }]
    }
    
  4. [確認と更新] を選択します。

  5. Azure アカウントをサインアウトしてからもう一度サインインし、アクセス許可の効果でオプションが表示されることを確認します。

次のステップ