web-dev-qa-db-ja.com

AWS EFSをS3にバックアップ

私は必死にAWS EFSファイルシステムをS3にバックアップする方法を見つけようとしましたが、見つからないようです。

上記のEFSにアクセスできるすべてのEC2インスタンスが実行されています。トラフィックを減らすために、Embedded EFSインスタンスにSSHで接続して「aws s3 sync ...」を実行するLambda関数を起動しようとしました。残念ながら、LambdaサービスからのSSHは、プロダクション対応の優れたソリューションとは思えません。

私が試したのはDataPipelineを適応させることですが、バックアップのためだけに追加のインスタンスを起動するのも面倒なようです。

EFSをS3にバックアップする簡単な方法はありませんか?
任意の提案を歓迎します。

7
wahtye

実際、私はS3 Syncがあなたが望むものだと思います。たぶんEC2インスタンスでCronをセットアップし、S3 Syncをそのように呼び出しますか? ECSも使用していますか?私はかなりうまくいくCronコンテナーを持っています。 AWS CLI( https://aws.Amazon.com/cli/ )に慣れていない方は、S3 Syncの構文は次のようになります。

aws s3 sync /path/to/source/ s3://bucket/destination/
7
mistersleep
  1. Attic などのツールを使用してEFSをバックアップし、1つのEC2インスタンスに圧縮された増分、重複排除されたバックアップを作成します。
  2. S3FS またはS3 APIを使用して、これらのファイルをS3にアップロードします。個人的にはDropboxのアップロードスクリプトを使用していますが、これも問題なく機能します。

Atticは指定した間隔で実行されますが、指定したチェックポイントのみを保持することに注意してください。たとえば、毎日のバックアップがあり、最初の月以降は毎月、最初の年以降は毎年のみ維持される場合があります。このため、ストレージからファイルを削除します。リポジトリからファイルを削除しない場合、問題はありませんが、必要以上のストレージを使用します。そのため、Atticバックアップファイルの同期はコピーよりも優れている場合があります。

2
Tim

AWSライフサイクルフックの使用をお勧めします。このオプションは、信頼性の高いコントロールを提供します(つまり、タイムアウトなど)。 https://docs.aws.Amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html

0
vimal