Amazon EFSのバックアップ方法はどれを選べば良い?
Amazon EFSはNFS共有ファイルシステムを提供するフルマネージドサービスです。
サービスリリース当初はバックアップ機能が備わっていませんでしたが、現在は様々なバックアップ手段が提供されています。
どれを使えばよいのか、比較してみました。
結論
Amazon EFSは2020年7月からボタン一つで自動バックアップできます。
コンソールからウィザード形式でEFSを作成する場合、バックアップはデフォルトで有効です。
EFSバックアップの多くのユースケースはこの機能でカバーできます。
編集画面から有効にしましょう。
フローチャート
目的に応じて、おすすめのバックアップ方法は異なります。
バックアップ方法の比較
比較表
Amazon EFSの主要なバックアップ方法は以下の通りです。
ソリューション | EFS自動バックアップ(AWS Backup) | EFSレプリケーション | AWS DataSync | AWS CLI |
---|---|---|---|---|
バックアップ対象 | ファイルシステム全体 | ファイルシステム全体 | ディレクトリ・ファイル制限可能 | ディレクトリ・ファイル制限可能 |
ターゲット | スナップショット | EFS同期 | EFS/S3同期 | S3同期 |
クロスリージョン | △ | o | o | o |
追加費用 | ストレージ費用のみ | データ転送 | データ処理費用 | API+データ転送 |
メリット | 簡単 | 簡単 | 柔軟にカスタマイズ可能 | |
デメリット | オペミスも同期される | オペミスも同期される | ユーザーがスクリプトと実行の責任を負う |
[おすすめ]EFS自動バックアップ(AWS Backup)
Amazon EFSの自動バックアップ機能を利用する場合です。
チェックボックス一つでいい感じに増分バックアップしてくれるのが最大の特徴です。
裏では AWS Backup と連動し、 aws/efs/automatic-backup
で接頭するバックアッププランなど各種リソースが作成されます。
デフォルトでは aws:elasticfilesystem:default-backup : enabled
のタグがある EFS ファイルシステムが1日1回バックアップされ、5週間保持されます。
デフォルトのルールをカスタマイズしたり、自動バックアップを無効にした上で、ユーザーが独自にAWS Backupでバックアップを取得することも可能です。
AWS Backup の費用が発生し、ウォームストレージの場合、東京リージョンでは $0.06/GB-Month です。
EFSレプリケーション
2022年1月から対応したのが EFS レプリケーション機能です。
同一・クロスリージョンでEFSファイルシステムをレプリケートできます。
- https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html
- https://dev.classmethod.jp/articles/efs-replication-tokyo-to-osaka/
ターゲットの新規EFSの費用に追加して、AZ・リージョンデータ転送費用が発生します。
AWS DataSync
AWS DataSync を使い、AWSストレージサービス間でデータを転送します。
EFSバックアップのターゲットとしては、EFSやS3などが考えられます。
ルール設定により、転送するファイル・ディレクトリを制限/除外できる他、ソースで削除されたファイルは同期させないといった細かいオプションにも対応しています。 一方で、ファイルシステムへのスキャンが発生するため、クレジットを消費することにご注意ください。
- https://dev.classmethod.jp/articles/transfer-data-from-efs-to-s3-in-osaka/
- https://docs.aws.amazon.com/efs/latest/ug/trnsfr-data-using-datasync.html
DataSyncによりコピーされたデータに応じて費用が発生します。
AWS CLI(aws s3 sync)
コマンドラインツールの AWS CLI の $ aws s3 sync
コマンドを使い、データを転送します。
オプション指定により、転送するファイル・ディレクトリを制限/除外できるのはもちろんのこと、スクリプトを組むことで自由度の高いデータ同期が可能です。 一方で、スクリプトの開発や実行はユーザーの責任範囲です。
S3 を同期ターゲットとするなら、バージョニングも要検討
EFSデータ同期のターゲットをS3にする場合、S3バケットのバージョニング機能の有効化も検討しましょう。
削除されたり、上書きされたファイルも、過去をさかのぼって参照可能です。 一方で、オブジェクト単位ではなく、オブジェクトの各バージョン分のストレージ費用が発生します。 ご注意ください。
個人的なおすすめ
平成の頃は EFS-to-EFS ソリューション のお世話になった人も多いハズ。
令和時代の初手としては、Amazon EFSファイルシステム全体をバックアップしたい場合は自動バックアップ機能、 バックアップするファイル・ディレクトリを制限したい場合は AWS DataSyncがおすすめです。
ファイルシステムのサイズ・ファイル数・更新頻度などを元に、バックアップ費用も忘れずに試算してください。
それでは。