Azure NetApp Files ボリュームのネットワーク機能を構成する
ネットワーク機能を使用すると、Azure NetApp Files ボリュームに VNet 機能を使用するかどうかを指定できます。 この機能を使用して、[標準] または [基本] にオプションを設定できます。 この設定は、新しい NFS、SMB、またはデュアルプロトコル ボリュームを作成するときに指定できます。 既存のボリュームのネットワーク機能オプションを変更することもできます。 ネットワーク機能の詳細については、「Azure NetApp Files のネットワーク計画のガイドライン」を参照してください。
この記事では、オプションをわかりやすく説明し、ネットワーク機能を構成する方法を示します。
ネットワーク機能のオプション
ネットワーク機能には、次の 2 つの設定を使用できます。
Standard
この設定により、ボリュームの VNet 機能が有効になります。ネットワーク セキュリティグループ、ユーザー定義のルート、追加の接続パターンなど、より高い IP 制限または VNet 機能が必要な場合は、[ネットワーク機能] を [標準] に設定する必要があります。
Basic
この設定では、IP 制限が厳しくなり (<1000)、ボリュームの追加 VNet 機能はありません。VNet 機能が必要でない場合は、[ネットワーク機能] を [Basic] に設定します。
考慮事項
設定するネットワーク機能のオプション ([Standard] または [Basic]) に関係なく、Azure VNet で Azure NetApp ファイルに委任されるサブネットは 1 つだけです。 「サブネットを Azure NetApp Files に委任する」を参照してください。
- 標準ボリューム機能がリージョンでサポートされている場合、[ボリュームの作成] ページの [ネットワーク機能] フィールドの既定値は [標準] です。 この設定は、[基本] に変更できます。
- Standard ボリューム機能がリージョンで使用可能でない場合、[ボリュームの作成] ページの [ネットワーク機能] フィールドの既定値は [Basic] となり、設定を変更することはできません。
目的の種類のネットワーク機能と互換性のあるストレージを見つける機能は、指定された VNet によって異なります。 リソースが不足しているためにボリュームを作成できない場合は、互換性のあるストレージが使用可能な別の VNet を試すことができます。
Basic ボリューム スナップショットからは Basic ボリュームを作成し、Standard ボリューム スナップショットからは Standard ボリュームを作成することができます。 Standard ボリューム スナップショットからの Basic ボリュームの作成はサポートされていません。 Basic ボリューム スナップショットからの Standard ボリュームの作成はサポートされていません。
バックアップを新しいボリュームに復元する場合は、Basic または Standard ネットワーク機能を使用して新しいボリュームを構成できます。
既存のボリュームのネットワーク機能オプションを Basic から Standard ネットワーク機能に変更すると、UDR または NSG の実装によって Basic ネットワーク ボリュームから DNS とドメイン コントローラーへの接続が妨げられる場合、既存の Basic ネットワーク ボリュームへのアクセスが失われる場合があります。 また、すべてのボリュームが DNS およびドメイン コントローラーと通信できない場合、Active Directory コネクタのサイト名などの情報を更新できなくなるおそれがあります。 UDR と NSG のガイダンスについては、「Azure NetApp Files ボリュームのネットワーク機能を構成する」を参照してください。
Note
DP ボリュームのネットワーク機能は、ソース ボリュームを Basic から Standard へネットワーク機能に変更しても影響を受けません。
ボリュームの作成時にネットワーク機能オプションを設定する
このセクションでは、新しいボリュームを作成するときにネットワーク機能オプションを設定する方法について説明します。
新しい NFS、SMB、またはデュアルプロトコル ボリュームを作成するプロセスでは、[ボリュームの作成] 画面の [基本] タブで [ネットワーク機能] オプションを [基本] または [標準] に設定できます。
次のスクリーンショットは、標準ネットワーク機能をサポートするリージョンのボリューム作成例を示しています。
次のスクリーンショットは、標準ネットワーク機能をサポートしないリージョンのボリューム作成例を示しています。
ボリュームの作成プロセスを完了する前に、[ボリュームの作成] 画面の [確認と作成] タブに、指定したネットワーク機能の設定を表示できます。 [作成] を選んでボリュームの作成を完了します。
[ボリューム] を選ぶと、各ボリュームのネットワーク機能の設定を表示できます。
既存のボリュームのネットワーク機能オプションを編集する
既存のボリュームのネットワーク機能オプションを、Basic から Standard のネットワーク機能に編集できます。 変更は、同じ "ネットワークの兄弟セット" (または "兄弟") 内のすべてのボリュームに適用されます。 兄弟は、ネットワーク IP アドレスの関係によって決定されます。 クライアントにボリュームをマウントしたり、ボリュームのリモート共有に接続したりするために、同じネットワーク インターフェイス カード (NIC) が共有されます。 ボリュームの作成時に、可能な限り IP アドレスを再利用することを目的とした配置アルゴリズムによって、その兄弟が決定されます。
重要
リスクがあるため、Terraform マネージド ボリュームでネットワーク機能の編集オプションを使うことはお勧めしません。 Terraform マネージド ボリュームを使う場合は、別の手順に従う必要があります。 詳細については、「Terraform で管理される Azure NetApp Files ボリュームを Basic から Standard に更新する」を参照してください。
ネットワーク機能を編集するときの考慮事項
- 拡張機能 1 プレビューに登録している場合は、SAP HANA のアプリケーション ボリューム グループに対してのみ、ネットワーク機能の編集オプションを使用する必要があります。この拡張機能では、Standard ネットワーク機能のサポートが追加されます。
ANFStdToBasicNetworkFeaturesRevert
とANFBasicToStdNetworkFeaturesUpgrade
の両方の AFEC を有効にし、1 または 2-TiB の容量プール使っている場合は、容量プールのサイズ設定の詳細については、「容量プールまたはボリュームをサイズ変更する」を参照してください。- Azure NetApp Files では、Standard ネットワーク機能への中断のないアップグレードと、Basic ネットワーク機能に戻す操作がサポートされています。 この操作には少なくとも 25 分かかると予想されます。 ネットワーク機能の編集操作の進行中は、通常の保護ボリューム、データ保護ボリューム、またはアプリケーション ボリューム グループを作成することはできません。 この機能は現在、オーストラリア東部、インド中部、東アジア、米国中北部、スイス北部の各リージョンでプレビュー段階です。 その他のすべてのリージョンでは、ネットワーク機能を更新すると、ボリュームのネットワーク中断が最大 5 分間発生する可能性があります。
Note
機能にアクセスするための順番待ちリクエストを、Azure NetApp Files Standard ネットワーク機能 (ボリューム編集) リクエスト フォームから送信する必要があります。 この機能は、順番待ちリクエストを送信した後、有効になるまでに約 1 週間かかる場合があります。 次のコマンドを使用して、機能の登録状態を確認できます。
Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFBasicToStdNetworkFeaturesUpgrade
FeatureName ProviderName RegistrationState
----------- ------------ -----------------
ANFBasicToStdNetworkFeaturesUpgrade Microsoft.NetApp Registered
Note
また、オプションを Standard から Basic のネットワーク機能に戻すこともできます。 この元に戻す操作を実行する前に、Azure NetApp Files Standard ネットワーク機能 (ボリューム編集) 要求フォームから順番待ち要求を送信する必要があります。 この元に戻す機能は、順番待ちリクエストを送信した後、有効になるまでに約 1 週間かかる場合があります。 次のコマンドを使って、登録の状態を調べることができます。
Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFStdToBasicNetworkFeaturesRevert
FeatureName ProviderName RegistrationState
----------- ------------ -----------------
ANFStdToBasicNetworkFeaturesRevert Microsoft.NetApp Registered
元に戻す場合は考慮事項が適用されるため、慎重な計画が必要です。 Standard および Basic ネットワーク機能に関する制約とサポートされているネットワーク トポロジについては、「Azure NetApp Files のネットワーク計画のガイドライン」を参照してください。
ネットワーク機能の編集
ネットワーク機能オプションを変更するボリュームに移動します。
[ネットワーク機能の変更] を選択します。
[ネットワーク機能の編集] ウィンドウに、同じネットワークの兄弟セット内にあるボリュームが表示されます。 ネットワーク機能オプションを変更するかどうかを確定します。
Terraform で管理される Azure NetApp Files ボリュームを Basic から Standard に更新する
Terraform を使って Azure NetApp Files ボリュームを管理している場合、ネットワーク機能を編集するには追加の手順が必要です。 Terraform マネージド Azure リソースの状態は、Terraform モジュールまたは Terraform Cloud 内にあるローカル ファイルに格納されます。
ボリュームのネットワーク機能を更新すると、そのボリュームで利用される NIC の基となるネットワーク兄弟セットが変更されます。 この NIC は、自分が所有する他のボリュームから利用できます。また、他の NIC は同じネットワーク兄弟セットを共有できます。 正しく実行しなかった場合、1 つの Terraform マネージド ボリュームのネットワーク機能を更新すると、他の複数のボリュームのネットワーク機能が正しく更新されない可能性があります。
重要
状態データとリモート Azure リソース構成 (特に、network_features
引数) 間が不連続になると、terraform apply
の実行時に 1 つ以上のボリュームが破損し、場合によってはデータ損失が発生する可能性があります。 ここで説明されている回避策に慎重に従って、Terraform マネージド ボリュームのネットワーク機能を Basic から Standard に安全に更新してください。
Note
通常、Terraform モジュールは、ディレクトリ内のすべての最上位の *.tf
、*.tf.json
構成ファイル、またはその両方のみで構成されますが、Terraform モジュールからモジュール呼び出しを使って、他のモジュールを構成に明示的に含めることができます。 可能なモジュール構造の詳細についてはこちらを参照してください。 Azure NetApp Files ボリュームを参照するモジュール内のすべての構成ファイルを更新するには、モジュールから構成ファイルを参照できるすべてのソースを確認します。
Terraform モジュール内の状態ファイルの名前は terraform.tfstate
です。 これには、モジュール内のすべてのデプロイ済みリソースの引数とその値が含まれます。 以下では、terraform.tfstate
サンプル ファイル内の Azure NetApp Files ボリュームの値が "Basic" である network_features
引数を強調表示しています。
terraform.tfstate
ファイルは手動で更新 "しないでください"。 同様に、ここで説明した手順を実行するまでは、*.tf
および *.tf.json
構成ファイル内の network_features
引数を更新しないでください。そうすると、リモート ボリュームとそのリモート ボリュームを表すローカル構成ファイルの引数が一致しなくなります。 リモート リソースの引数とそれらのリモート リソースを表すローカル構成ファイルの不一致が Terraform で検出されると、Terraform によってリモート リソースが破棄され、ローカル構成ファイルの引数を使ってそれらが再プロビジョニングされる可能性があります。 その結果、ボリューム内のデータが失われる可能性があります。
ここで説明する手順に従うと、リモート ボリュームを破棄することなく、terraform.tfstate
ファイル内の network_features
引数が Terraform によって自動更新され、値は "Standard" に設定され、ネットワーク機能が正常に Standard に更新されたことが示されます。
Note
常に最新の Terraform バージョンと、最新バージョンの azurerm
Terraform モジュールを使うことをお勧めします。
影響を受けるボリュームを特定する
Azure NetApp Files ボリュームのネットワーク機能を変更すると、他の Azure NetApp Files ボリュームのネットワーク機能に影響する可能性があります。 同じネットワーク兄弟セット内のボリュームは、同じネットワーク機能設定にする必要があります。 そのため、1 つのボリュームのネットワーク機能を変更する前に、Azure portal を使って、変更の影響を受けるすべてのボリュームを特定する必要があります。
- Azure Portal にログインします。
- ネットワーク機能オプションを変更するボリュームに移動します。
- [ネットワーク機能の変更] を選びます。 "[保存] を選択しないでください。"
- 影響を受けるボリュームのパスをメモし、[キャンセル] を選びます。
これらのボリュームを定義するすべての Terraform 構成ファイルを更新する必要があります。つまり、これらのボリュームを定義する Terraform 構成ファイルを見つける必要があります。 影響を受けるボリュームを表す構成ファイルは、同じ Terraform モジュール内にあるとは限りません。
重要
Terraform によって管理されていることがわかっている 1 つのボリュームを除き、影響を受ける追加のボリュームは Terraform によって管理されていない可能性があります。 追加のボリュームが同じネットワーク兄弟セット内にあると一覧表示されているとしても、その追加ボリュームが Terraform によって管理されていることを意味するものではありません。
影響を受けるボリュームの構成ファイルを変更する
検出した Terraform によって管理されている、影響を受ける各ボリュームの構成ファイルを変更する必要があります。 構成ファイルの更新に失敗すると、ボリュームが破棄されたり、データが失われる可能性があります。
重要
Terraform 構成ファイル内のボリュームのライフサイクル構成ブロック設定によっては、terraform apply
の実行時にデータが失われる可能性を含め、ボリュームが破棄される可能性があります。 影響を受けるボリュームのうち、Terraform によって管理されるものとされないものを確認する必要があります。
影響を受ける Terraform マネージド ボリューム構成ファイルを見つけます。
ボリュームの
lifecycle
構成ブロックにignore_changes = [network_features]
を追加します。lifecycle
ブロックがそのボリューム’構成に存在しない場合は、追加します。影響を受ける Terraform マネージド ボリュームごとに繰り返します。
ignore_changes
機能は、リソースの作成後にデータに対するリソースの参照が変更される可能性がある場合に使うためのものです。 ignore_changes
機能を lifecycle
ブロックに追加すると、Terraform が次回の terraform apply
の実行時にボリュームのこの引数を修正することなく、Azure portal でボリュームのネットワーク機能を変更できるようになります。 ignore_changes
機能の詳細については、こちらを参照してください。
ボリュームのネットワーク機能を更新する
Azure portal で、ネットワーク機能を変更する Azure NetApp Files ボリュームに移動します。
[ネットワーク機能の変更] を選びます。
[アクション] フィールドに [Change to Standard] (Standard に変更する) と表示されていることを確認します。
[保存] を選択します。
ネットワーク機能の更新が完了したという通知を受け取るまで待ちます。 [通知] には、"ネットワーク機能が正常に更新されました。 ネットワーク兄弟セットのネットワーク機能が正常に 'Standard' に更新されました" というメッセージが表示されます。
ターミナルで
terraform plan
を実行して、変更がないか確認します。 出力には、インフラストラクチャが構成と一致していることと、"変更はありません。 インフラストラクチャは構成と一致します" というメッセージが表示されます。重要
安全対策として、
terraform apply
を実行する前にterraform plan
を実行してください。 コマンドterraform plan
を使うと、リモート リソースへの変更を含む "プラン" ファイルを作成できます。 このプランでは、terraform apply
を実行することで影響を受けるボリュームが破棄されるかどうかがわかります。terraform apply
を実行して、terraform.tfstate
ファイルを更新します。影響を受けるボリュームを含むすべてのモジュールに対してこの手順を繰り返します。
terraform.tfstate
ファイル内のnetwork_features
引数の値が "Basic" から "Standard" に変わったという変化を観察します。
Terraform マネージド Azure NetApp Files ボリュームの構成ファイルを更新して、構成のパリティを確保します。
ボリュームのネットワーク機能を更新したら、影響を受ける Terraform マネージド ボリュームのすべての構成ファイルの network_features
引数と lifecycle blocks
も変更する必要があります。 この更新により、ボリュームを再作成または更新する必要がある場合でも、Standard ネットワーク機能の設定が維持されます。
構成ファイルで、
network_features
を "Standard" に設定し、lifecycle
ブロックからignore_changes = [network_features]
行を削除します。影響を受ける Terraform マネージド ボリュームごとに繰り返します。
terraform plan
を実行して、更新された構成ファイルがリモート リソースの構成を正確に表していることを確認します。 出力に "変更なし" と表示されることを確認します。terraform apply
を実行して更新を完了します。