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
28
とっ散らかったログバケットを S3バッチオペレーションで整理整頓! / Organizing Chaotic Log Buckets with S3 Batch Operations
コドモン開発チーム
October 24, 2024
Tweet
Share
More Decks by コドモン開発チーム
See All by コドモン開発チーム
コドモンの決済基盤のテストの紹介 / Introduction to the Payment Infrastructure Testing of Codmon
codmoninc
0
200
組織の変化とSREの役割進化 | 責務拡大にどう応えるか / Organizational Change and the Evolution of the SRE Role
codmoninc
0
9
コンテナイメージを複数のチームで扱うための、 ビルドフローの構築・運用 / Building and Managing a Container Image Workflow for Multiple Teams
codmoninc
0
35
業界に標準を提案し、業界と長くお付き合いするVertical SaaS / Vertical SaaS that Proposes Industry Standards and Builds Long-Term Relationships with the Industry.
codmoninc
0
450
「Be agile」でいるためにしていること / What we do to stay 'agile'
codmoninc
1
580
ペアプロに納得感がなかった話 / A story about not being convinced by pair programming
codmoninc
1
580
だいじなこと、に集中するチームでいるために / To be a team that focuses on what matters
codmoninc
1
510
遅延読み込みの歩みから理解するSeekableOCI / Understanding SeekableOCI from the Perspective of Lazy Loading
codmoninc
0
37
コドモンがXPを取り入れている理由 / The reason why Codmon is incorporating XP
codmoninc
1
600
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
BBQ
matthewcrist
85
9.4k
Designing for Performance
lara
604
68k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Code Reviewing Like a Champion
maltzj
520
39k
Scaling GitHub
holman
458
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Done Done
chrislema
181
16k
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