BlueXPを使ってcross-cloudでAzure Blob StorageとGoogle Cloud Storageの間でデータを同期してみた

前回、こちらの記事[「Microsoft Bingを試しながら、Google Cloud Platform上にNetApp Cloud SyncのData brokerを作ってみた」](https://qiita.com/heyanxia/private/2c3605d248f8f220fc1f)で、Google Cloud上にCloud SyncのData brokerを作成する方法を紹介しました。

今回は、そのData brokerを使用して、BlueXPのGUIからAzure Blob StorageとGoogle Cloud Storageの間でデータを転送する方法を試してみたいと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/f1485d48-9dd4-993c-b909-647d7f250634.png)

# 手順
1.Azure portalでの準備
2.Google Cloud PlatformにData brokerを作成
3.BlueXPのGUIから、データを同期・確認

# 1.Azure portalでの準備
`Subscriptions、Resource groups、Storage accounts、VNet`などをAzure portalから作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/98d8fe4b-60ba-8801-312f-f86023af3267.png)
* Subscription、Resoure group
Azure portalにログインすると、デフォルトの`Subscriptions`が自動的に作成されますが、新しい`Subscriptions`を作成しても構いません。適切な`Region`と`Subscription`を選択して、`Resource group`を作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/295dc28d-e8ff-ae1b-7134-2060c11ccc22.png)
* VNet
上記の`Subscription`と`Resource group`を選び、Regionを`Japan East`にして、他の設定はdefaultのままにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/8c7aacb7-6c7c-01c5-84ae-debc7b32b776.png)
* Storage account
上記の`Subscription`と`Resource group`を選び、ユニークな`Storage account name`を記入し、Resionを`Japan East`にします。`Advanced、Networking`などの設定は今回デモの為、defaultのままで行きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/22d5d63b-5977-4e42-f76f-80d9f0139bfe.png)
`Storage account name`と`Connection string`をメモして後程使います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/d2a16757-cefb-e794-6ec8-4fb3304211ce.png)
作成した`Storage account`に`container`を作って、デモ用のデータをアップロードします。今回デモのため、Containerを`Public access level`にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/80bb8e90-1d21-530e-da24-a411611ea23f.png)
以上は`Resource groupやVNet`などをAzure portalのGUIから作成しましたが、CLIから作成する方法はこちらの記事[「事前準備」](https://qiita.com/seijitanabe/items/0400f350f8bc0336ddd7#%E4%BA%8B%E5%89%8D%E6%BA%96%E5%82%99)をご参照できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/24a48f8a-8f7d-9014-63e5-d256c7aec6ab.png)

# 2.Google Consoleにより、必要な`IAM role`と`Service Account`を準備
* Cloud SyncのData brokerを作成
詳細な手順は[「Microsoft Bingを試して、Google Cloud Platform上にNetApp Cloud SyncのData brokerを作ってみた」](https://qiita.com/heyanxia/private/2c3605d248f8f220fc1f)を参照します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/5e34b800-8de0-29ee-148b-573f03aa889c.png)
* 事前にGoogle Cloud Storageにbucketを作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/6cb57a53-8073-f6f4-0007-d4faed54b0b5.png)

# 3.BlueXPのGUIから、データを同期・確認
* データを同期
BlueXPのGUIから、「Mobility -> Copy & Sync -> Manage Data Brokers」をクリックして、Data Brokerが`Active`になっていることを確認し、「Dashboard」タブをクリックして「Create New Sync」をクリックします。既に同期を行ったことがある場合は、これらの情報が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/ec6123b4-09d6-3c88-f182-06c01d46f58d.png)
`Azure Blob`と`Google Storage`をドラッグして、`Continue`を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/4f566f84-0cb4-28a9-654e-c6413037d627.png)
先程`1.Storage account`でメモした`Azure Storage name`と`Connection string`を入れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/0361ad0b-8056-190a-7029-238b07806ac0.png)
2.で作成したGoogle Cloud上のData brokerをクリックし、1.で作成したAzure上のstorage container`cloudsync`を選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/ee925ad7-10cf-7ccb-c79d-f8db16a196c9.png)
Google cloud上に事前作成したバケットを選択して`Continue`します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/7e1d3596-f2aa-fd19-13da-6ed08979f2ba.png)
スケジュールと`File and Directories`の詳細設定もできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/cb0ef75a-b5d1-64f4-159b-ab54f50c3abc.png)
確認して`Create Relationship`を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/bff89630-42fb-2c7c-0709-60cf5285f72c.png)
* 確認 
しばらく待つと、`Dashborad`からAzure blob storageにあるデータをGoogle Cloud Storageに転送したことを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/6e60caf1-b9ef-d6fe-d8a2-15a9bc2dc263.png)
Google Cloud Storageのバケットにアクセスして、デモデータが転送されたことが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/18bb5b3e-6761-9e93-1acc-575feb25100d.png)
逆方向でGoogle Cloud StorageからAzure blob storageに転送することもできました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/1b3bf4b0-7ee4-ab56-5598-69c450728c94.png)

# 注意事項
* 1.Azure BlobでサポートされているData brokerの場所
同期関係にAzure Blobストレージが含まれている場合、データブローカーは任意の場所に存在することができます。今回Data brokerはGoogle Cloud Platform上に作成しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/d0cc1efb-9bd1-f784-f557-ed026e9f1da0.png)
* 2.BlueXPのConnector
BlueXPのConnectorは必須ではありません。今回、BlueXPのConnectorを使用せずにCloud Syncを使用してデータを同期しましたが、Cloud Volumes ONTAPやon-premisesのONTAPクラスターなどの場合は、BlueXPのConnectorを作成する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/ba96971b-2d52-80fe-3a68-4b3802088f10.png)

# 最後に
Google Cloud Platform上にあるData brokerを使用して、Azure Blob StorageとGoogle Cloud Storageの間でデータを同期できることを確認しました。次回は、Azure Blob StorageとAmazon S3の間で同期を行ってみましょう。

# 参考リンク
1.[Microsoft Bingを試して、Google Cloud Platform上にNetApp Cloud SyncのData brokerを作ってみた](https://qiita.com/heyanxia/private/2c3605d248f8f220fc1f)
2.[Amazon Cloud上でWindowsファイルサーバーのデータをAmazon FSx for NetApp ONTAPに同期](https://qiita.com/heyanxia/items/9c62781fdc045a93b3b5)
3.[Amazon Cloud上にNetApp Cloud SyncのData Brokerを作成する二つの方法](https://qiita.com/heyanxia/items/c19d476bf4df60802e8f)
4.[Creating a new data broker in Google Cloud](https://docs.netapp.com/us-en/cloud-manager-sync/task-installing-gcp.html)
5.[Google Cloud Platform上にNetApp BlueXP Connectorを作成](https://qiita.com/heyanxia/items/2d98f4e58507ae223b65)
6.[Azure Blob storage requirements](https://docs.netapp.com/us-en/cloud-manager-sync/reference-requirements.html#azure-blob-storage-requirements)
7.[Quick start for Cloud Sync](https://docs.netapp.com/us-en/cloud-manager-sync/task-quick-start.html)
8.[Terraformを使って、一括でGoogle Cloud上にNetApp BlueXP ConnectorとCloud Volumes ONTAPを作成](https://qiita.com/heyanxia/items/374a9c86a8df6dc89ddb)