Amazon Cloud上にNetApp Cloud SyncのData Brokerを作成する二つの方法を検証してみた

# はじめに
* NetApp Cloud Syncとは？
ハイブリッド・マルチクラウド環境でデータを同期するサービスです。NFSまたはCIFSファイル共有、Object Storage(Amazon S3 Object、Azure Blob、Google Cloud Storage、IBM Cloud Object Storage、NetApp StorageGRID)、Box、AWS EFS(Elastic File System)、Cloud Volumes ONTAP、Azure NetApp Files、FSx for NetApp ONTAPなど異なるフォーマットのファイルサーバーの間でデータを転送できます。
簡単に言うとこちらのイメージです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/88074fe8-872c-e108-2acc-173fb54c08be.png)
NetApp Cloud Syncを利用する為、Data Brokerを作成する必要があります。この記事ではAWS Access KeyとAWS CloudFormationによりData Brokerを作成する手順をご紹介します。

# Keyword
* AWS Access Key
AWSアクセスキーとは、S3やEC2といったAWSの各サービスに対してプログラムにおけるアクセスを認証する為作成される認証キーです。AWSアクセスキーはアクセスキーIDとシークレットアクセスキーで出来ます。

* AWS CloudFormation
AWSリソースの管理・セットアップに役立つサービスです。使用するすべての AWSリソース(例えば EC2やS3など)を記述するテンプレートを作成すれば、CloudFormation がこれらのリソースのプロビジョニングや設定することができます。

# 手順
1.AWS Access KeyによりData Brokerを作成
2.AWS CloudFormationによりData Brokerを作成

# 1.AWS Access KeyによりData Brokerを作成
* AWS ConsoleでAWS Access Keyを準備
こちらの記事[「Cloud SyncのData Brokerを作成」](https://qiita.com/heyanxia/items/bbad38b3d41c195d3df2#4cloud-sync%E3%81%AEdata-broker%E3%82%92%E4%BD%9C%E6%88%90)も参考になります。必要なPermissionsを確認した上でCloud Sync ドキュメントに従って、[「NetApp-provided policy」](https://docs.netapp.com/us-en/cloud-manager-sync/task-installing-aws.html#networking-requirements)と[「The permissions defined in this JSON file」](https://docs.netapp.com/us-en/cloud-manager-sync/task-installing-aws.html#networking-requirements)をコピーしてPolicyを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/b15d369a-1d53-577a-cd45-386fc6e23a8d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/29d4cbf1-f9bc-010d-8a0a-689283f467db.png)
上記の二つPolicyを追加してuserを作成します。AWS Access Keyを利用する為、`Access key-Programmatic access`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/624a545c-855d-f66f-eb0c-b6493aabbe32.png)
`Attach existing policies directly`を選び、先程作成した二つPolicyを`Filter policies`で追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/f68e47c1-c6af-0ca8-9941-dc1b750313c3.png)
最後、レビューして`Create user`します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/8722ed28-ba00-0c22-9cb2-69356b1ba0b5.png)
忘れない様にAWS Access KeyをDownloadして保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/27c0ac12-8b24-0b58-b15c-6b7056d7c0e8.png)
* Cloud Manager GUIによりデプロイ
上記のAWS Access Keyを入力し、Region、VPCとKey Pairを正しく選択してデプロイします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/c1c9f5c4-6ee5-d25f-29ff-c2c5487f9130.png)
少し待つと、デプロイが完了して`Active`として表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/2e1dc83f-c6e7-91a9-5296-42cd5c51d864.png)
EC2の方にもInstanceが`running`になっているのを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/80cb2aa1-4316-59ba-5032-da4cdca4657f.png)
ここまではAWS Access KeyによりData Brokerをデプロイできました。

# 2.AWS CloudFormationによりData Brokerを作成
Cloud Manager GUIに従い、AWS Access Keyの代わりに`use a CloudFormation template instead`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/1ff22df1-f68a-d72a-1a4c-a45f846baf51.png)
AWS Consoleに遷移してCloudFormation templateが自動にロードされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/ab7f50f4-8e2e-dead-023c-99dc5a521f54.png)
[Cloud Sync ドキュメント](https://docs.netapp.com/us-en/cloud-manager-sync/task-installing-aws.html#creating-the-data-broker)にあるビデオを参考し、VPC、subnetとKeyPairを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/c1209604-eae2-5bf6-8855-2fa8d23bcced.png)
最後、確認した上でチェックを入れてSubmitします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/d7b5467c-d016-5a73-d687-78be5529db0b.png)
暫く時間が経つと、CloudFormation StacksのStatusが`CREATE_COMPLETE`になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/09e34c58-2aea-f829-7e74-fa6ed73cb56e.png)
EC2の方にもInstanceが`running`になっているのを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/2f209c07-14ee-4e88-72a5-3add07226f93.png)
Cloud Managerに戻ってData Brokerのデプロイが完了し、`Active`として表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/565f2364-7deb-8d38-7a90-68c41bb6b9dc.png)
ここまではCloudFormationによりData Brokerをデプロイできました。

# まとめ
今回はNetApp Cloud Sync の[ドキュメント](https://docs.netapp.com/us-en/cloud-manager-sync/task-installing-aws.html)を参照してAmazon Cloud上にNetApp Cloud SyncのData Brokerを作成する二つの方法を検証しました。どちらでも簡単にCloud SyncのData brokerを作成すことができました。Cloud Syncを使って、ファイルサーバーにあるデータのプロトコルを意識せずにNetApp Cloud Volumes ONTAP(CVO)やAmazonのFSx for NetApp ONTAP(FSxN)などに同期することができます。

# 参考リンク
1.[Cloud Sync](https://cloud.netapp.com/ja/cloud-sync-service)
2.[AWS CloudFormation とは](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/Welcome.html)
3.[IAM ユーザーのアクセスキーの管理](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_access-keys.html)
4.Cloud Sync: [Creating a new data broker in AWS](https://docs.netapp.com/us-en/cloud-manager-sync/task-installing-aws.html)
5.Cloud Manager: [Create a Connector in AWS from Cloud Manager](https://docs.netapp.com/us-en/cloud-manager-setup-admin/task-creating-connectors-aws.html)
6.[Amazon Cloud上でWindowsファイルサーバーのデータをNetApp Cloud Volumes ONTAPに同期してみた](https://qiita.com/heyanxia/items/bbad38b3d41c195d3df2)
7.[AWS アクセスキーを作成するにはどうすればよいですか?](https://aws.amazon.com/jp/premiumsupport/knowledge-center/create-access-key/)