Azure NetApp FIlesでボリュームを作成し、Azure VMからNFSマウントする

AzureVMから共有ボリュームをNFSマウントしたくてNetApp Filesを試しました。
執筆時点は東西日本リージョンでは使えません。

公式マニュアル通りでいけますが戸惑った箇所などを書いていきます。
[Azure NetApp Files を設定し、NFS ボリュームを作成する](https://docs.microsoft.com/ja-jp/azure/azure-netapp-files/azure-netapp-files-quickstart-set-up-account-create-volumes?tabs=azure-portal)

# 順番待ちリクエストを送信する
* 送信リクエストページが用意されているので内容入力して送信します。
[順番待ちリクエスト](https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR8cq17Xv9yVBtRCSlcD_gdVUNUpUWEpLNERIM1NOVzA5MzczQ0dQR1ZTSS4u)

* 翌営業日にメールでサブスクリプションID教えてという内容の連絡がくるので、サブスクリプションIDをメールで返信します。その後、2～3日で使えるようになってました。使えるようになったよ！というメールは来なかったので注意が必要です。

# NetApp リソース プロバイダーを登録する
* Cloud Shell(CLI)を起動します。

* サブスクリプションにNetApp Filesが登録されているか確認します。grepできればOKです。

```
# az feature list | grep NetApp
~~
    "id": "/subscriptions/[Subscription Id]/providers/Microsoft.Features/providers/Microsoft.NetApp/features/ANFGA",
    "name": "Microsoft.NetApp/ANFGA",
~~

```

* リソースプロバイダに登録されているか確認します。この時点ではNotRegisteredでよいです。

```
# az provider show --namespace Microsoft.NetApp | jq .registrationState
"NotRegistered"
```

* NetApp Filesを有効化します。 

```
# az provider register --namespace Microsoft.NetApp --wait
```

* 再度リソースプロバイダに登録されているか確認します。RegisteredになっていればOKです。

```
# az provider show --namespace Microsoft.NetApp | jq .registrationState
"Registered"
```

# Azure NetApp Files作成

* Azureポータルで[リソースの作成]を選択します。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/80217769-e45b-41ba-40d7-d61d4f8ba606.png)

* 検索バーに[Azure NetApp Files]と入力し選択します。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/bed66780-48e0-9ab5-8e28-8649e98f71e4.png)

* [作成]ボタンを選択します。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/1fb28028-9eb8-5fc9-68a0-fb8072beee1a.png)

* 任意のNetAppアカウント名を入力して作成します。1分くらいで作成完了します。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/262f7438-face-e22c-399c-fecd47844aed.png)

# 容量プール作成

* 作成されたNetApp Filesから、[容量プール]を選択します。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/427b2cd3-4beb-c310-3ba8-a0c83e67d51b.png)

* [プールの追加]を選択します。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/46a7c8bf-5442-aead-ae47-ec3de9389f7c.png)

* 任意の容量プール名とサービスレベルを選択します。サイズは最小4TBです。最小にしては大容量です。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/79400cd2-53bc-0245-5b4c-16454e81e95d.png)

* 作成すると以下のエラーが出ました。メッセージ的に[標準]という日本語がダメっぽいですね。ポータルの言語をEnglishにすると問題なく作成できます。このあたりは日本リージョンにきたときに解決するかな。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/687147fa-ee1d-81f4-fd40-79015fa4251f.png)

* ポータルの言語を変えて作成します。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/6d97f336-6164-815e-70a0-20053598ef66.png)

* 1分くらいで作成完了します。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/f788472a-5f31-f5de-aa77-b52863aa3261.png)

# サブネットの委任

* vNet内に新規サブネットを追加します。このとき既にVMが起動しているサブネットを指定するとエラーになるので新規に作成しました。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/9d9cb511-b75f-6d0d-4113-8fa2cb1e7280.png)

* よくあるのがvNetを/24で作って、サブネットも/24で作っているパターンだと思います。この場合vNetを/23に拡張することでサブネットの追加ができるので参考まで。

# NFSボリューム作成

* ポータルのNetApp Filesに戻って[Volumes]を選択します。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/764c9bd5-cea3-88c3-19b9-fe96b132e0a3.png)

* [Add Volume]を選択します。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/5b0a4bf1-37b4-ed81-be23-3b8243c0900d.png)

* 作成したpool内にVolumeを作ります。Volumeの最低容量は100GBです。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/44057049-0461-6a31-c5c9-6366f2dc08ad.png)

* NFSで作ります。100GBボリュームで5分くらいで作成完了しました。  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180335/cfd7502f-26f7-1121-be29-af2b21cd82af.png)

# NFSマウント

* 作成したボリュームから[Mount instructions]を選択するとNFSマウント手順が表示されるのでその通り実施するとNFSマウントできます。

# まとめ

AzureVMからNFSマウントしたいときの選択肢ができました。最初からvNet内を前提としているのはいいなと思います。
最低利用容量が4TBなので、ある程度大きな容量が必要な場合によさそうですね。