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
16
とっ散らかったログバケットを S3バッチオペレーションで整理整頓! / Organizing Chaotic Log Buckets with S3 Batch Operations
コドモン開発チーム
October 24, 2024
Tweet
Share
More Decks by コドモン開発チーム
See All by コドモン開発チーム
業界に標準を提案し、業界と長くお付き合いするVertical SaaS / Vertical SaaS that Proposes Industry Standards and Builds Long-Term Relationships with the Industry.
codmoninc
0
12
「Be agile」でいるためにしていること / What we do to stay 'agile'
codmoninc
1
400
ペアプロに納得感がなかった話 / A story about not being convinced by pair programming
codmoninc
1
460
だいじなこと、に集中するチームでいるために / To be a team that focuses on what matters
codmoninc
1
410
遅延読み込みの歩みから理解するSeekableOCI / Understanding SeekableOCI from the Perspective of Lazy Loading
codmoninc
0
14
コドモンがXPを取り入れている理由 / The reason why Codmon is incorporating XP
codmoninc
1
480
ベイビーステップで実現! 地図検索機能のVue2→3移行話/Achieving Baby Steps: Transitioning Map Search Functionality from Vue 2 to Vue 3
codmoninc
3
160
CDKとLambda Aliasで実現する、SQS+Lambdaの安全なリリース手法 / SQS+Lambda release method with CDK and Lambda Alias
codmoninc
2
430
チーム一丸で取り組む採用とDevRel ~Engineering Office誕生の背景と取り組み~ / Engineering Office at CoDMON
codmoninc
3
470
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
32
1.5k
How GitHub (no longer) Works
holman
310
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Done Done
chrislema
181
16k
Code Review Best Practice
trishagee
64
17k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
4 Signs Your Business is Dying
shpigford
180
21k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Unsuck your backbone
ammeep
668
57k
Building an army of robots
kneath
302
43k
Building Applications with DynamoDB
mza
90
6.1k
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