Google Cloud Platform上にNetApp BlueXP Connectorを作成してみた

# はじめに
NetApp BlueXPとはオンプレミス及びハイブリッド・マルチクラウド環境におけるストレージとデータサービスにおいて、シンプルなハイブリッドマルチクラウドを統合管理・運用する為のコントロールプレーンサービスです。こちらの[「ドキュメント」](https://docs.netapp.com/us-en/cloud-manager-setup-admin/concept-connectors.html)により、多くの場合はBlueXPを使ってオンプレミスやクラウドを管理する為、Connectorが必要となります。Connectorは、BlueXPの日々の使用にとって重要なコンポーネントです。これにより、BlueXPはパブリッククラウド環境内のリソースとプロセスを管理することができます。例えば、NetApp Cloud Volumes ONTAP(CVO)と言うストレージサービスをAzure、AmazonやGoogleなどのCloud上で利用する時に、まずConnectorを作成します。

こちらの記事[「[小ネタ]BlueXPのオンプレミスコネクターを使ってみる」](https://qiita.com/yshimizu22/items/1cb2eca62a90d717fbac)と[「BlueXPのConnecorをAmazon Cloudに作成」](https://qiita.com/heyanxia/items/d1a72eec868ed8f57386#1bluexp%E3%81%AEconnecor%E3%81%A8cvo%E3%82%92amazon-cloud%E3%81%AB%E4%BD%9C%E6%88%90)にはBlueXP Connectorをオンプレミス、AWSに作成する手順を載せています。今回の記事ではGoogle Cloud上にBlueXP Connectorを作ってみたいと思います。

# 手順
1.Google Consoleにより、必要なIAM roleなどを準備
2.BlueXPのGUIにより、connectorを作成

# 1.Google Consoleにより、必要なIAM roleなどを準備
[「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)の手順を参照し、`Create Project->IAM Role->Create Service accounts->Enable API`の順番で行きます。
* Create Project
Google Consoleにログインして、`Select project->NEW PROJECT`をクリックしてprojectを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/077df440-c2fe-c90f-efd0-ce483f71d90d.png)
* IAM Role
BlueXPのGUIに表示されている`BlueXP Connector-Google Cloud`の手順、またこちらのドキュメント[「 Creating and managing custom roles」](https://cloud.google.com/iam/docs/creating-custom-roles#iam-custom-roles-create-console)も参照できます。
上記のドキュメントにより、まず`Enable the IAM API`が必要となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/af80ed38-82fb-9581-18ad-11afda2ea048.png)
これからの手順は下記の図ようにBlueXPのガイドを参照します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/1ad72c56-111f-4ed8-67f1-47fecc44120a.png)
上記のYAMLをコピーして、Google Cloud CLIにより、`NetAppBlueXPConnectorRole.yaml`を作って、`gcloud iam roles create Your_NetAppBlueXPServiceAccountRole --project=Your_mybluexpconnector1 --file=/home/YourDirectory/NetappServiceAccountRole.yaml`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/5dcda07f-67e4-3241-4d92-85ac4f493a87.png)
* Create Service accounts
同じように、`BlueXP Connector's Service Account`のYAMLをコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/f0b93924-b55b-0eeb-b989-49d50776beb3.png)
1. Service Roleを作成：`gcloud iam roles create YourNetAppBlueXPServiceRole --project=<your project-id> --file=<yaml-file-path>`
2. Service Accountを作成： `gcloud iam service-accounts create cloud-manager-service-account --description="BlueXP Connector Service Account" --display-name="BlueXP Connector Service Account"`
2. 上記のService RoleとService Accountを作成したprojectに`binding`します。`gcloud projects add-iam-policy-binding YourProjectID --member="serviceAccount:cloud-manager-service-account@YourProjectId.iam.gserviceaccount.com" --role="projects/YourProjectID/roles/YourNetAppBlueXPServiceRole"` 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/a15c441b-cb03-d8b1-b880-e763cb73e9ef.png)
上記の作成がうまくできたら、`IAM&Admin ->Roles`から確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/e485c99c-9dba-bf33-f8af-c67f3d4745a4.png)
* Enable API
[Enable Google Cloud APIs](https://docs.netapp.com/us-en/cloud-manager-setup-admin/task-creating-connectors-gcp.html#enable-google-cloud-apis)に書かれているAPIを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/ea13fe7f-f1ff-41a3-f90c-233106be3c82.png)
Google Consoleから検索してEnableします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/3ed26301-0153-8aeb-e315-baadfa291f7a.png)
ここまではGoogle Consoleからの準備は完了です。

# 2.BlueXPのGUIにより、connectorを作成
* 作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/d688a571-d4b2-88e0-89e7-3cafc3340dd0.png)
[「Google Cloud document:Regions and zones」](https://cloud.google.com/compute/docs/regions-zones?hl=en)より、`Tokyo`は`asia-northest1`なので、`asia-northest1-a`を選び、今回はデモの為、`default`VPCを使います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/f026e576-ee6d-2a2f-5f82-51352090f356.png)
情報をレビューして`Add`します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/f80999f7-4faf-78d3-0b2a-c66435ef8634.png)
暫く待つと、BlueXPのGUIに`Active`と表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/59692c34-f5d8-2193-0573-2165bb6374fa.png)
* 確認
Google Console -> Compute EngineからBlueXP Connector instanceを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/06a06603-2512-d533-0de9-a63a3be197bd.png)
更にConnectorを確認する為、BlueXPのGUIからGoogle CloudにNetApp Cloud SyncのDataBrokerを作りました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/e4e98cf0-76b0-edf5-75a6-16567a5aeeb9.png)
また、NetApp Cloud Volumes Service for Google Cloud(CVS)をBlueXPのGUIからデプロイができることも確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/a2800313-a024-4ff4-6dc8-1062cb4d9d05.png)
Google Cloud上のCVSやCloud Syncなどの詳細な手順はまた別の記事でご紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/85ee6f3d-03cd-82eb-8e12-7cf7298d4d08.png)

# まとめ
オンプレミス、Amazon Cloudなどの他に、Google Cloud Platform上にNetApp BlueXP Connectorを作成することができました。BlueXPを使ってクラウドサービスを利用する場合は、Connectorが必要となるかどうか、こちらの[ガイド](https://docs.netapp.com/us-en/cloud-manager-setup-admin/concept-connectors.html#when-a-connector-is-required)より確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/fab99a15-ff82-e0e8-accf-097d1a758ce1.png)

# 参考リンク
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.[Google Cloud Document: Regions and zones](https://cloud.google.com/compute/docs/regions-zones?hl=en)
6.[How to Deploy Cloud Volumes ONTAP Using NetApp Cloud Manager Terraform Provider](https://bluexp.netapp.com/blog/cvo-blg-setting-up-cloud-volumes-ontap-with-the-terraform-provider)
7.[When a Connector is required](https://docs.netapp.com/us-en/cloud-manager-setup-admin/concept-connectors.html)
8.[Creating a new data broker in Google Cloud](https://docs.netapp.com/us-en/cloud-manager-sync/task-installing-gcp.html)