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
コンテナをSpot Fleetで起動するという選択肢
Search
Kazuma Watanabe
December 14, 2016
Technology
2
1.1k
コンテナをSpot Fleetで起動するという選択肢
JAWS-UG コンテナ支部 #7
Kazuma Watanabe
December 14, 2016
Tweet
Share
More Decks by Kazuma Watanabe
See All by Kazuma Watanabe
SmartHRにおけるBiTemporal Data Modelの実践のその後 / After the practice of BiTemporal Data Model in SmartHR
wata727
1
3.1k
PHPを検査するPHPを書く / Write PHP inspection by PHP
wata727
1
2.3k
快適なコードレビューを目指して / For a comfortable code review
wata727
1
660
現実世界でのコンテナの運び方
wata727
3
1.2k
Lintの付き合い方とPahoutのご紹介
wata727
0
170
Querlyで始めるコードレビューの自動化
wata727
2
450
エンジニア向けSaaSを支えるInfrastructure as Code
wata727
5
2.4k
SideCIのインフラ構築を自動化した話
wata727
1
2.2k
Other Decks in Technology
See All in Technology
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
2.8k
カミナシ社の『ID管理基盤』製品内製 - その意思決定背景と2年間の進化 #AWSUnicornDay / Kaminashi ID - The Big Whys
kaminashi
3
800
Oracle Cloud Infrastructure:2025年8月度サービス・アップデート
oracle4engineer
PRO
0
200
異業種出身エンジニアが気づいた、転向して十数年経っても変わらない自分の武器とは
macnekoayu
0
290
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
540
AI時代にPdMとPMMはどう連携すべきか / PdM–PMM-collaboration-in-AI-era
rakus_dev
0
280
Skrub: machine-learning with dataframes
gaelvaroquaux
0
120
実運用で考える PGO
kworkdev
PRO
0
150
Kubernetes における cgroup v2 でのOut-Of-Memory 問題の解決
pfn
PRO
0
460
ここ一年のCCoEとしてのAWSコスト最適化を振り返る / CCoE AWS Cost Optimization devio2025
masahirokawahara
1
1.5k
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
1.3k
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
230
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Why Our Code Smells
bkeepers
PRO
339
57k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Statistics for Hackers
jakevdp
799
220k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Being A Developer After 40
akosma
90
590k
Thoughts on Productivity
jonyablonski
70
4.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
910
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Transcript
ίϯςφΛSpot FleetͰ ্ཱͪ͛Δͱ͍͏બࢶ JAWS-UG ίϯςφࢧ෦ #7 @wata727
@wata727 • Kazuma Watanabe • Engineer in Actcat, Inc. •
AWS Solution Architect • https://twitter.com/wata727_
Containers in SideCI
Sandbox Containers • ࣮ߦڥΛίϯςφԽ͙ͯ͢͠ഁغ͢Δ • 5,000 containers / day EPDLFS
Ubuntu Host GitHub Clone Comment
Sandbox Containers • ࣮ߦڥΛίϯςφԽ͙ͯ͢͠ഁغ͢Δ • 5,000 containers / day EPDLFS
Ubuntu Host GitHub Clone Comment
Spot Fleet ?
εϙοτΠϯελϯεΛ ຊ൪ͰͬͯΔํʁ ʢ༧: 10%ʣ ※ه: 5%͘Β͍Ͱͨ͠
Amazon Spot Instance • ༧උͷEC2ίϯϐϡʔςΟϯάੑೳʹೖࡳ • ͓͍҆ʂʂʂ • ͱ͋Δc4.2xlargeͷྫ: $0.39
→ $0.06 ڻ͖ͷ
ͨͩ͠… • ೖࡳՁ֨ΛԼճΔͱམͪΔ • ߴ͘ͳͬͨΒผͷϓʔϧʢAZͱΠϯελϯε λΠϓͷΈ߹ΘͤʣͷεϙοτΠϯελϯ εΛىಈ͢Δ is ͍͠ •
ͦΜͳʹ͍ͳ͍͔…
Spot Fleet • εϙοτΠϯελϯεͷλʔήοτ༰ྔΛҡ ࣋͢ΔͨΊͷΈ • Ճྉۚແ͠ • ஈ͕ߴಅͨ͠ΒɺผͷϓʔϧͰҰ൪͍҆ε ϙοτΠϯελϯε͕ࣗಈͰ্ཱ͕ͪΔ
Spot Fleetͷઓུ • lowest: બͨ͠தͰৗʹҰ൪͍҆ϓʔϧ͔Β ىಈ͢Δɺ͍͕҆ߴಅ͢Δͱશ෦མͪΔ • diversified: ՄೳͳݶΓϓʔϧΛࢄͭͭ͠ɺ ͍҆ॱʹىಈ͢Δɺߴ͍ͱ͖͋Δ͕ɺ
Խͱߴಅ࣌ͷϦεΫܰݮ͕ظͰ͖Δ
͡Ί͔ͨ • ެࣜͷνϡʔτϦΞϧ͕͔ͳΓஸೡͳͷͰɺ ͦΕʹैͬͯ࡞ͬͯΈΔͱྑͦ͞͏ • ͦΕ͢Β໘ͳਓ • https://github.com/wata727/ tf_aws_ecs_on_spotfleet
Demo
Spot Fleet in SideCI
EC2ΛSpot Fleetʹ͠·ͨ͠
Spot Fleetʹ͢ΔͨΊʹ • ಥવΠϯελϯε͕མͪͯࠔΒͳ͍Α͏ʹ ઃܭ͢ΔʢϦτϥΠͱ͔ʣ • ىಈͨ͠Βɺ͙͢ʹαʔϏεΠϯͰ͖ΔΑ͏ ʹϢʔβσʔλͱ͔ઃఆ͓ͯ͘͠ • େମAutoScalingʹඞཁͳͷͱಉ͡ɺඞવత
ʹোʹڧ͍ઃܭʹͳΔ
҆ఆͯ͠Քಇͤ͞ΔͨΊͷTips • diversifiedͱlowestͰ͚Δ
҆ఆͯ͠Քಇͤ͞ΔͨΊͷTips • Spot Fleet ؒͷೖࡳՁ֨ʹࠩΛ͚ͭΔ • ೖࡳՁ֨Λ͑ͨ࣌ͰผͷҰ൪͍҆ϓʔϧ ͔ΒΠϯελϯε͕ىಈ͢Δ͜ͱΛར༻͢Δ • ೖࡳՁ͕͚֨҆ΕɺఆظతʹҰ൪͍҆Πϯ
ελϯεϓʔϧͷ࠶ׂΓ͕ͯߦΘΕΔ
Ձ֨҆ͨ͘͠Β͙͢མͪͳ͍ʁ • EC2ͷ՝ۚ୯Ґ1࣌ؒ͝ͱ͔ͩΒɺִ͍ؒ Ͱ࠶ىಈͨ͠Β༨ܭʹߴ͘ͳΔΜ͡Ό… • ࣮ىಈ1࣌ؒҎʹεϙοτՁ֨ͷߴಅͰڧ ੍λʔϛωʔτ͞Εͨ߹ର֎ʹͳΔ • http://aws.typepad.com/sajp/2016/11/aws- black-belt-online-seminar-amazon-ec2-spot-
instances.html
Ͱɺ҆ఆͯ͠·͔͢ʁ • ҙ֎ͱ҆ఆͯ͠·͢ • 2िؒ͘Β͍ฏؾͰੜ͖ͬͯΔΠϯελϯε ͞Μ͍·ͨ͠
ͱ͋Δm4.2xlargeͷ1
Spot Fleet ӡ༻Ͱ ϋϚͬͨ͜ͱ
ಥવͷىಈΤϥʔ • Spot FleetͰΠϯελϯε͕ىಈ͠ͳ͘ͳͬͨ • VPCͰIPΞυϨε͕֬อͰ͖ͯͳ͍…ʁ • ͦΜͳഅࣛͳͱࢥ͍ͭͭVPCΛ֬ೝ
ʊਓਓਓਓਓਓਓਓਓਓʊ ʼɹར༻ՄೳͳIP: 1ɹʻ ʉY^Y^Y^Y^Y^Y^Y^Yʉ
VPCͷIP͕ރׇ • /25Ͱ128͋ΔͣͷIP͕ރׇ • ݪҼେྔʹੜ͞Ε͍ͯͨENI (!) • TerraformͰىಈͨ͠Spot Fleetಛఆͷ݅ ԼͰ
DeleteOnTermination ͕falseͷΠϯελ ϯεΛىಈ͢Δ
PR͛·ͨ͠ • ͰϚʔδ͞ΕΔ༧ײແ͠
Ձ֨ͷҟৗͳཚߴԼ • Ұ࣌ظɺͬͯΔϓʔϧͷஈ͕ݢฒΈߴಅ ͯ͠શવ҆ఆͯ͠ΠϯελϯεΛ֬อͰ͖ͳ ͍࣌ظ͕͋ͬͨ • ΦϯσϚϯυฒྻىಈͯ྇͗͠·ͨ͠ • ถେ౷ྖબͷλΠϛϯά͕͔ؔͯͨ͠…
diversifiedͳͷʹภΔ • ͳ͔ͥdiversifiedͰىಈ͢ΔΠϯελϯε͕ಉ ͡ϓʔϧ͔Βىಈ͍ͯ͠Δ • AWSͷํʹฉ͍ͨͱ͜Ζɺࢄ͢ΔͳΒ3 Ҏ্ඞཁΒ͍͠ • ఆظతʹΠϯελϯεΛআͰ͖Εɺ࠷҆ ͷϓʔϧ͔Βىಈ͢ΔͷͰࢄ͢Δ͔…ʁ
Chaos Monkeyͷػӡ
ͪͳΈʹ • Chaos Monkey in Lambda͋ΔΑ
·ͱΊ
·ͱΊ • ͓҆͘ͳΔͷͪΖΜɺෆྀͷোΛఆ ͨ͠ઃܭΛ༨ّͳ͘͞ΕΔͷͰɺΞʔΩςΫ νϟ͕ڧਟʹͳΔ • ੲεϙοτΠϯελϯεҰ࣌తͳόον ॲཧ͖͕ͩͬͨɺSpot Fleet͕ঢ়گΛม͑ͨ •
࠷ߴͳͷͰΈΜͳ͓͏ʂʂ