s3cmd を使用する以外に、2 つの Amazon S3 バケットを自動的に同期する別の方法はありますか? もしかしたら、Amazonはオプションとしてこれを持っているのでしょうか?環境は Linux で、毎日新しいファイルと削除されたファイルを別のバケットに同期したいと考えています。すべての卵を 1 つのバスケットに入れるという考えは嫌いです。
4 に答える
標準の Amazon CLI を使用して同期を行うことができます。次のようなことをするだけです:
aws s3 sync s3://bucket1/folder1 s3://bucket2/folder2
私は似たようなものを探していますが、いくつかのオプションがあります:
- s3RSyncのような商用アプリケーション。さらに、CloudBerry for S3 は、スクリプト作成に使用できる Windows 用の Powershell 拡張機能を提供しますが、*nix を使用していることは知っています。
- AWS API + (Fav 言語) + Cron. (聞いてください)。ファイルをコピーして比較するための何かを作成するには、AWS のライブラリでの経験がなく、かなり知識のある人が短時間で済みます (s3 キーの ETag 機能を使用)。ソース/ターゲット バケット、クレデンシャルを提供し、キーを反復して、AWS でネイティブの「コピー」コマンドを発行するだけです。Javaを使用しました。Python と Cron を使用すると、便利なツールを短時間で作成できます。
私はまだ、オープンソースまたは無料のビルド済みのものを探しています。しかし、#2 はそれほど難しい作業ではありません。
編集: この投稿に戻ってきて、最近ではAttunity CloudBeamが多くの人々にとって商用ソリューションでもあることに気付きました。
S3 バケット != バスケット
彼らのサイトから:
データの耐久性と信頼性
Amazon S3 は、ミッション クリティカルなプライマリ データ ストレージ用に設計された耐久性の高いストレージ インフラストラクチャを提供します。オブジェクトは、Amazon S3 リージョンの複数の施設にまたがる複数のデバイスに冗長的に保存されます。耐久性を確保するために、Amazon S3 の PUT および COPY オペレーションは、SUCCESS を返す前に複数の施設にまたがってデータを同期的に保存します。保存されると、Amazon S3 は失われた冗長性を迅速に検出して修復することにより、オブジェクトの耐久性を維持します。また、Amazon S3 は、チェックサムを使用して保存されたデータの整合性を定期的に検証します。破損が検出された場合は、冗長データを使用して修復されます。さらに、Amazon S3 はすべてのネットワーク トラフィックのチェックサムを計算して、データの保存または取得時にデータ パケットの破損を検出します。
Amazon S3 の標準ストレージは次のとおりです。
- Amazon S3 サービス レベル アグリーメントに裏打ちされています。
- 特定の年に 99.999999999% の耐久性と 99.99% のオブジェクトの可用性を提供するように設計されています。
- 2 つの施設でのデータの同時損失に耐えるように設計されています。
Amazon S3 は、バージョニングによってさらなる保護を提供します。バージョニングを使用して、Amazon S3 バケットに保存されているすべてのオブジェクトのすべてのバージョンを保持、取得、および復元できます。これにより、意図しないユーザー アクションとアプリケーション障害の両方から簡単に回復できます。デフォルトでは、リクエストは最後に書き込まれたバージョンを取得します。オブジェクトの古いバージョンは、リクエストでバージョンを指定することによって取得できます。保存料金は、保存されているすべてのバージョンに適用されます。
それは非常に信頼できます。