Amazon Cloud上でWindowsファイルサーバーのデータをNetApp Cloud Volumes ONTAPに同期してみた

# NetApp Cloud Syncを利用してWindowsにあるファイルをCVOに同期
この記事では、WindowsファイルサーバーにあるデータをNetApp Cloud Volumes ONTAPに同期したいと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/819c93c5-8a0c-5ab5-6147-14614f117941.png)
# Keyword
* ONTAP
NetAppが提供しているストレージOS、FAS（Fabric Attached Storage)、AFF（All-Flash FAS）に搭載され、最⼩限の処理や負荷によって最⼤限の拡張性と管理性を提供し、CIFS（SMB）、NFS、iSCSI、FC、FCoEをサポートしています。

* Cloud Volumes ONTAP (CVO)
VMインスタンスにONTAPを搭載した重複排除・圧縮・階層化等効率機能を提供するクラウドストレージサービスです。CVOはONTAPのオンプレミスと同等機能を持ち、クラウド上のファイルとブロックのワークロードに対応した高度なデータ管理を実現するSoftware-Defined Storageであり、データ保護、セキュリティ、コンプライアンスなど対応しています。 

* Cloud Sync
ハイブリッド・マルチクラウド環境でのデータ同期サービスです。NFSまたはCIFSファイル共有、Amazon S3 Object、Azure Blob、Google Cloud Storage、IBM Cloud Object Storage、NetApp StorageGRID、Box、SMB Serverなど異なるフォーマットのファイルサーバーの間でデータを転送できます。

* AWS Managed Microsoft AD
AWS Directory Serviceを使用してMicrosoft Active Directory (AD) をマネージドサービスです。AWS クラウドで簡単にディレクトリをセットアップしたり、AWS リソースを既存のオンプレミス Microsoft Active Directory に接続したり、ディレクトリを作成することができます。

# 手順
1.AWS Managed Microsoft ADを設定
2.EC2に上記のADにジョインしたWindowsファイルサーバーを立ち上げ
3.CVOを作成、上記のADにジョインしたCIFSボリュームを追加
4.Cloud SyncのData Brokerを作成
5.WindowsにあるファイルをCVOに同期

構成イメージ：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/449ea270-5471-bf45-275d-03ba5e1ee623.png)

# 1.AWS Managed Microsoft ADを設定
今回はAWS Managed Microsoft ADを利用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/c6fe0433-e6e4-7390-0b06-8b78e295da83.png)

`DNS domain`と`password`を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/d36bb5f6-9eab-253f-1101-b2e8675416e5.png)
`Directory DNS name`と`Directory NetBIOS name`をメモして後程使います。Passwordを忘れたら、`Reset user password`できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/35a9c63b-f627-7647-9e69-4b9265dd9023.png)

# 2.EC2に上記のADにジョインしたWindowsサーバを立ち上げ
上記のADと同じVPCにEC2を作成、`Advanced details`をクリックして`Domain join directory`を先程作成したADにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/3a3511c5-d9ed-26ca-94a0-b027d5ba4f90.png)
IAM Roleを作成、下記のpermissionsを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/671aaf7c-bca7-0139-1670-fbcbcd97a990.png)

* Tips
1.上記のIAM roleを作成する時に`AWS service`を選択、`Common use cases`を`EC2`に
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/df07ba0c-5672-16ee-2e5a-a313b5d99f5d.png)
2.必要なpermissionをfilterで追加
`SecretsManagerReadWrite`、`AmazonSSMManagedInstanceCore`
`AmazonSSMDirectoryServiceAccess`、`AWSDirectoryServiceFullAccess`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/72dec325-3fc2-a0c8-aa39-e9dd81ed6e19.png)
3.必須ではないですが、WindowsにRDPで接続できない時に場合により、`AmazonSSMPatchAssociation`を利用して自動に必要なパッチをインストールして解決できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/0eaa306e-63a6-daeb-da72-2e6e52ded06e.png)
4.`Key pair`の設定が必要、RDPでWindowsにログインする時に`Key pair`をDecryptしてpasswordを取得します。`Instance type`は`t2.micro`の`Free tier eligible`でOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/30ac3dbe-e768-d1c5-702d-ef4f18c183fd.png)

# 3.CVOを作成、上記のADにジョインしたCIFSボリュームを追加
Cloud Manager GUIにより、上記のADと同じVPCにCVOをデプロイします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/7910a192-0a71-305f-5f8d-e5582cf87aed.png)
`Create Volume`を`Skip`してCVOのデプロイ後でCIFSを追加しても大丈夫です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/90899e02-ccb4-39ee-44cf-57b8833063ff.png)
CIFSの設定は[こちら](https://docs.netapp.com/us-en/cloud_volumes/aws/media/cvs_aws_ds_smb_setup.pdf)を参考し、最初にメモした`Directory DNS name`と`Directory NetBIOS name`を確認して`Organizational Unit`を`OU=Directory NetBIOS`にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/6647940d-f740-04aa-1ef1-9a1daf16a9da.png)

# 4.Cloud SyncのData Brokerを作成
Data Brokerを作成するには[こちら](https://docs.netapp.com/us-en/cloud-manager-sync/task-installing-aws.html#creating-the-data-broker)のガイドにより、AWS CloudFormationとAWS access keysの二つ方法があります。今回はAWS access keysを使ってCloud Manager GUIのWizardによりデプロイします。AWS Consoleで[こちら](https://docs.netapp.com/us-en/cloud-manager-sync/task-installing-aws.html#networking-requirements)のガイドを参照して必要なpermissionを設定した上でuserを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/5ed8df18-0224-029f-ffa7-b5ddb6adf0cf.png)

AWS access keysを保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/530be236-48ef-07cd-e0d2-c2b53235fe0f.png)

上記のAWS access keysを入れてData Brokerを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/9e0c08ed-6378-7f9b-fb9f-740d96563992.png)

# 5.WindowsにあるファイルをCVOに同期
SMB Server(EC2に作成したWindowsファイルサーバー)とCloud Volulmes ONTAPをドラッグしてプロトコルを指定した後に、それぞれのcredentialを正しく入れて同期関係を作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/76bd3f24-b94b-da89-ae10-c726adb8217f.png)
Windowsファイルサーバーにログインして`net share`でシェアされてるファイルを確認します。Windowsファイルサーバーにある`/test/NetAppCloudSyncDemo`をCVOの`/cifs2_share`に同期します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/4730dfa8-69f8-2e70-aba0-04aa48201855.png)
同期する前、CVOのCIFS volumeにmountして確認:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/1a2b6e82-639d-a7c3-372f-56d6d470c986.png)
同期する後、CVOのCIFS volumeにmountして確認:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/61ded20f-e7f2-94a6-8e6f-7b389ab0de6b.png)
同期の詳細はGUIより確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/fa4da5d8-0d64-4f26-1ce0-b2c033b3153c.png)

# まとめ
今回はNetApp Cloud Syncを利用してAmazon Cloud上の同じVPCの中でWindowsファイルサーバーのデータをNetApp Cloud Volumes ONTAPに同期できることを検証しました。FSx for NetApp ONTAPでも同じようなことができます。

# 参考リンク
1.[Cloud Volumes ONTAP](https://www.netapp.com/ja/cloud-services/cloud-volumes-ontap/what-is-cloud-volumes/)
2.[Cloud Sync](https://cloud.netapp.com/ja/cloud-sync-service)
3.[AWS Managed Microsoft AD](https://docs.aws.amazon.com/ja_jp/directoryservice/latest/admin-guide/directory_microsoft_ad.html)
4.[Active Directoryはなぜ必要なのか](https://atmarkit.itmedia.co.jp/ait/articles/1404/11/news028.html)
5.[Cloud Manager](https://docs.netapp.com/ja-jp/cloud-manager-family/)
6.Cloud Sync: [Creating a new data broker in AWS](https://docs.netapp.com/us-en/cloud-manager-sync/task-installing-aws.html)
7.CVO: [Quick start for Cloud Volumes ONTAP in AWS](https://docs.netapp.com/us-en/cloud-manager-cloud-volumes-ontap/task-getting-started-aws.html)
8.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)
9.[AWS Directory service setup with NetApp Cloud Volumes Service for AWS](https://docs.netapp.com/us-en/cloud_volumes/aws/media/cvs_aws_ds_smb_setup.pdf)
10.[Join an EC2 instance to your AWS Managed Microsoft AD directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_join_instance.html)
11.[AWS Managed Microsoft ADを構築してユーザー追加まで](https://www.yamamanx.com/aws-managed-microsoft-ad-user-add/)
12.[NetApp Cloud Sync SMB server requirements](https://docs.netapp.com/us-en/cloud-manager-sync/reference-requirements.html#ontap-s3-storage-requirements)