数十個から数十億個のオブジェクトを大規模に管理

S3 バッチオペレーションは Amazon S3 のデータ管理機能です。Amazon S3 マネジメントコンソールからの数回クリックにより、または単一の API リクエストによって、数十億個ものオブジェクトを大規模に管理できます。この機能を使用して、オブジェクトメタデータとプロパティの変更や、その他のストレージ管理タスク (オブジェクトのバケット間でのコピーまたはレプリケート、オブジェクトタグセットの置き換え、アクセスコントロールの変更、S3 Glacier からのアーカイブオブジェクトの復元など) を実行できます。これらのタスクを実行するために数か月かけてカスタムアプリケーションを開発する必要はありません。

S3 バッチオペレーション

S3 バッチオペレーションは、1 回限りのタスクまたは定期的なバッチワークロードのいずれの場合でも、オブジェクトのコピーやタグ付けといったストレージアクションを大規模に実行するためのマネージド型ソリューションです。S3 バッチオペレーションでは、数十億個ものオブジェクトやペタバイト規模のデータに対して単一のリクエストでアクションを実行できます。S3 バッチオペレーションで作業を実行するには、ジョブを作成します。ジョブは、オブジェクトのリスト、実行するアクション、そのオペレーションのために指定するパラメータセットで構成されます。S3 バッチオペレーションで複数のジョブを作成して同時に実行することもできますし、必要に応じてジョブの優先順位を設定して各ジョブの優先度を定義し、最も重要な作業が先に実行されるようにすることもできます。また S3 バッチオペレーションでは、実行されたすべての変更内容やタスクについて、再試行の管理、経過のトラッキング、完了通知の送信、レポートの生成、AWS CloudTrail へのイベント伝達も実行できます。

S3 バッチオペレーションは、現在お客様が運用しているイベントドリブン型アーキテクチャを補完します。新しいオブジェクトに対しては、S3 イベントと Lambda 関数を使用して、ファイルタイプの変換、サムネイルの作成、データスキャンの実行、およびその他の操作を実行するのが最適です。例えば、S3 イベントと Lambda 関数を使用して、画像が S3 に最初にアップロードされるときに、未加工の写真のサイズが小さい低解像度のバージョンが作成されるようにしているお客様もいます。S3 バッチオペレーションでは、同様のアクションを既存のオブジェクトすべてに対しても同じように実行するシンプルなメカニズムを提供することで、既存のイベントドリブン型ワークフローを補完します。

仕組み: S3 バッチオペレーション

Amazon S3 バッチオペレーションの仕組みの図

S3 バッチオペレーションで作業を実行するには、ジョブを作成します。ジョブは、オブジェクトのリスト、実行するアクション、そのオペレーションのために指定するパラメータセットで構成されます。S3 バッチオペレーションで複数のジョブを作成して同時に実行することもできますし、必要に応じてジョブの優先順位を設定して各ジョブの優先度を定義し、最も重要な作業が先に実行されるようにすることもできます。また S3 バッチオペレーションでは、実行されたすべての変更内容やタスクについて、再試行の管理、経過のトラッキング、完了通知の送信、レポートの生成、AWS CloudTrail へのイベント伝達も実行できます。

S3 バッチオペレーションのチュートリアル

お客様

  • Teespring

    Teespring は 2011 年に設立されました。ユーザーはこのサービスを利用してオンラインでオンデマンドのカスタム製品を作成し、販売できます。すべてのカスタム製品について Teespring 内に複数のアセットが必要になるため、同社では Amazon S3 にペタバイト規模のデータを保存しています。

    Amazon S3 バッチオペレーションを使用することで、Amazon S3 の Glacier ストレージクラスを活用してストレージを最適化できました。当社では、独自のストレージメタデータを使用して、Amazon S3 Glacier に移動できるオブジェクトのバッチを作成しました。Amazon S3 Glacier を使うことで、ストレージコストを 80% 以上も節約できました。当社では、ストレージ管理を自動化する機会をいつも探していますが、S3 バッチオペレーションを使用すると、数百万個のオブジェクトを数分で管理できます

    Teespring – エンジニアリング担当 VP、James Brady 氏
  • Capital One

    Capital One は、金融とテクノロジーの交わるところに設立された銀行で、米国で最も認知度の高いブランドの 1 つです。Capital One では、Amazon S3 バッチオペレーションを使用して 2 つの AWS リージョン間でデータをコピーすることで、データの冗長性を高め、2 つのロケーション間のデータフットプリントを標準化しています。

    当社では、Amazon S3 バッチオペレーションを使用して、数百万個のオブジェクトをコピーするジョブを数時間で作成しました。これは従来なら数か月かかっていた作業です。バケット内のオブジェクトをリストにした Amazon S3 のインベントリレポートを、Amazon S3 バッチオペレーションジョブへの入力として使用しました。Amazon S3 は、データのコピー、進捗状況に関する最新情報の提供、ジョブ完了時の監査レポートの提供に役立ちました。当社のチームでは、この機能を使用することで何週間もの手作業による労力が必要なくなり、この大規模なデータ転送が定期的な作業になりました

    Capital One – ソフトウェアエンジニアリング担当バイスプレジデント、Franz Zemen 氏
  • ePlus

     

    AWS アドバンストコンサルティングパートナーの ePlus では、お客様と連携してお客様の IT 環境を最適化し、S3 バッチオペレーションなどのソリューションを使用して、クライアントが時間とお金を節約できるようにしています。

    S3 バッチオペレーションは本当にすばらしいです。あるクライアントの場合、S3 バッチオペレーションは、S3 のさまざまな操作を協調させ、ジョブをスケジュールし、情報を使いやすいダッシュボードに表示させるために必要だった時間、複雑さ、手間のかかる作業を削減するのに役立ちました。それだけでなく、S3 バッチオペレーションは困難なユースケースに対応する際にも役立ちました。この機能がなければこれほど短い時間で対応することはできなかったでしょう。
     
    例えば S3 バッチオペレーションでは、200 万個を超えるオブジェクトを、メタデータは維持したままで、同一アカウント内でリージョンをまたいですばやくコピーすることができました。アカウントをまたいだ場合の同様のタスクでも、このソリューションはシームレスに機能しました。特に、4 億個のオブジェクトの中で成功したオペレーションと失敗したオペレーションが自動的にふるい分けられた完了レポートが生成されたため、失敗したオペレーションを単一のファイルで簡単に処理できました

    ePlus – シニアソリューションアーキテクトおよび AWS 認定プロフェッショナル、David Lin 氏

S3 バッチオペレーションに関するブログ記事