Save 37% off PRO during our Black Friday Sale! »

S3界の革命児!S3 Batchのご紹介

S3界の革命児!S3 Batchのご紹介

Cc21f5175d3e9cd0f9574c3fe7656c1e?s=128

RyousukeOomae

July 17, 2019
Tweet

Transcript

  1. S3界の⾰命児︕S3 Batchのご紹介 2019/7/17 AKIBA.AWS #14 番外編〜AWS Update LT⼤会〜 1

  2. 2 ⾃⼰紹介 ⼤前諒祐(oomae ryousuke) • クラスメソッド株式会社 • コンサルティング部 • 2019/05

    ⼊社 • 前職 • SIer(3年、主に Web アプリ開発) • 好きな AWS サービス • SQS, Sumerian
  3. スライドは後で⼊⼿することが出来ますので 発表中の内容をメモする必要はありません。 写真撮影をする場合は フラッシュ・シャッター⾳が出ないようにご配慮ください Attention

  4. S3 Batch 知ってますか・・・︖ 4

  5. 5 S3 Batch とは ① • 昨年の re:Invent 2018 にて発表

    • 2019/04 に Generally Available(GA) • ⼤阪リージョンを除く全リージョンで利⽤可能 https://dev.classmethod.jp/cloud/aws/s3-batch-operations/ https://aws.amazon.com/jp/about-aws/whats-new/2019/04/Amazon-S3-Introduces-S3-Batch-Operations-for-Object-Management/
  6. 6 S3 Batch とは ② • S3 のコンソール画⾯にもメニュー追加済み

  7. S3 復習 7

  8. 8 S3 復習 ① • Amazon Simple Storage Service(S3) •

    AWS が提供するオブジェクトストレージ • 特徴 • 容量無制限 • スケーラブルで安定した性能 • 安価なストレージ • ⾼い耐久性 https://aws.amazon.com/jp/s3/ Amazon Simple Storage Service (S3)
  9. 9 S3 復習 ② • AWS を活⽤する場合、必ずどこかで使われている • オブジェクトデータの保存 •

    バックアップの保管 • ログの格納 • etc... • 格納されるデータ量は⽇々増加 • 何百、何千、何万、、、
  10. 10 突然の依頼

  11. 11 「このバケット内のデータ全部違うバケットに移してくれない︖」

  12. 12 実現⽅法は︖ ⼿作業で移す︖ コーディング︖

  13. 13 S3 Batch の出番です 13

  14. 14 S3 Batch とは ① • S3 オブジェクトに対して⼤規模なバッチオペレーションを実⾏可能 • オブジェクトのコピー

    • オブジェクトのタグ付け • ACL(アクセスコントロールリスト)の設定 • Amazon S3 Glacier からのオブジェクト復元 • AWS Lambda 関数の実⾏ ※「バッチ ≠ 定期的に実⾏される処理」ではなく「バッチ = ⼀括処理」
  15. 15 S3 Batch とは ② • ⽤語 • ジョブ •

    S3 Batch の基本単位 • オペレーション • ジョブで実⾏する単⼀のコマンド(=オブジェクトに対する操作) • タスク • ジョブの実⾏単位
  16. 16 とりあえずやってみる

  17. 17 S3 Batch やってみる • やりたいこと • 10 個のテキストファイルを持つ「akibaaws-s3-batch-source」バケット •

    空の「akibaaws-s3-batch-cptarget」バケット • S3 Batch を使って空のバケットに 10 ファイルをコピー akibaaws-s3-batch-source akibaaws-s3-batch-cptarget
  18. 18 S3 Batch やってみる 1. マニフェストの準備 2. ジョブの作成 3. 実⾏

  19. 19 S3 Batch やってみる 1. マニフェストの準備 2. ジョブの作成 3. 実⾏

  20. 20 S3 Batch やってみる – マニフェストの準備 • マニフェスト • S3

    Batch の操作対象となるオブジェクトのリスト • 「Amazon S3 インベントリ」もしくは「独⾃の CSV ファイル」が使⽤可能 • Amazon S3 インベントリはバケットのインベントリレポートを有効にすることで作成される Amazon S3 インベントリ(例)
  21. 21 S3 Batch やってみる 1. マニフェストの準備 2. ジョブの作成 3. 実⾏

  22. 22 S3 Batch やってみる - ジョブの作成① • ジョブを作成するリージョン マニフェストが⽰す(オペレーションの実⾏対象) オブジェクトと同じリージョンであること

    ※今回は「東京リージョン」 • マニフェストの選択 S3 インベントリレポートもしくは CSV を指定 ※今回は 「S3 インベントリレポート」
  23. 23 S3 Batch やってみる - ジョブの作成② • オペレーションの選択 オブジェクトに対してどんな操作を⾏うかを指定 ※今回は「PUT

    copy」 選択したオペレーションによって⼊⼒項⽬が変化 ex.「PUT copy」であれば「PUT コピー先バケット」
  24. 24 S3 Batch やってみる - ジョブの作成③ • 追加オプション 「説明・オプション」「ジョブの実⾏優先度」が指定可能 •

    完了レポート 完了レポートを⽣成するかどうか、それに伴う設定を指定 • アクセス許可 ジョブに対してロールを割り当てる必要あり ※AWS 公式ドキュメントに各オペレーション毎に必要となるアク セス許可ポリシーが明記
  25. 25 S3 Batch やってみる 1. マニフェストの準備 2. ジョブの作成 3. 実⾏

  26. 26 S3 Batch やってみる - ジョブの実⾏① • 作成後は「確認待ち」 • 「確認して実⾏」で実⾏

    → 成功すると「完了」 ※AWS CLI、AWS SDK、REST API でジョブを作成した場合は確認なしで実⾏可能 (ジョブの準備が出来次第、実⾏される)
  27. 27 S3 Batch やってみる - ジョブの実⾏② • 実⾏結果の確認 テキストファイルがコピーされている︕

  28. 28 まとめ • S3 Batch を使うことで複数のオブジェクトに対する⼀括処理が可能 • 「マニフェストの準備 → ジョブの作成・実⾏」のシンプルな⼿順

    • 今までに無い S3 のユースケースが⽣まれる かも
  29. 29