BlueXPを使って、Google Cloud上にNetApp Cloud Volumes ONTAPを作成してみた

# はじめに


前回の記事[「BlueXPを使って、Google Cloud上にNetApp Cloud Volumes Serviceを作成」](https://qiita.com/heyanxia/items/064666d77bd7e3d40146)では、Google Cloud上にフルマネ一ジドのNetApp Cloud Volumes Service (CVS) を作成しました。今回はセルフマネ一ジドのNetApp Cloud Volumes ONTAP (CVO) を作成してみたいと思います。

そもそもCVO、CVS、BlueXPとは何でしょうか?疑問をお持ちの方は、こちらの[Keyword](https://qiita.com/heyanxia/items/47772e6de946d9c87705#keyword)、またはこちらのドキュメント [Cloud Volumes ONTAP documentation](https://docs.netapp.com/us-en/cloud-manager-cloud-volumes-ontap/)、[Cloud Volumes Service for Google Cloud documentation](https://docs.netapp.com/us-en/cloud-manager-cloud-volumes-service-gcp/index.html)、[NetApp Cloud Volumes Service for AWS documentation](https://docs.netapp.com/us-en/cloud_volumes/aws/)から詳細を確認できます。また、是非[こちらの記事](https://qiita.com/heyanxia/items/064666d77bd7e3d40146#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB)でChatGPTが回答した内容もご覧ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/7c78118c-23a0-58e2-0314-923c74acc34e.png)

# 手順
1.Google Cloud上にCVOを作成する条件を確認・準備
2.BlueXPのGUIにより、CVOを作成
3.CVOにVolumeを追加・確認

# 1.Google Cloud上にCVOを作成する条件を確認・準備
こちらのガイド[「Quick start for Cloud Volumes ONTAP in Google Cloud」](https://docs.netapp.com/us-en/cloud-manager-cloud-volumes-ontap/task-getting-started-gcp.html)を参照して、詳細の条件を確認した上で、`BlueXP Connector ->CVO service account ->Enable API`の順番で準備します。
* BlueXP Connector
Google Cloud上にBlueXP Connectorを作成する方法はいくつかがります。こちらの記事[「Google Cloud Platform上にNetApp BlueXP Connectorを作成」](https://qiita.com/heyanxia/items/2d98f4e58507ae223b65)、また[「Terraformを使って、NetApp BlueXP ConnectorをGoogle Cloud Platformに作成」](https://qiita.com/heyanxia/items/6f5420beaf28b72ef108)を参照して、リージョンを確認して作成します。今回はBlueXP ConnectorとCVOを`Osaka`リージョンに作ります。`Tokyo`リージョンも同じ様に作成できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/b7099071-eace-b31f-925c-7698c0f7e0c5.png)
* CVOのservice accountを作成
CVOの[「Set up a service account」](https://docs.netapp.com/us-en/cloud-manager-cloud-volumes-ontap/task-getting-started-gcp.html)ガイドを参照して、Google Cloud Consoleから`IAM&Admin->Service Accounts->CREATE SERVICE ACCOUNT`にアクセスして下記のように`Storage admin`roleを選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/97946389-3f49-780c-e6ae-09f452582e00.png)
作成後、BlueXPのGUIから`service account`を選択できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/6854c1c3-71df-e34c-526a-7b177cf13f00.png)
* Enable Google Cloud APIs
こちらの記事[「1.Google Consoleにより、必要なIAM roleなどを準備」](https://qiita.com/heyanxia/items/2d98f4e58507ae223b65#1google-console%E3%81%AB%E3%82%88%E3%82%8A%E5%BF%85%E8%A6%81%E3%81%AAiam-role%E3%81%AA%E3%81%A9%E3%82%92%E6%BA%96%E5%82%99)の`Enable API`を参照して、下記の必要なAPIを`Enable`にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/21b29700-40a8-68a2-0a02-45b0d3d1da43.png)
# 2.BlueXPのGUIより、CVOを作成
BlueXPのGUIにログインして、Connecorが`Active`になっているのを確認して、Google Cloud Platformを選び、今回はデモのため`Single Node`にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/b31a301b-971d-9da9-2a29-6d9c6e1dcb09.png)
`Service Accouont Name`の方は先程作成したCVOのService Accouontを選択します。今回はCloud BackupとCloud Tieringをテストしないので、`Marketplace Subscription`を省略して次回ご紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/76b0bdd8-0076-96ae-cb65-b6a9ec15842e.png)
`Backup to Cloud`と`Data Sense & Compliance`を`Disable`にします。VPC、リージョンと`Firewall`を確認して設定します。このテストでは`default`VPCを使って、`asia-northeast2`(Connectorと同じOsakaリージョン)に作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/7c85cfee-d1dd-af78-fcd4-eca8ac65ba1a.png)
右上の`Change Configuration`をクリックして詳細の設定ができます。今回は`PoC and small workload Up to 500GB storage`を選びます。そのため、`n2-standard-4`CPUが必要となります。他の設定の詳細はマウスをホバーすると見られます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/6178696d-df3c-97d6-b486-9ced123ee5ed.png)
`Data Tiering`を`Disabled`にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/e17d55ba-348f-27cc-cb47-6b05125f3079.png)
今回はテストの為、`Custom export policy`を`0.0.0.0/0`に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/c36b0fe9-7ff3-bb9a-4432-ee5b4b7d1c56.png)
`Tiering`をテストせずに`No Storage Efficiency`にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/34c9081c-d843-b475-65da-98f3cb4f7700.png)
最後`Overview`と`Storage`などの情報を確認して`Go`を押します。注意：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/c160c15c-3d66-8750-64a8-201f48549495.png)
出来上がるまでに少し時間がかかる場合はがります。BlueXPのGUIから`SINGLE`の`Freemium`CVOが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/cbed7541-4b06-a7c3-766c-cec68c009b6f.png)
Google Cloud ConsoleからもVMとして表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/4b5d22cd-1e64-96b3-9b43-07d16b2757d7.png)
# 3.CV0にVolumeを追加・確認
* CVOにVloumeを追加
CVOをクリックして、`Add Volume->New volume`を選んでガイドに従って進めます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/262a6d03-c6c9-b46b-e792-6652895695d6.png)
先程CVOを作成するときに設定した`Export Policy`はここで変更することもできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/08855a48-70c8-de94-0e15-daf654a3379e.png)
`NFS Protocol`と`PD-SSD`の`Disk Type`で行きます。右の三角をクリックして、他の`Disk Type`も選べます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/e606a0f6-99c7-4ede-43aa-fe92f9196df4.png)
今回は`Storage Efficiency`を`Disabled`にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/5a4a43db-60ac-984d-591f-a9376741e4e1.png)
最後にレビューして`Add`します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/2731dd3e-d680-80b2-5e95-49c63d816579.png)
* Mount確認
BlueXPのGUIからボリュームにアクセスして`Mount Command`をコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/65c99a6c-f303-ec0d-ae25-e3f0a0553dd8.png)
Google ConsoleからSSHでBlueXPのConnectorにログインします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/cd6cdabd-944f-7de8-caa7-2372aad21f33.png)
`nfs-utils`がインストールされてない場合は、こちらの記事の[「mount確認」](https://qiita.com/heyanxia/items/d158feea4ec4886fd601#3osakaasia-northeast2%E3%81%ABcvstype%E3%81%AEvolume%E3%82%92%E8%BF%BD%E5%8A%A0%E7%A2%BA%E8%AA%8D)を参照し、` sudo yum install -y nfs-utils`を実行してインストールします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/71f005cf-4b69-c0f4-c075-4069c14ddee5.png)
`cvo-mount`ディレクトリを作成して、mountしてファイルを書き込むことができるのを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/dbc47354-a727-d342-fe8f-19a6dab87b10.png)

# 注意事項
1. SSD Quota
`QUOTA_EXCEEDED Target`、この様なエラー`limit of total regional capacity 500GB`になった場合は`default SSD`、特に初めてGoogle Cloudを利用する時は`500GB`になっているので足りないです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/ba3647e5-a0df-3593-620e-5740c1ec3efb.png)
`1024BG`にあげてテストすると、まだ`QUOTA_EXCEEDED Target... SSD_TOTAL_GB exceeded. Limit:1024`になって足りなかったので、今回は`2048GB`にしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/efa53373-be86-afb3-4fb7-3a2125f0d56a.png)
`IAM & Admin ->Quotas`に行って、下記の様にリージョンのQuotas(Osakaリージョンは既に増やしたのでこの例はTokyoリージョン)を選択し、`EDIT QUOTAS`をクリックして、`New Limit*`に`2048`にします。`SUBMIT REQUEST`すると、すぐ`Approved`と反映されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/2049b96f-0843-d7bc-d387-d87e83cfb26c.png)
実際作成できたCVOのSSDは`Compute Engine->Storage->Disks`から確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/1ec004d7-542b-f8c4-f91c-ce547d953177.png)
2. Network
こちらの`The Cloud Volumes ONTAP instance failed to luanch`エラーメッセージが出る場合があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/ea2dff5c-d7f9-1845-813a-6f3cf22b7d7d.png)
こちらの[Set up your networking](https://docs.netapp.com/us-en/cloud-manager-cloud-volumes-ontap/task-getting-started-gcp.html)を確認して、`VPC Network ->Firewall`に行って、`http`と`https`がなければ追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/0068e904-e5b6-f5a6-b184-d1241d78b7de.png)
3. CPU limit
`your regional quota reached the limit of totalregional cpus, 4 are needed`の様なエラーメッセージが出る場合はあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/f427e74e-ea93-9860-3b73-a10effb5f5e4.png)
`N2 CPUs`の`QUOTAS`はリージョンにより、制限があります。`asia-northeast1`(Tokyo)と`asia-northeast2`(Osaka)には最初8になっています。同じリージョンにBlueXPのConnector(4 N2 CPU)を作成後、N2 CPUsの制限にギリギリになります。上記のSSDのQUOTAを増やす方法と同じように、リクエストを出します。今回は`asia-northeast2`(Osaka)リージョンの`N2 CPUs`を`16`までリクエスを出して、Google Cloud Support Teamに`Approved`していただきました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/af3198b1-9aea-e5e1-7c4e-53a003a0c74f.png)
`asia-northeast1`(Tokyo)リージョンはまだ`Approved`になってないので、CVOを作成すると今回のエラーメッセージになります。リクエストを出して`Approved`になるまで数日がかかる場合もあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/d615f091-cf0f-6596-e201-bfd15e74fc02.png)
4. Marketplace Subscription
この様な注意メッセージが出てきます。`Note that you don’t have an GCP Marketplace subscription`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/de97736d-6712-9ce3-e8ed-64e2ddb06c79.png)
こちらの`Marketplace Subscription`をしてないのです。次回のCloud BackupとCloud Tieringなどの検証でご紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/25569add-1911-09f9-42dd-f8ce6ed1a8f4.png)

# 最後に
今回はBlueXPのGUIからGoogle Cloud上にNetApp Cloud Volumes ONTAP(CVO)を作ってみました。途中で特に初めてGoogle Cloudを使う場合は`QUOTA`の問題によく引っかかりました。その時、エラーメッセージ、注意事項と利用用途などを確認した上で、適当な`QUOTA`を増やすリクエストを出して解決できました。今回はBlueXPのGUI操作でCVOを作成しました。次回はこちらの記事[「Terraformを使って、NetApp BlueXP ConnectorをGoogle Cloud Platformに作成してみた」](https://qiita.com/heyanxia/items/6f5420beaf28b72ef108)を参照して、Terraformを使ってCVOまで一発で作成してみましょう！

# 参考リンク
1.[NetApp BlueXP: Create a Connector in Google Cloud from BlueXP](https://docs.netapp.com/us-en/cloud-manager-setup-admin/task-creating-connectors-gcp.html#quick-start)
2.[Google Cloud Platform:Creating a custom role](https://cloud.google.com/iam/docs/creating-custom-roles#creating_a_custom_role)
3.[Google Cloud Platform:Creating a service account](https://cloud.google.com/iam/docs/creating-managing-service-accounts#creating)
4.[BlueXP: Learn about Connectors](https://docs.netapp.com/us-en/cloud-manager-setup-admin/concept-connectors.html#when-a-connector-is-required)
5.[GCP region: Tokyo](https://cloud.google.com/compute/docs/regions-zones?hl=en)
6.[CVO: Supported configurations in Google Cloud](https://docs.netapp.com/us-en/cloud-volumes-ontap-relnotes/reference-configs-gcp.html#supported-configurations-by-license)
7.[Google Cloud Platform上にNetApp BlueXP Connectorを作成](https://qiita.com/heyanxia/items/2d98f4e58507ae223b65)
8.[Quick start for Cloud Volumes ONTAP in Google Cloud](https://docs.netapp.com/us-en/cloud-manager-cloud-volumes-ontap/task-getting-started-gcp.html)
9.[Terraformを使って、NetApp BlueXP ConnectorをGoogle Cloud Platformに作成してみた](https://qiita.com/heyanxia/items/6f5420beaf28b72ef108)
10.[BlueXPを使って、Google Cloud上にNetApp Cloud Volumes Serviceを作成してみた](https://qiita.com/heyanxia/items/064666d77bd7e3d40146)