Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
とっ散らかったログバケットを S3バッチオペレーションで整理整頓! / Organizing ...
Search
コドモン開発チーム
October 24, 2024
0
210
とっ散らかったログバケットを S3バッチオペレーションで整理整頓! / Organizing Chaotic Log Buckets with S3 Batch Operations
コドモン開発チーム
October 24, 2024
Tweet
Share
More Decks by コドモン開発チーム
See All by コドモン開発チーム
テスト自動化を進める上でのマインドセットとしてのXP(エクストリーム・プログラミング) / xp-mindset-for-test-automation
codmoninc
0
630
語られた戦略を 語れる戦略へー共通言語を作るPdMの試み / making-strategy-shareable
codmoninc
6
4.5k
コンテナイメージ脆弱性検知の実践事例 ~ 基礎から応用まで ~ / practical-case-studies-in-container-image-vulnerability-detection
codmoninc
1
87
長期運用プロダクトこそ効くコンテキスト管理の妙 / The Art of Context Management for Long-Running Products
codmoninc
0
140
ECSとEFSを組み合わせた Batchサーバー デプロイ方法の模索 / Exploring deployment methods for a Batch server using ECS and EFS
codmoninc
3
82
(ほぼ)ウォーターフォール開発かつ (ほぼ)手動テストの環境で仕事してきたQAエンジニアが コドモンに入って驚いたこと / A QA Engineer's Culture Shock at Codmon
codmoninc
1
980
PHPロゴの正しい使い方〜意外と知らない公式仕様〜 / how to properly use the php logo
codmoninc
0
310
保育・子育てを支えるデザイン~横断UXチームの取り組みと成果~ / Designing for Childcare and Parenting
codmoninc
0
370
事業成長を後押しする ほどよいリプレイスの進め方 / Th Way to Replace for Business Growth
codmoninc
0
57
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Designing for humans not robots
tammielis
254
26k
We Have a Design System, Now What?
morganepeng
54
7.9k
How to Ace a Technical Interview
jacobian
280
24k
RailsConf 2023
tenderlove
30
1.3k
[SF Ruby Conf 2025] Rails X
palkan
0
490
Building Adaptive Systems
keathley
44
2.9k
Fireside Chat
paigeccino
41
3.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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