Amazon Web Services ブログ
AWS Backup を使った Amazon EFS のファイルおよびフォルダーの復元
データのほとんどは、構造化されていないファイルとして存在しており、アプリケーションでは、かなりの割合がデータストレージを使用するように設計されています。これらアプリケーションの多くに、共有ファイルを使用するための設計要件があります。セルフマネージド型で共有ファイルシステムを実現するには、多くの作業が必要です。取得やプロビジョニングが必要なものとしては、コンピューティングとストレージのリソース、ネットワーキング、ロードバランシング、精密な需要予測、ソフトウェアの管理、そして可用性や信頼性のためのレプリケーション管理、などが挙げられるでしょう。完全マネージド型の共有ファイルシステムなら、セルフマネージド型のシステムが必要とする代わり映えしない重労働から解放されます。組織は、イノベーションやソリューションによる差別化に注力できるのです。Amazon Elastic File System (Amazon EFS) であれば、完全マネージド型かつクラウドネイティブで信頼性も高い NFS ベースの共有ファイルシステムを、月ごとに 0.08 USD/GB という効果的なストレージコストでご利用になれます。
この Amazon EFS は、可用性と信頼性の高いファイルストレージを提供しますが、追加の保護策として、ファイルシステムのバックアップ作成も推奨されるところです。仮に、アプリケーションもしくはヒューマンエラーによりファイルが不注意に削除された場合や、ファイルの旧バージョンが必要になったときには、このバックアップが助けになります。Amazon EFS には、ネイティブに AWS Backup が統合されています。このサービスでは Amazon EFS のファイルシステムのバックアップ作成が行え、ファイスシステム全体を復元したり、ファイルシステム内のファイルやフォルダーを復元することもできます。ファイルやフォルダー単位での復元は、より速く効率的に実施できるので、ファイルシステム全体の復元に対する良い代替策となります。クリティカルなファイルを復元しようとする場合は、短い目標復旧時間 (RTO) が必須です。ファイルシステム全体を復元した後、そこからクリティカルなファイルを抽出するのでは、RTO の厳しい要件を満たすことは困難になります。今回の記事では、AWS Backup により作成された Amazon EFS ファイルシステムのバックアップから、ファイルとフォルダーを復元する手法をご紹介していきます。
AWS Backup for Amazon EFS
AWS Backup を使い EFS ファイルシステムのバックアップを行うには、バックアップの頻度、ウィンドウ、保持期間、ライフサイクルポリシーなどを定義する、バックアッププランを設定する必要があります。その後、設定したバックアッププランに、ご自分の EFS ファイルシステムを割り当てます。復元ポイント ID は、正常に終了したバックアップすべてに定義されるもので、EFS のファイルシステムとその中のファイルを、ある時点に復元するために使います。AWS Backup を使った EFS ファイルシステムバックアップの詳細については、こちらのドキュメントをご参照ください。
このシナリオ例では、次に示すスクリーンショットのように、EFS ファイルシステム (fs-7e70f9b5) が AWS Backup によりバックアップされています。
バックアップを正常に終了した AWS Backup は、次のスクリーンショットのように復元ポイントを作成した後、それに復元ポイント IDを割り当てます。
全体的な復元を実行すると、作成した復元ポイントから AWS Backup を使い EFS ファイルシステムを復元できます。全体的な復元では、AWS Backup がルートレベルのフォルダーやファイルも含めた、ファイルシステムの全体像を復元します。しかしながら、人間の誤操作やアプリケーションエラーにより不注意に削除された、ファイルもしくはフォルダーを復元したい、という場合もしばしば存在します。いくつかのファイルやフォルダーを復元するために、ファイルシステム全体を復元するというのは、RTO の厳しい要件を満たすことを難しくします。
ソリューション: ファイルおよびフォルダーの復元
今回、AWS Backup に、作成したバックアップから EFS ファイルシステム内のファイルやフォルダーを復元できる機能が追加されました。ここでは、最初にお試しいただく復元作業として、アイテムレベルのレストアを実施して、ルートに対する相対パス (マウントポイントは含みません) をファイルもしくはフォルダーに定義していきます。これは、ファイルやフォルダーを復元しながら目標復旧時間の厳しい要件を満たす際の役に立ちます。お客様は、一度に最大で 5 つのアイテムを選択し復元することが可能です。アイテムレベルでの復元においても全体を復元する場合と同じく、新規のファイルシステム、もしくはソースファイルシステム内のディレクトリに対しての復元が行えます。
今回のシナリオ例では、ファイルとディレクトリを 1 つずつ EFS バックアップから復元するために、バックアップボールトから復元ポイント ID を選択し、Restore を指定しました。次のスクリーンショットに示した Restore backup (バックアップの復元) ウィンドウには、2 つのオプションが表示されています。ここでは、全体的なファイルシステムの復元と、個別アイテムの復元のどちらかを選択できます。[Item-level restore (アイテムレベルの復元)] のチェックをオンにした後、復元の対象であるファイル (fileA.txt) とディレクトリ (dirA) を指すための、ファイルシステムのルートに対する相対パス (マウントポイントは含みません) を入力します。同時に、アイテムを既存のファイルシステムに復元するか、新しいファイルシステムで復元するかも選択します。最後に [Restore backup (バックアップを復元)] をクリックし、復元ジョブを実行します。
クリーンアップ
希望しない料金が生じることを避けるのであれば、このブログ記事の内容を実施する際に作成したサンプルリソースを削除し、このソリューションをクリーンアップする必要があります。このソリューションをクリーンアップするには、次の手順を実行します。
- テスト用に EFS ファイルシステムを作成していた場合は、EFS コンソールから削除対象のファイルシステムを選択し、[Delete File System (ファイルシステムを削除)] のアクションを実行します。EFS ファイルシステムの削除の詳細については、こちらのドキュメントをご参照ください。
- バックアッププラン、復元ポイント、もしくはバックアップボールトなどの AWS Backup リソースをテスト用に作成している場合は、 AWS Backup コンソールからそれらを削除できます。AWS Backup リソースの削除の詳細については、こちらのドキュメントをご参照ください。
まとめ
今回の記事では、AWS Backup が Amazon EFS ファイルシステムの保護用に追加した、完全マネージド型で集約型のサービスによるファイルシステムバックアップの管理機能をご紹介しました。AWS Backup は、Amazon EFS ファイルシステム全体を以前の時点に復元することができます。ファイルシステム全体の復元は、テストや開発環境に実稼働ワークロードを復元したい場合の、一般的なユースケースだと言えます。また、このサービスでは、アプリケーションもしくはヒューマンエラーにより不注意に削除された、個別のファイルやフォルダーを復元することもできます。アイテムレベルの復元は、厳しい RTO 要件を満たしながら、必要な個別ファイルやフォルダーをバックアップから選択的に復元できる柔軟性を提供します。
本ブログ投稿をお読みいただきありがとうございました。Amazon EFS と AWS Backup の詳細については、こちらのドキュメントをご参照ください。ご質問やご意見はコメント欄にお寄せください。