BlueXPのGUIから、AWS上のNetApp Cloud Volumes ONTAPをAmazon FSx for NetApp ONTAPにレプリケーションしてみた

# はじめに
NetApp ONTAPストレージシステムを利用する場合は、例えばオンプレミスにあるONTAP、クラウド上のCloud Volumes ONTAP(CVO)やAmazon FSx for NetApp ONTAPなどから、マイグレーションやバックアップのためにデータをレプリケーションしたい場合があります。また可用性を高めることなどを目的として、オンプレからクラウドに移行したいようなケースもあるでしょう。例えば大阪リージョンにあるCVOを東京リージョンにバックアップしたい、自社運用のCVOをAWS full-managedのFSxNに切り替えたい、そういったケースも考えられます。それらの場合は、BlueXPのGUIからドラッグ＆ドロップ操作で簡単に実現できます。

この記事ではAWS上の同じリージョンにあるCVOをFSxNにレプリケーションを試してみた操作を、紹介したいと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/a9f2aa75-d9d6-1ce6-6122-48c2e93d4514.png)

# Keyword
* SnapMirror
SnapMirrorはLANまたはWAN経由で、データを高速にレプリケートできる機能です。仮想環境であるかそうでないかを問わず、高いデータ可用性と高速なデータレプリケーションを実現できます。データをネットアップ ストレージシステムにレプリケートし、セカンダリデータを継続的に更新すると、データは常に最新の状態に保たれ、必要なときにいつでも利用できる状態に保たれます。外部のレプリケーション・サーバは必要ありません。

* BlueXP
ストレージとデータ サービスを統合コントロール プレーンで一元管理し、ハイブリッド マルチクラウド エクスペリエンスを変革します。わかりやすいインターフェイスと強力な自動化により、種類の異なる環境を管理する際のリソースの無駄、複雑さ、リスクを軽減でき、シンプルな運用が実現します。

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

* Amazon FSx for NetApp ONTAP(FSxN)
AWSがフルマネージで提供している、NetAppのONTAPファイルシステムを用いたサービス。信頼性が高く、スケーラブルで、パフォーマンスが高く、機能が豊富なファイルストレージを提供するサービスです。これまでONTAPで非常によく使われてきた圧縮・重複排除・階層化機能、及びAPIオペレーションといった機能を、AWSがフルマネージで提供しています。

# 手順
1.FSxNとCVOをAmazon Cloud上に作成
2.BlueXPのGUIにより、CVOをFSxNにレプリケーション
構成イメージ：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/f6d6b77d-f4eb-09cb-aa86-f50c23e0bb36.png)

# 1.FSxNとCVOをAmazon Cloud上に作成
* AWS consoleからFSxNを作成
FSxNの作成は、GUI(AWS consoleとBlueXP)、developerが好きなコマンドライン([AWS CLI](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/creating-file-systems.html)や[REST API](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html#API_CreateFileSystem_RequestSyntax))など様々な方法があります。
BlueXPのGUI：作成するにはこちらの[ガイド](https://docs.netapp.com/us-en/cloud-manager-fsx-ontap/use/task-creating-fsx-working-environment.html)を参考してcredentialとconnectorのIAM roleを確認する必要があります。
AWS cloudshell CLI：[creating-file-systems](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/creating-file-systems.html)により、下記の図のように必要なパラメターを設定してFSxNのファイルシステムを作成できます。ガイドの方にも書いてますが、この場合はSVMとVolumeは別で作成する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/6cabf591-2e0f-0d47-0334-452f89e94e32.png)
今回はAWS consoleから`Single-AZ`で作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/15aa0953-d47d-364f-5f26-5b5d824e20fa.png)
* BlueXPのGUIからCVOを作成
[「BlueXPのConnectorとCVOをAmazon Cloudに作成」](https://qiita.com/heyanxia/private/d1a72eec868ed8f57386#1bluexp%E3%81%AEconnecor%E3%81%A8cvo%E3%82%92amazon-cloud%E3%81%AB%E4%BD%9C%E6%88%90)と[「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)を参照して、FSxNと同じVPC、KeyPair、Security Groupなど条件を確認した上でAmazon Cloud上にBlueXPのConnectorを作成してからCVOを作成します。今回はレプリケーションを検証する為、Cloud Tiering、Cloud Backup、Data Senseなどの機能はoffにします。もしそれらの機能を使う場合は、AWS marketingからsubscribe必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/794c1ae0-3d28-a32a-1513-6d9247f74d5b.png)
`Freemium(Up to 500 Gib)`と`No Storage Efficiency`(Cloud Tiering機能を利用しない)にします。`Storage Efficiency`をご利用する場合はS3にTiering為、必ずS3にアクセスできるVPC Endpointを作成しないといけないです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/8ce9afb8-197f-9825-21e0-5875c8af307b.png)
ここまではCVOとFSxNのレプリケーションができる準備は完了です。

# 2.BlueXPのGUIにより、CVOをFSxNにレプリケーション
* CVOをFSxNにレプリケーション
既に`Replication`がある場合は矢印付けの線が表示されます。複数`Replication`を作成することもできます。CVOをFSxNにドラッグ、`Replication`を選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/b813143a-af9b-38c2-ce2c-cc2909852791.png)
Cloud Tieringを利用しない為、`Tiering Disabled`にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/de4dfa2f-4cd8-2df2-5860-5278b2cc49bc.png)
SnapMirrorのPoliciesはdefaultの`Mirror`にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/9c272b6c-9a78-c1af-f456-6dc4c77e3c76.png)
他のPoliciesに関する詳細は[こちらのドキュメント](https://docs.netapp.com/us-en/cloud-manager-replication/concept-replication-policies.html#types-of-replication-policies)で確認できます。`Mirror`は、ソースボリュームで利用可能なSnapshotコピーをミラーリングします。`Backup`では通常、ソースボリュームで保持される期間よりも長い期間、Snapshotコピーが保持されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/ca708177-c8e1-4a51-dd8d-0831d1796c00.png)
SnapMirrorのスケジュールも柔軟に対応しています。右側を下にスクロールすると`Weekly`、`Monthly`、`Hourly`など様々があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/066a9ca0-6ef9-07a0-e46d-b6b437fa8d31.png)
Wizardに従い、CVOの`nfs`ボリュームをsourceとして選び、FSxN側に新しい`nfs_copy`ボリュームを作成する形で`Replicate`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/22e339f7-d0a5-b63d-1621-297a37ac042a.png)
レプリケーションが実行され、BlueXPのGUIにも矢印付けの線が表示され、右下にこのCVOの`Replication Targets`は`2`となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/ccf3c50a-30a0-8094-f5f0-875bd072b0f5.png)
`ssh -i YourKeyPair admin@your_cvo_ip`でCVOにログインして、`vserver peer show -vserver`で`peered`になってるのを確認します。BlueXPの`CVO -> Replications`から`Relationships`を管理することができます。少し時間が経つと、AWS Consoleからもレプリケーションのボリュームを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/19b851fa-1c03-e7f3-6c04-4c3fdec06906.png)

# 注意事項
* 複数peerの場合はSVM名が重複しない
同じCVOのSVM(この例だとCVOの`svm_CVOReplication2FSxN`)に対して複数のSVM (例のFSxNADDemoの`fsx`　ID:`FsxId0ac2e505c63ce53fd`と FSxNDemoの`fsxn_svm`、ID:`FsxId0eb87eb9508c0a4b8`)レプリケーションを作成することができます。ただ、同じSVM (この例だとCVOの`svm_CVOReplication2FSxN`)に対して、FSxNのファイルシステムが異なるのにも関わらず、既存のPeerされたSVM (`fsx`) と異なるSVM(`fsxn_m`)にしないといけないです。FSxNを作成する時にSVMはdefaultで`fsx`になるので、複数の場合は重複しないように指定する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/97f1a3c1-77fe-e64d-dfdb-eb9a6164dabf.png)
* レプリケーションのボリュームを削除
直接AWS consoleからSnapMirrorボリュームを削除できません。SnapMirrorのrelationshipsを削除してからボリュームが削除できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/fc91fd24-03a9-b35c-0317-44f1b7626090.png)
BlueXPからSnapMirrorのrelationshipsを`Delete`(`Break`ではなく)します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/3383a3d5-6973-6ea7-5762-94bd2a0612ec.png)

# まとめ
* 複数のレプリケーションもできる
今回はBlueXPのGUI操作により、AWS上の同じ東京リージョンにあるNetApp Cloud Volumes ONTAPをAmazon FSx for NetApp ONTAPにレプリケーションしてみました。同じリージョンで下記の様な構成でCVOを複数のFSxN(異なるSVM)にレプリケーションできることが分かりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/1cf635ff-7e20-5646-1e0c-5f7c78de5bfc.png)
* SnapMirrorがサポートされるONTAPリージョンとworking environments
クラウド(Azure、AWS、Googleなど)がサポートされるONTAPリージョンとSnapMirrorがサポートされる[ONTAPバージョン](https://docs.netapp.com/us-en/ontap/data-protection/compatible-ontap-versions-snapmirror-concept.html#unified-replication-relationships)の間で`cross-region`でもできます。例えばCVOを大阪リージョンからFSxNの東京リージョン、またON-Premise ONTAPをCVOやFSxNなどそれぞれの同じようなレプリケーションができます。SnapMirrorがサポートされるworking environmentsは以下になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991583/2c772aeb-9891-99ee-05ca-20cdfb9215ab.png)

# 次回予告
今回は同じリージョンで試しましたが、次回はCVOの`cross-region`(`Osaka-Tokyo`)でレプリケーションを検証してみたいと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2807172/b7d4653e-b892-51af-d536-9fe0c3e5fff4.png)

# 参考リンク
1.[BlueXP: Learn about the Replication service](https://docs.netapp.com/us-en/cloud-manager-replication/concept-replication.html)
2.[Creating FSx for ONTAP file systems](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/creating-file-systems.html)
3.[Amazon FSx for NetApp ONTAP: CreateFileSystem API](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html#API_CreateFileSystem_RequestSyntax)
4.[Create or discover an Amazon FSx for ONTAP working environment](https://docs.netapp.com/us-en/cloud-manager-fsx-ontap/use/task-creating-fsx-working-environment.html)
5.[CVOを作成、上記のADにジョインしたCIFSボリュームを追加](https://qiita.com/heyanxia/items/bbad38b3d41c195d3df2#3cvo%E3%82%92%E4%BD%9C%E6%88%90%E4%B8%8A%E8%A8%98%E3%81%AEad%E3%81%AB%E3%82%B8%E3%83%A7%E3%82%A4%E3%83%B3%E3%81%97%E3%81%9Fcifs%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%82%92%E8%BF%BD%E5%8A%A0)
6.[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)
7.[BlueXPのConnectorとCVOをAmazon Cloudに作成](https://qiita.com/heyanxia/private/d1a72eec868ed8f57386#1bluexp%E3%81%AEconnecor%E3%81%A8cvo%E3%82%92amazon-cloud%E3%81%AB%E4%BD%9C%E6%88%90)
8.[Learn about replication policies](https://docs.netapp.com/us-en/cloud-manager-replication/concept-replication-policies.html)
9.[SnapMirrorソフトウェア：ユニファイド レプリケーションで迅速なリカバリを実現](https://www.netapp.com/ja/cyber-resilience/data-protection/data-backup-recovery/snapmirror-data-replication/)
10.[Prerequisites for cluster peering](https://docs.netapp.com/us-en/ontap-sm-classic/peering/reference_prerequisites_for_cluster_peering.html)
11.[vserver peer show](https://docs.netapp.com/us-en/ontap-cli-9121//vserver-peer-show.html)
12.[Cluster and SVM administrators](https://thinksystem.lenovofiles.com/storage/help/index.jsp?topic=%2Fsystem_administration_guide%2F898FA106-B271-46E9-A6C8-17603C1AA733_.html)
13.[What SVMs are](https://library.netapp.com/ecmdocs/ECMP1354558/html/GUID-E643017F-041B-4ECC-BEA1-E4D80E26A47E.html)
14.[Compatible ONTAP versions for SnapMirror relationships](https://docs.netapp.com/us-en/ontap/data-protection/compatible-ontap-versions-snapmirror-concept.html#unified-replication-relationships)
15.[Cluster and SVM peering workflow](https://docs.netapp.com/us-en/ontap-sm-classic/peering/concept_cluster_peering_workflow.html)