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
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kazuhiko Yamashita
September 27, 2024
Programming
710
3
Share
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
PHPカンファレンス沖縄の前夜祭でお話しました。
Kazuhiko Yamashita
September 27, 2024
More Decks by Kazuhiko Yamashita
See All by Kazuhiko Yamashita
成長期における、 ユーザー領域の複雑さと 整備の進め方
pyama86
0
480
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
2
5.9k
Managing Database Migrations in Go Backend Systems
pyama86
0
400
新しい職場の CI が 20 分かかっていたらあなたならどうする?
pyama86
2
1.5k
事業を差別化する技術を生み出す技術
pyama86
4
2k
Re:Define 可用性を支える モニタリング、パフォーマンス最適化、そしてセキュリティ
pyama86
9
11k
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
2k
Tuning GraphQL on Rails
pyama86
2
2.7k
ttlcacheのここがスゴい
pyama86
1
240
Other Decks in Programming
See All in Programming
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
110
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
190
Spec Driven Development: The End Of Vibe Coding | DevLand 2026
danielsogl
PRO
0
110
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
160
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
240
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
440
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.3k
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
300
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
150
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
130
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
540
PHPで TLSのプロトコルを実装してみる
higaki_program
0
740
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
500
Large-scale JavaScript Application Architecture
addyosmani
515
110k
A Soul's Torment
seathinner
5
2.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
Faster Mobile Websites
deanohume
310
31k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Thoughts on Productivity
jonyablonski
76
5.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
96
Bash Introduction
62gerente
615
210k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Transcript
ΫϥυαʔϏεͷ ར༻ίετΛݮ͢Δٕज़ ʙԁ҆ͷਅೆ෩Λײͯ͡ʙ
ࢁԼ!QZBNB (.0ϖύϘٕज़ج൫νʔϜ γχΞɾϓϦϯγύϧ ɹΩϟϯϓɺཱྀߦɺώϧτϯ८ΓɺιϫχΤ८Γ ػցֶशɺϦϦʔεΤϯδχΞϦϯά
ԭೄ͖͗͢Δ
ϗεςΟϯάࣄۀ &$ࢧԉࣄۀ ϋϯυϝΠυɾͦͷଞࣄۀ
ͬͱ͓͠Ζ͘Ͱ͖Δ
ࠓ͢͜ͱ ͳͥΫϥυαʔϏεͷίετݮ͕ඞཁ͔ʁ Amazon CloudFront Amazon Simple Storage Service(S3) Amazon EC2
͓Θ͔ΓͩΖ͏͔ʁ ͳͥυϧΛങ͍ͬͯͳ͔ͬͨͷ͔… https:// fi nance.yahoo.co.jp/quote/USDJPY=FX ΑΓҾ༻
ۚJT.POFZ
Amazon CloudFront https://aws.amazon.com/jp/cloudfront/ ΑΓҾ༻
Contents Delivery Network CDN Origin User Client 1.OriginͷίϯςϯπΛΩϟογϡͯ͠Ԡ 2. ੈքنͰࢄͯ͠ɺΑΓ͍ۙDC͔ΒԠ͢Δ
3. τϥϑΟοΫͷγΣʔϐϯάͳͲͰ͖Δͷ͋Δ
Amazon CloudFrontͷओཁͳίετཁҼ ΠϯλʔωοτͷϦʔδϣϯϨϕϧͷσʔλసૹ (OUT) ΦϦδϯͷϦʔδϣϯϨϕϧͷσʔλసૹ (OUT) HTTP ϝιουͷϦΫΤετྉۚ (1 ສ݅͋ͨΓ)
ΤϯυϢʔβʔͷσʔλసૹ ΦϦδϯαʔόͷσʔλసૹ(POSTϦΫΤετͷBodyͳͲ) HTTPϦΫΤετͷ
Amazon CloudFrontͷओཁͳίετཁҼ ΠϯλʔωοτͷϦʔδϣϯϨϕϧͷσʔλసૹ (OUT) ΦϦδϯͷϦʔδϣϯϨϕϧͷσʔλసૹ (OUT) HTTP ϝιουͷϦΫΤετྉۚ (1 ສ݅͋ͨΓ)
ΤϯυϢʔβʔͷσʔλసૹ ΦϦδϯαʔόͷσʔλసૹ(POSTϦΫΤετͷBodyͳͲ) HTTPϦΫΤετͷ
• ը૾ͳͲͷΞηοτϑΝΠϧͷαΠζݮ • ѹॖϑΥʔϚοτͰͷ৴Λߦ͏ • ίϯςϯπɾΩϟογϡίϯτϩʔϧ ΠϯλʔωοτͷϦʔδϣϯϨϕϧͷσʔλసૹ (OUT)ͷݮ ϦΫΤετΛͤ͞ͳ͍ɺ৴αΠζΛݮ͢Δ
1. WebPͷม 2. αϜωΠϧαΠζͷม 1. ϖύϘͰGoͰαʔό࣮ 2. ϚωʔδυαʔϏεɾOSS※ ಈతม͍͍ͧ ※
https://github.com/imgproxy/imgproxy
ίϯςϯπɾΩϟογϡίϯτϩʔϧ • Etag/LastModi fi edϔομʔΛ༩͢Δ • ΩϟογϡίϯτϩʔϧϔομʔΛ༩͢Δ
HTTP Status 304
Etag/LastModi fi edϔομʔΛ༩͢Δ CDN Origin User Client 1. ॳճϦΫΤετ 2.
ॳճϦΫΤετ 3. Ϩεϙϯε 4. Ωϟγϡ&Ϩεϙϯε 5. 2ճϦΫΤετ 6. Ωϟογϡ͔ΒϨεϙϯε ͔ͭεςʔλε304 ίϯςϯπͷLastModi fi ed͔EtagΛ ൖ͢Δ͜ͱͰɺίϯςϯπͷมԽͷ ༗ແΛஅͯ͠ɺσʔλసૹΛݮ͢Δɻ
Amazon Simple Storage Service(S3) https://aws.amazon.com/jp/s3/ ΑΓҾ༻
ετϨʔδΫϥε ཧ͕ͯ͢
ετϨʔδΫϥεཧ 1. අ༻ͦΕͳΓʹ͔͔Δ͕ɺ͙͢ʹऔΓग़ͤΔ 2. අ༻͍͕҆ɺσʔλͷऔΓग़͠ʹएׯ͕͔͔࣌ؒΔ 3. අ༻͍͕҆ɺऔΓग़͢ͷʹ͕͔࣌ؒͳΓֻ͔Δ͠ɺ͔͔ۚΔ S3ෳͷετϨʔδΫϥε͕͋Γྉۚػೳ͕ҟͳΔ https://aws.amazon.com/jp/s3/storage-classes/
ϥΠϑαΠΫϧϙϦγʔ 1.࡞ޙ30ա͗ͨΒ͍҆ετϨʔδʹҠಈ 2.࡞ޙ60ա͗ͨΒ͍҆ετϨʔδʹҠಈ 3.࡞ޙ360ա͗ͨΒσʔλΛআ ࡞ΛͱʹɺετϨʔδΫϥεΛࣗಈͰมߋՄೳ ྫ:
ϥΠϑαΠΫϧϙϦγʔ ࢥΘ͵ίετ૿͕ൃੜ͢Δࣄ͕͋Δ 1.ετϨʔδΦʔόʔϔουྉۚ 2. ҠߦϦΫΤετྉۚ Glacier/Glacier Deep ArchiveʹҠಈ͢ΔͱɺΦϒδΣΫτ͝ͱʹϝλσʔλ͕࡞͞ΕΔ ΦϒδΣΫτͷҠߦʹ͍ͭͯετϨʔδΫϥε͝ͱʹઃఆ͞ΕͨҠߦྉ͕͔͔ۚΔ Amazon
S3 ϥΠϑαΠΫϧΛ༻ͨ͠ΦϒδΣΫτͷҠߦ https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html
͍ɺΘͨ͠ͷ͜ͱͰ͢ Զత࠷ڧϥΠϑαΠΫϧϙϦγʔΛ ೖͨ͠Βίετ͕૿͑ͨ
Intelligent-Tiering͕͓͢͢Ί • ΞΫηεͷΛݟͯɺ30ɺ90Λ͖͔͚ͬʹࣗಈͰ ετϨʔδΫϥεΛҠߦ • 128kҎԼͷΦϒδΣΫτແࢹͯ͘͠ΕΔ(αΠζมߋՄೳ) • ΞΫηεͷΛੳ͢ΔɺΦϒδΣΫτʹԠͯ͡एׯඅ༻͕͔͔Δ • ࣮ͱͯ͠ը૾อଘ༻ͷόέοτͰ6ׂݮͨ͠
όέοτͷόʔδϣχϯάͷ᠘ • TeraformͷtfstateͷόέοτͳͲͰΑ͘ར༻͞ΕΔ • όʔδϣχϯά͞Ε͍ͯΔόέοτͷΦϒδΣΫτͷআೋஈ֊͋Δ Object ඇݱߦ όʔδϣϯ Object আ
ڏແ আ ۚ is Money
͍ɺΘ̓
ਪଌ͢Δͳɺ؍ଌͤΑ Amazon S3 Storage Lens μογϡϘʔυʹ՝ۚ͢Δͷ͕͓͢͢Ί ແྉͷϝτϦΫε͚ͩͩͱɺ༰ྔ͘Β͍͔͠Θ͔Βͳ͍ GETϦΫΤετͷͳͲɺྉۚʹؔ࿈͢ΔϝτϦΫε͕ όέοτ͝ͱʹੳͰ͖Δ
Amazon EC2 - Elastic Compute Cloud -
Amazon EC2 1. ϦβʔϒυΠϯελϯεΛങ͏ 2. ύϑΥʔϚϯενϡʔχϯάΛͻͨ͢ΒͬͯɺΛΔ 3. ARMΞʔΩςΫνϟʹมߋ͢Δ ΕऴΘΔࣄ͔͠ͳ͍ https://aws.amazon.com/jp/ec2/pricing/reserved-instances/
࣍ճ༧ࠂ Kaigi on Rails 2024ʹͯ EC2(k8s node)Λ0ʹͨ͠ Λ͠·͢
ARMΞʔΩςΫνϟҠߦ ෳࡶͳԋࢉॲཧͰͳ͚ΕɺARM͕ ύϑΥʔϚϯεɺίετͱʹϝϦοτ͕༗Δ https://speakerdeck.com/pyama86/shi-jian-armakitekutiyayi-xing?slide=34
ۚΛ͔͚ͣʹτϨʔεΔͳΒ opentelemetry-collector + Sentry Self Hosted͕ڧ͍ SentryPostgreSQLͷαʔό1 + ΞϓϦk8s +
helmͰ͙͢ߏஙͰ͖Δ Մ༻ੑ͕ͦΜͳʹඞཁͳ͍͔Βɺܹ҆ߏͰ͍͚Δ(΄Μͱʹʁ) ΤϥʔͷτϨʔεʹՃ͑ͯύϑΥʔϚϯεͷτϨʔεऔΕΔ͓͠ಘ
ۚΛ͔͚ͣʹτϨʔεΔͳΒ
࠷ޙʹ
ίετϞχλϦϯά͕ॳख 1. AWS Cost ExplorerͳΓΛि࣍ͷMTGͰݟΔ 2. ίετ૿ͷ͖͍͠ࢹΛ͢Δ 3. Cloud WatchͷμογϡϘʔυΛோΊΔ
ԭೄେ͖Ͱ͢ʂࠓ͙͢ॅΈ͍ͨ ࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU