Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
とっ散らかったログバケットを S3バッチオペレーションで整理整頓! / Organizing ...
Search
コドモン開発チーム
October 24, 2024
0
110
とっ散らかったログバケットを S3バッチオペレーションで整理整頓! / Organizing Chaotic Log Buckets with S3 Batch Operations
コドモン開発チーム
October 24, 2024
Tweet
Share
More Decks by コドモン開発チーム
See All by コドモン開発チーム
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
2
23k
組織&チームで取り組むプロポーザル企画の実践法 / Crafting Winning Proposals: A Practical Guide for Organizations and Teams
codmoninc
0
18
WebからモバイルへVue.js × Capacitor 活用事例
codmoninc
0
37
コードに語らせよう 自己ドキュメント化が内包する楽しさについて / Let the Code Speak: The Joy of Self-Documenting Code
codmoninc
0
44
コードリーディング入門! 先人たちに思いを馳せれば プログラミングがもっと楽しくなる / Introduction to Code Reading!
codmoninc
1
370
子育てインフラの構築と子どもを取り巻く市場の拡大に向けて / Building child-rearing infrastructure and expanding the children's market
codmoninc
0
550
伸び代しかない業界で、何をどうつくる?PdM視点で語るプロダクト開発の裏側 / A PdM's Inside Story of Product Development
codmoninc
0
500
技術で挑む保育現場の課題解決 〜コドモンエンジニアの開発スタイルと取り組み〜 / Tackling Challenges in Childcare Settings with Technology
codmoninc
0
490
ドメイン駆動設計とXPで支える子どもの未来〜保育の暗黙知を活かすシステム開発〜 / Empowering Children's Future Through DDD and XP
codmoninc
0
500
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7k
Being A Developer After 40
akosma
90
590k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Side Projects
sachag
455
43k
Agile that works and the tools we love
rasmusluckow
329
21k
It's Worth the Effort
3n
185
28k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Embracing the Ebb and Flow
colly
86
4.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Transcript
とっ散らかったログバケットを S3バッチオペレーションで整理整頓! 2024年10月23日 株式会社コドモン 田中知英 OpsJAWS Meetup31 泥臭いOPSのLT
2 経歴 音響エンジニア(PA)からITエンジニアに転職。SIerや派遣でのインフ ラ業務を数社経験後、2020年10月にコドモンにSREとして入社。 趣味は週末ランニングで、社内にランニングクラブを立ち上げたの で、リレーマラソンに会社で出るのが直近の目標🏃 自己紹介 田中 知英 たなか
ともひで dehio3
3 Mission
4 すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、保育・教育施設向けWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。
5 導入施設数推移(ICT) 2021年4月 8,000 2020年4月 5,200 2019年4月 3,000 2018年4月 1,500
2017年4月 500 2016年4月 120 全国導入数 19,000 施設 2022年2月 11,000 17,000 2024年1月 (2024年7月時点) 14,000 2023年4月
6 突然ですが、こんなこと起きてませんか?
7 「AWSアカウントの増加に伴い、AWS Control Towerによるログ の統制を図ったものの、導入以前のログが各アカウントに散在して いる。」 「ログの管理方針を明文化したものの、明文化前のログは命名規則 がないまま整理されず、バラバラな状態が残っている。」
8 そんな状況を放置していませんか?
9 放置せずに泥臭く整理しているお話です🧹
10 今日話すこと AWSでS3オブジェクトを移動する方法 S3バッチオペレーションの利用方法 S3バッチオペレーションの活用とTIPS まとめ 1 2 3 4
11 AWSでS3オブジェクトを移動する方法
12 CONFIDENTIAL - © 2022 CoDMON Inc. 12 1. AWSでS3オブジェクトを移動する方法
AWSでS3オブジェクトを移動するにはいくつかの方法がある
13 CONFIDENTIAL - © 2022 CoDMON Inc. 13 1. AWSでS3オブジェクトを移動する方法
AWSでS3オブジェクトを移動するにはいくつかの方法がある 1. AWSコンソールからの「移動」アクション
14 CONFIDENTIAL - © 2022 CoDMON Inc. 14 1. AWSでS3オブジェクトを移動する方法
AWSでS3オブジェクトを移動するにはいくつかの方法がある 1. AWSコンソールからの「移動」アクション ☔1回5GBの制限あり。コンソール閉じれない。
15 CONFIDENTIAL - © 2022 CoDMON Inc. 15 1. AWSでS3オブジェクトを移動する方法
AWSでS3オブジェクトを移動するにはいくつかの方法がある 1. AWSコンソールからの「移動」アクション ☔1回5GBの制限あり。コンソール閉じれない。 2. S3 CLIを使用したオブジェクトのコピーまたは移動
16 CONFIDENTIAL - © 2022 CoDMON Inc. 16 1. AWSでS3オブジェクトを移動する方法
AWSでS3オブジェクトを移動するにはいくつかの方法がある 1. AWSコンソールからの「移動」アクション ☔1回5GBの制限あり。コンソール閉じれない。 2. S3 CLIを使用したオブジェクトのコピーまたは移動 ☔スクリプトの作成や、動作基盤の準備が必要。
17 CONFIDENTIAL - © 2022 CoDMON Inc. 17 1. AWSでS3オブジェクトを移動する方法
AWSでS3オブジェクトを移動するにはいくつかの方法がある 1. AWSコンソールからの「移動」アクション ☔1回5GBの制限あり。コンソール閉じれない。 2. S3 CLIを使用したオブジェクトのコピーまたは移動 ☔スクリプトの作成や、動作基盤の準備が必要。 3. S3バッチオペレーションによるオブジェクトの操作
18 CONFIDENTIAL - © 2022 CoDMON Inc. 18 1. AWSでS3オブジェクトを移動する方法
AWSでS3オブジェクトを移動するにはいくつかの方法がある 1. AWSコンソールからの「移動」アクション ☔1回5GBの制限あり。コンソール閉じれない。 2. S3 CLIを使用したオブジェクトのコピーまたは移動 ☔スクリプトの作成や、動作基盤の準備が必要。 3. S3バッチオペレーションによるオブジェクトの操作 🌞動作基盤不要で、マネージドで大量処理可能。
19 CONFIDENTIAL - © 2022 CoDMON Inc. 19 1. AWSでS3オブジェクトを移動する方法
AWSでS3オブジェクトを移動するにはいくつかの方法がある 1. AWSコンソールからの「移動」アクション ☔1回5GBの制限あり。コンソール閉じれない。 2. S3 CLIを使用したオブジェクトのコピーまたは移動 ☔スクリプトの作成や、動作基盤の準備が必要。 3. S3バッチオペレーションによるオブジェクトの操作 🌞動作基盤不要で、マネージドで大量処理可能。
20 S3バッチオペレーションの利用方法
21 CONFIDENTIAL - © 2022 CoDMON Inc. 21 1. S3バッチオペレーションとは?
S3 Batch Operations Job Manifest (Object List) Operation Completion report 利用方法
22 CONFIDENTIAL - © 2022 CoDMON Inc. 22 1. S3バッチオペレーションとは?
↓成功率とオブジェクト数 ↓失敗率とオブジェクト数 ↓処理時間 利用方法
23 S3バッチオペレーションの活用とTIPS
24 CONFIDENTIAL - © 2022 CoDMON Inc. 24 3. S3バッチオペレーションの活用とTIPS
コピーオペレーション • オブジェクトの移動前後でパスの変更が不要な場合 amzn-s3-source-bucket /prefix_name/YYYY/MM/DD/ file_name.json.gz amzn-s3-dest-bucket /prefix_name/YYYY/MM/DD/ file_name.json.gz operation Copy
25 CONFIDENTIAL - © 2022 CoDMON Inc. 25 3. S3バッチオペレーションの活用とTIPS
Lambda呼び出しオペレーション • オブジェクトの移動前後でパスの変更が必要な場合 amzn-s3-source-bucket /prefix_A/YYYY/MM/DD/ file_name.json.gz amzn-s3-dest-bucket /prefix_B/YYYY/MM/DD/ file_name.json.gz operation Invoke AWS Lambda function
26 CONFIDENTIAL - © 2022 CoDMON Inc. 26 3. S3バッチオペレーションの活用とTIPS
Lambda呼び出しオペレーション • オブジェクト単位でLambdaが 呼びされて処理される • コピー用途だけでなく、既存の オブジェクトに対する様々な処 理を実現できる
27 CONFIDENTIAL - © 2022 CoDMON Inc. 27 3. S3バッチオペレーションの活用とTIPS
Lambda呼び出しオペレーション ⚠注意⚠ • Lambdaのレスポンスについ ては、S3バッチオペレーショ ンが解釈できる形にする必要 がある マニュアル:Amazon S3 バッチイベントで Lambda 関数を呼び出す
28 CONFIDENTIAL - © 2022 CoDMON Inc. 28 3. S3バッチオペレーションの活用とTIPS
TIPS:CLIでジョブを作成しマニフェストファイルも自動生成 • AWSコンソールではマニフェストファイルの作成が必要 • マニフェストファイルは移行対象のオブジェクトのリスト
29 CONFIDENTIAL - © 2022 CoDMON Inc. 29 3. S3バッチオペレーションの活用とTIPS
TIPS:CLIでジョブを作成しマニフェストファイルも自動生成 • 「s3api list-objects-v2」などでリスト作るのは手間 • 一応公式のツールがあるっぽい ◦ aws-samples/amazon-s3-manifest-generator-for-batch-operations
30 CONFIDENTIAL - © 2022 CoDMON Inc. 30 3. S3バッチオペレーションの活用とTIPS
TIPS:CLIでジョブを作成しマニフェストファイルも自動生成 • 「s3control create-job」の「--manifest-generator」に てオブジェクトのリストを自動生成してくれる • フィルタ条件を指定することで、特定のオブジェクトをリス トとして自動生成も可能(作成時間、サイズ、キー名など) マニュアル:S3 バッチオペレーションジョブの作成/マニフェストの自動 的生成
31 まとめ
32 CONFIDENTIAL - © 2022 CoDMON Inc. 32 4.まとめ •
大量のオブジェクト操作にはS3バッチオペレーションが有効 • Lambdaを活用すると、多様な要件にも柔軟に対応 • ジョブを作成する際はCLIを使うことマニフェスト作成も自 動化でき、より簡単に使える
33 コドモン採用ページ 開発ブログ コドモンでは一緒に働きたい仲間を募集しています!
34 ご清聴ありがとうございました!
None