Google Cloud上にNetApp Cloud Volumes ServiceのCVS Volumeを作ってみた


# はじめに
前回、こちらの記事[「BlueXPを使って、Google Cloud上にNetApp Cloud Volumes Serviceを作成してみた」](https://qiita.com/heyanxia/items/064666d77bd7e3d40146)でGoogle Cloud上にCloud Volumes Services(CVS)を作成して`asia-northest1(Tokyo)`リージョンに`CVS-Performance`TypeのVolumeを追加する手順をご紹介しました。`Osaka(asia-northeast2)`に`CVS`typeのVolumeを作成する手順が異なるので、この記事で作ってみたいと思います。

# Keyword
* Storage Pool
Storage Poolは、最大50個のボリュームのコンテナとして機能し、プール内のすべてのボリュームがそのプールの容量とパフォーマンスを共有し、CVS TypeのVolumeのパフォーマンスを向上させます。容量と性能を集約し、ボリュームはストレージプール内に作成され、そのプールの容量と性能を使用することができます。同じストレージプール内のすべてのボリュームは、プールのパフォーマンス能力を共有します。ボリュームは、そのプールのパフォーマンス能力をフルに使用できます。ボリューム同士のパフォーマンスの分離が必要な場合は、別のプールに作成する必要があります。

* Cloud Volumes Service Type
現在、CVS(`Osaka(asia-northeast2)`)とCVS-Performance(`asia-northest1(Tokyo)`)2つのサービスタイプが利用できます。ワークロードのニーズに合わせて、サービスタイプを選択します。

* CVS
Google Cloud コンソールからボリュームを作成するときにあらかじめ選択されているサービス タイプです。CVS サービス タイプは、軽～中程度のパフォーマンスを必要とする汎用の Linux および Windows ワークロード向けに設計されています。CVSサービスタイプは、より高い可用性を重視した2つのサービスレベル（標準のシングルゾーンとゾーン冗長化マルチゾーン）を提供します。ゾーン冗長化ボリュームは、複数のゾーンにまたがって複製された地域のGoogleリソースを使用することで、より高い可用性をサポートします。

* CVS-Performance
CVS-Performance サービスは、高いスループット、低いレイテンシー、またはその両方を必要とする、パフォーマンスに敏感な Linux および Windows ワークロード向けに設計されています。CVS-Performance サービスタイプは、パフォーマンスに重点を置いた 3 つのサービス レベルを提供します。サービスレベルを動的に調整してパフォーマンスをワークロードに合わせることができるため、アプリケーションのワークロードが必要とするパフォーマンスに合わせてコストを最適化することができます。

# 手順
1.Cloud Volumes Service(CVS)を事前に作成
2.VPC PeeringとStorage Poolを作成
3.`Osaka(asia-northeast2)`に`CVS`typeのVolumeを追加・確認
# 1.Cloud Volumes Service(CVS)を事前に作成
こちらの[Quickstart for Cloud Volumes Service](https://cloud.google.com/architecture/partners/netapp-cloud-volumes/quickstart?authuser=2)、また前回の記事[「Cloud Volumes Service(CVS)を作成」](https://qiita.com/heyanxia/items/064666d77bd7e3d40146#2cloud-volumes-servicecvs%E3%82%92%E4%BD%9C%E6%88%90)の詳細手順を参照してCVSを作成できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/d2288b1a-616d-7668-332e-5f6610c24ad5.png)
注意：[When a Connector is required](https://docs.netapp.com/us-en/cloud-manager-setup-admin/concept-connectors.html#when-a-connector-is-required)により、Cloud Vloumes Service for Google CloudにはBlueXP connectorが必須ではありません。後程作成したVolumeにMountするには、BlueXPのConnector以外のVMからも出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/5a2156a0-9d4f-9b6c-2e92-f87b313e46b6.png)
# 2.VPC PeeringとStorage Poolを作成
Tokyoリージョンの`CVS-Performance`とは異なり、OsakaリージョンのCVSには`Storage Pool`を作成する必要があります。`Cloud Volumes ->Storage Pools`にアクセスして、`CVS`がdefaultとして選択になり、RegionとZoneを確認し、テストの為`Pool Capacity`を`1024GiB`にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/7d2b8efc-1d6f-10d6-e2ed-4da4a774e716.png)
`VPC Peering`を設定されてない場合は下記の様になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/30fe3a81-34e0-5938-cb05-11d4bd05eecb.png)
提示をクリックして、手順に従ってコマンドをそのままにコピーして実行します。`create a VPC peering`は少し時間がかかる場合はあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/f301dbb7-cb0b-ed4e-9df0-dda560e811d4.png)
VPC peeringができたら、右の三角をクリックして一旦他のVPC(`default`など)にしてから、また戻って提示のメッセージが無くなり、`SAVE`して`Storage Pool`が`createing`になります。`available`になるまで数分かかる場合はあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/c0f938f8-e4db-698a-bfb1-3db46bb6415d.png)
待つ間に、同じVPCにSSHでログインするVMを立ち上げます。VPCとリージョン以外の設定はテストの為、defaultのままにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/bbc67f4d-3a4f-74c6-3b52-2a1943dcc425.png)
# 3.`Osaka(asia-northeast2)`に`CVS`typeのVolumeを追加・確認
* Volumeを追加
`Cloud Volumes->Volumes->CREATE`から、上記の作成した`Storage Pool`を選び、`Export Policy`にSSHでログインするClient IPにして`SAVE`します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/bf3e5bb8-4672-1cfc-3478-0a332278df58.png)
* mount確認
`Volume`から`Mount Instructions`をクリックして手順を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/7ff4744f-f196-dfcd-53ee-9877e651b12d.png)
SSHでVMに入って、上記の手順に従ってmountしてデータを書き込むことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/b943dd8b-236e-c54a-0f1e-990069ab14cb.png)
問題になった場合はこちらの[「注意事項＆ChatGPTを使ってDebug」](https://qiita.com/heyanxia/items/064666d77bd7e3d40146#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A0%85chatgpt%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6debug)を確認ください。

# 最後に
前回の続きに、今回はGoogle Cloud上に`Osaka(asia-northeast2)`リージョン`CVS`typeのVolumeを作成してみました。下記の図のように、`Tokyo`リージョンの`CVS-Performance`と異なるので、[Service types](https://cloud.google.com/architecture/partners/netapp-cloud-volumes/service-types)の詳細を確認しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/b8292fc2-6dce-961e-5f3e-b6eab53d2505.png)


# 参考リンク
1.[NetApp Cloud Volumes Service for Google Cloud documentation](https://cloud.google.com/architecture/partners/netapp-cloud-volumes?hl=en_US)
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.[Global Regions Maps: Cloud Volumes Service for Google Cloud](https://bluexp.netapp.com/cloud-volumes-global-regions#cvsGc)
6.[Google Cloud Platform上にNetApp BlueXP Connectorを作成](https://qiita.com/heyanxia/private/2d98f4e58507ae223b65)
7.[terraform 実行（Connector / CVO / NFS Volume 作成)](https://qiita.com/yoihoka/items/ad0166bcaca0e3964f60#3-terraform-%E5%AE%9F%E8%A1%8Cconnector--cvo--nfs-volume-%E4%BD%9C%E6%88%90)
8.[Creating and managing NFS volumes](https://cloud.google.com/architecture/partners/netapp-cloud-volumes/creating-nfs-volumes?authuser=2)
9.[CVSサービスタイプのストレージプールの作成](https://www.youtube.com/watch?v=qsjN9V_WCQA&list=PL2CVZPvKXD18m_2-ZTSCO54V5DoF10Y_R&index=8)