ちょっと話題の記事

S3が数十億におよぶ大量オブジェクトへのバッチ処理機能を発表!(プレビュー) #reinvent

今まで非常に時間がかかっていた大量のS3オブジェクトへの一括バッチ処理機能が発表されました!
2018.11.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

「S3の大量オブジェクトに一括でAPI流したい人生だった」

そんなあなたに朗報。S3の複数のオブジェクトに対して一括でバッチ処理を実行する機能が発表されました。現在、まだプレビュー受付中ですが、全国のS3ファンの皆様、まずは申し込んでみてはいかがでしょう?

Amazon S3 Introduces S3 Batch Operations (Preview) for Object Management

S3バッチ処理きたか…!!

  ( ゚д゚) ガタッ
  /   ヾ
__L| / ̄ ̄ ̄/_
  \/   /

S3バッチ一括処理機能とは?

Amazon S3に格納されている数十億のオブジェクトに対して、一括でAPIリクエストやWebコンソール操作を実行および管理できる機能です。

今まで辛かった点と良くなる点

今まで大量のオブジェクトに対してそれぞれのオブジェクトに対して個別に処理が必要であったため非常に時間がかかっていました。

  • オブジェクトのプロパティ変更
  • オブジェクトのメタデータ変更
  • バケット間でのオブジェクトコピー
  • 各種アクセスコントロールの変更

今回新発表のS3バッチ処理機能では、あらかじめS3上で変更対象のオブジェクトを定義しておくことで、約数分間で一括でバッチ処理を適用することができます。

AWS Lambdaを利用して、数十億のS3オブジェクトに対するデータ処理やイメージファイルのトランスコードなどをカスタマイズ可能。バッチ処理が実行されたタスクについては、リトライの管理、変更状況のトレース、通知送信、完了レポートの作成、AWS CloudTrailへのイベント送信も行うことが可能です。

利用方法の概要

大まかには、以下の手順でS3バッチ処理を実行できます。

  1. S3インベントリリポートを使用して、S3バケットまたはプレフィックス内の全てのオブジェクトを一覧表示
  2. ターゲットオブジェクトのリストを指定
  3. 処理対象のAPIを指定
  4. バッチ処理の一括実行
  5. バッチオペレーションの通知、完了レポートの作成

開始方法(プレビュー申込)

現在、まだプレビュー受付状態です。下からプレビュー登録しておきましょう!!

S3 Batch Operations Preview

S3の使い方が大幅に変わる可能性あり

今まで、各オブジェクトにつけたパブリック属性などのメタデータを変更するのは、各オブジェクトに対する順次処理にならざるを得ず、大量のオブジェクトがある場合には、非常に手間がかかる処理でした。今回利用できるAPIは非常に多岐にわたっているようなので、使い方次第では、今までのS3の使い方が大幅に変わる可能性があります。

実際に使ってみないとわかりませんが、このあたりの処理が一括でサクッと実行できるようになれば、今後ますますS3の活用が広がりそうです。

それでは、今日はこのへんで。濱田(@hamako9999)でした。