Amazon Web Services ブログ

Amazon FSX for OpenZFS のオンデマンドデータレプリケーションの発表

11月26日、Amazon FSX for OpenZFS に、ファイルシステムからアカウントの別のファイルシステムにスナップショットを送信する機能が追加されました。

1 回の API 呼び出しまたは CLI コマンドでコピーをトリガーでき、あとは弊社が処理します。rsync のようなコマンドを使って転送の状態を監視する必要はありません。サービスがお客様に代わってコピーを処理します。潜在的なネットワークの中断を管理し、転送が完了するまで自動的に再試行します。OpenZFS のネイティブな送信および受信機能を使用して、ブロックレベルでデータを段階的に転送します。

この新機能により、例えば、テスト環境や開発環境をより迅速かつ簡単に作成できるようになるため、俊敏性を維持できます。また、リードレプリカの管理を簡素化してパフォーマンスのスケールアウトを実現することでパフォーマンスが向上します。

Amazon FSX for OpenZFS は、オープンソースの OpenZFS ファイルシステム上に構築されたフルマネージド型ファイルシステムを起動、実行、スケールできるフルマネージド型ファイルストレージサービスです。FSX for OpenZFS を使用すると、アプリケーションやデータの管理方法を変更することなく、オンプレミスの ZFS ファイルサーバーを簡単に移行でき、高性能でデータ集約型の新しいアプリケーションをクラウド上に構築できます。

スナップショットは ZFS ファイルシステムの最も強力な機能の 1 つです。スナップショットは、ファイルシステムまたはボリュームの読み取り専用コピーです。スナップショットはほぼ瞬時に作成でき、最初はストレージプール内の追加のディスク容量を消費しません。スナップショットが作成されると、そのスペースは最初にスナップショットとファイルシステムの間で共有され、場合によっては以前のスナップショットと共有されます。ファイルシステムが変更されると、以前に共有されていたスペースはスナップショット固有のものになります。スナップショットは、古いデータを引き続き参照することで消費するディスク容量が増加するため、スペースが解放されなくなります。スナップショットは、非常に大規模なファイルシステムでも、オンデマンドでほぼ瞬時にロールバックできます。スナップショットを複製して新しいボリュームを作成することもできます。

スナップショットはブロックレベルのコピーです。変更されたファイルを検出するためにシステムが何百万ものファイルをトラバースしなければならない従来のファイルレベルのコピーよりも転送が効率的です。また、スナップショットはブロックレベルで増分なので、インクリメンタルスナップショットを転送する方が、ファイルベースのインクリメンタルコピーを転送するよりも効率的です。それには、前回のスナップショット以降に変更されたブロックのみが含まれます。

ZFS スナップショットのオンデマンドレプリケーションにより、基盤となるインフラストラクチャを気にすることなく、OpenZFS のネイティブ送受信機能を使用してテラバイトのデータを転送できます。ネットワークの中断やその他の種類のエラーの検出および管理は当社が行い、ファイルシステム間でデータを簡単に複製できるようにします。

この新機能を使用する主なユースケースは 2 つあります。

デベロッパーや品質保証 (QA) エンジニアは、オンデマンドのスナップショットを開発環境やテスト環境に送信することがあります。これにより、本番データを扱うことができるため、正確なテスト結果と開発結果が得られます。最新のスナップショットをテストの開始点として一貫して使用することで、開発プロセスおよびテストプロセスの効率が向上します。

データエンジニアは、オンデマンドレプリケーションを使用して、データセットで並行実験を実行することがあります。アプリケーションが大規模なデータセットを処理するとします。同じベースデータセットで複数のバージョンのデータ処理アルゴリズムを実行して、ユースケースに最適なチューニングを見つけたいと考えています。オンデマンドデータレプリケーションを使うと、ファイルシステムの同一のコピーを複数作成し、各実験を並行して実行できます。

仕組みを見てみましょう
このデモを準備するために、AWS マネジメントコンソールFSx for OpenZFS セクションを使用します。まず、Amazon FSx for OpenZFS ボリュームを 2 つ作成します。次に、2 つのファイルシステム (/zfs-filesystem1/zfs-filesystem2) を 1 つの Amazon Linux インスタンスにマウントします。1 つ目のボリュームでファイルを準備しましたが、オンデマンドレプリケーション後に 2 つ目のボリュームでも同じファイルが見つかるはずです。

ZFS ファイル

2 つのボリューム間でデータを同期するには、コンソールのスナップショットセクションに移動します。次に、[スナップショットをコピーしてボリュームを更新] を選択します。また、スナップショットを新しい ZFS ボリュームにコピーすることもできます。

ZFS スナップショットレプリケーション - 1

[Copy snapshot and update volume] (スナップショットのコピーとボリュームの更新) ページで、コピー先のファイルシステムボリュームを選択します。ソーススナップショットも確認します。[Source snapshot copy strategy] (ソーススナップショットのコピー方法) を選択し、フルコピーまたは増分コピーをリクエストします。準備ができたら、[Update] (更新) を選択します。

ZFS スナップショットレプリケーション - 2

しばらくすると、転送するデータの量によって異なりますが、コピー先ボリュームに新しいスナップショットが一覧表示されていることが分かります。このデモシナリオでは、ほんの数秒で完了しました。

ZFS スナップショットレプリケーション - 3

Linux インスタンスに戻り、2 つ目のマウントポイント /zfs-snapshot にあるコンテンツを一覧表示します。牛形の ASCII アートが 2 つ目のファイルシステムにありますね🎉🐮。

ZFS: スナップショットから復元したボリュームに同じファイル

また、新しい FSx API (CopySnapshotAndUpdateVolumeCopySnapshotAndCreateVolume) を使用して、オンデマンド転送を自動化することもできます。

継続的な定期レプリケーションを設定するために、提供されている CloudFormation テンプレートを使用して自動レプリケーションスケジュールを作成します。デプロイすると、システムはソースファイルシステム上のボリュームのスナップショットを定期的に取得し、レプリケート先ファイルシステム上のボリュームへの増分レプリケーションを実行します。例えば、テスト目的で、開発ファイルシステムへのレプリケーションを 15 分に 1 回実行するようにスケジュールできます。

利用可能なリージョンと料金
この新機能は、FSx for OpenZFS が利用できるすべての AWS リージョンでご利用いただけます。

追加費用はかかりません。AWS は、アベイラビリティーゾーン間のネットワークデータ転送に通常の料金を請求します。

リモートファイルシステムが使用するストレージ量に対して、標準の FSx for OpenZFS 料金が発生します。

Amazon FSX for OpenZFS の新しいオンデマンドレプリケーションにより、ファイルシステムの増分スナップショットをアカウントの新しいボリュームに効率的に転送できます。これにより、デベロッパーや QA エンジニアは本番データのコピーを操作し、データエンジニアはデータセットで並行して実験を行うことができます。

今すぐ、最初のオンデマンドレプリケーションを構築して設定しましょう

— seb

原文はこちらです。