Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS CLI で気軽にコスト改善やってみた
Search
Kazuki Obata
November 07, 2024
Technology
330
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CLI で気軽にコスト改善やってみた
JAWS-UG CLI専門支部 #419 シェル基礎1 (入力)
https://jawsug-cli.connpass.com/event/335677/
Kazuki Obata
November 07, 2024
More Decks by Kazuki Obata
See All by Kazuki Obata
ウォンテッドリーのアラート設計と Datadog 移行での知見
donkomura
0
800
KubeCon + CloudNativeCon Japan 2025 Recap
donkomura
0
980
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
530
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
350
散らばったトレースを繋げる技術
donkomura
1
930
ウォンテッドリーのインフラチームに加わってみて
donkomura
0
310
入門 KRR
donkomura
0
440
Other Decks in Technology
See All in Technology
Deep Data Security 機能解説
oracle4engineer
PRO
3
1k
You Have Agency(サンキュー、Ruby)
snoozer05
PRO
5
670
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
260
20261031_IoTLT_vol140_kitazaki_v1.pdf
kitazaki
0
160
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
3
790
2拠点SRE活動始めてみた | sogaoh's LT @ ホンマでっかSRE勉強会 #3
sogaoh
PRO
0
240
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
380
Patterns in AI Driven Software Development
akosma
PRO
0
470
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
150
AIエージェント統制はAPIから——押さえるべき5つの要素
nagix
0
120
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
0
270
AIコーディングはじめました
miso
0
140
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
870
Ruling the World: When Life Gets Gamed
codingconduct
0
430
Abbi's Birthday
coloredviolet
4
11k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
490
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.2k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Transcript
© 2024 Wantedly, Inc. AWS CLI で気軽に コスト改善やってみた JAWS-UG CLI専門支部
#419 Nov. 7 - Kazuki Obata @donkomura
© 2024 Wantedly, Inc. 自己紹介 巨畠 和樹 (Obata Kazuki) @donkomura_
Wantedly, Inc. (2024/09~) インフラエンジニア #AWS歴2年目 #SAA #AWS Organizations #ボルダリング
© 2024 Wantedly, Inc. 解決したい課題 - Amazon S3 の multipart
upload - 大きなS3オブジェクトを分割してアップロードできる機能 - 未完了のもの課金対象になる - アップロードに失敗すると未完了の multipart uploads が残る - ストレージクラスと同じだけ料金がかかる - ムダな費用が発生しているのでは...?? - 未完了の multipart uploads が実はめっちゃ溜まってる...?? → 量を調べて削除したい 未完了の multipart uploads を削除したい
© 2024 Wantedly, Inc. 課題 • マネコンで multipart upload を一覧できない
→ AWS CLI でシュッと一覧したい(データ量も知りたい) どれぐらい multipart upload が溜まっているか知りたい https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/list-mpu.html
© 2024 Wantedly, Inc. 調査 1. S3 バケットを一覧する ◦ aws
s3api list-buckets --query "Buckets[].Name" 2. バケットで進行中の multipart upload 操作を一覧する ◦ aws s3api list-multipart-uploads --bucket "$bucket" --query "Uploads[*].[Key,UploadId]" ◦ 最大 1,000件/req な点に注意 3. 未完了の multipart upload の詳細を一覧する ◦ aws s3api list-parts --bucket "$bucket" --key "$key" --upload-id "$upload_id" --query "Parts[*].Size" ◦ 最大 1,000件/req な点に注意 AWS CLI を活用してコストを試算する
© 2024 Wantedly, Inc. 試算する • 未完了な multipart upload のデータ量を求める
◦ cat data | cut -f3 -d, | \ awk '{s+=$1} END {print s " bytes"; split("B KB MB GB TB",unit); for(i=0; s>=1000 && i<5; i++) s/=1000; printf "%.2f %s\n", s, unit[i+1]}' • 費用を計算する ◦ ストレージタイプが「S3 標準」ならストレージ料金は 0.025 USD/GB ぐらい ◦ (データ量) x 0.025 = (未完了の multipart upload の費用) USD ◦ 180 GB ぐらいあったので、すべて消すと 700円ぐらい節約できる シェル芸をする
© 2024 Wantedly, Inc. 対処 • 未完了の multipart uploads を削除する
◦ aws s3api abort-multipart-upload \ --bucket $bucket --key $key --upload-id $upload_id • 今回はバケットライフサイクル設定を入れた ◦ AbortIncompleteMultipartUpload アクション ◦ Terraform で設定した ◦ AWS CLI で設定することもできる 未完了の multipart uploads を削除する
© 2024 Wantedly, Inc. まとめ • AWS CLI で時間をかけずにコストを見積もれた ◦
作業に 1h も使っていない • 多少スクリプトとして書く必要がある ◦ list の場合は1回で取得できる数が制限される ◦ 制限されていたら Marker を渡して再度実行する必要がある • AWS CLI で気軽にコスト改善できた 🚀 ◦ わずかだが、コスト改善に寄与 AWS CLI で未完了 multipart uploads の量を調査・コスト改善に寄与した話