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
ECS to GKE 〜実運用から考えるコンテナ運用の最適化〜
Search
NAVITIME JAPAN
PRO
December 12, 2016
Programming
0
23
ECS to GKE 〜実運用から考えるコンテナ運用の最適化〜
GCPの環境が最近急速に整ってきたので、
既存のECS環境をGKE上に構築してみた話
※ サービス自体を移行した話ではないです
NAVITIME JAPAN
PRO
December 12, 2016
Tweet
Share
More Decks by NAVITIME JAPAN
See All by NAVITIME JAPAN
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
760
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
76
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
2.8k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.1k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
6
4.6k
こうしてふりかえりは終わってしまった / A Demise of a retrospective
navitimejapan
PRO
42
26k
もーひとつの時間がない症候群 / Yet Another SOT Syndrome
navitimejapan
PRO
1
2k
シーズン2〜スクラムチームのバトンを渡す〜 / Season 2 -pass the button of a scrum team-
navitimejapan
PRO
2
2.8k
チームのパフォーマンスを引き出す、ワクワクするプロダクトゴール、OKR / Waku-waku Product Goal and OKR
navitimejapan
PRO
17
17k
Other Decks in Programming
See All in Programming
Git Lint
bkuhlmann
4
750
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
4.1k
Tailwind CSSを本気でカスタマイズする方法
fsubal
13
5.3k
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
340
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
400
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
210
Hanami and htmx
bkuhlmann
0
210
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
650
What We Can Learn From OSS
inouehi
0
420
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
260
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Web development in the modern age
philhawksworth
202
10k
What the flash - Photography Introduction
edds
64
11k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Into the Great Unknown - MozCon
thekraken
10
990
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Side Projects
sachag
451
41k
The Invisible Customer
myddelton
114
12k
Documentation Writing (for coders)
carmenintech
60
3.9k
Designing for humans not robots
tammielis
248
25k
Transcript
ECS to GKE ʙ࣮ӡ༻͔Βߟ͑Δίϯςφӡ༻ͷ࠷దԽʙ .JOBNJ"PZBNB/JHIU
ࣗݾհ େೆɹݡ྄ גࣜձࣾφϏλΠϜδϟύϯ ΞʔΩςΫτ Cloud, Container, Datadog
NAVITIME × Cloud ΦϯϓϨத৺ʢ2000نʣ ϩάج൫ɺσʔλੳɺCDN ͳͲͰར༻ FaaS Λར༻ͨ͠ Serverless Architecture
ͳͲ ࠃ͚αʔϏε
NAVITIME × Cloud ւ֎͚αʔϏε ΫϥυʢेΠϯελϯεنʣ NAVITIME Transit ʢւ֎͚αʔϏεʣ NAVITIME Travelʢւ֎ཱྀߦऀ͚αʔϏεʣ
NAVITIME Travel ւ֎ཱྀ͚ߦऀ͚νέοτ༧αʔϏε WEB Ͱఏڙ 2016/11 ϩʔϯνɺAWS ECS Λར༻
NAVITIME Transit iOS, Android, WEB Ͱఏڙ ւ֎͚ҊαʔϏε 2015/04 ʙ ΦϯϓϨ͔Β
AWS ҠߦʢEC2ʣ 2016/03 ʙ ECS Λར༻ →GKE Ͱࢼͯ͠Έͨ
ຊ͓͢͠Δ͜ͱ GCP ͷڥ͕࠷ۙٸʹ͖ͬͯͨͷͰɺ طଘͷ ECS ڥΛ GKE ্ʹߏஙͯ͠Έͨ ※ αʔϏεࣗମΛҠߦͨ͠Ͱͳ͍Ͱ͢
Agenda ECS ࠾༻ͷཧ༝ ECS Λӡ༻ͯ͠Έͯ GKEʢGoogle Container Engineʣ GKE ར༻ͷಈػ
GKE ࢼͯ͠Έͯ ·ͱΊ ࠓޙ
ECS ࠾༻ͷཧ༝ ɾAWS ͷ࣮ࣾ ɾAWS ͷ֤ίϯϙʔωϯτͱͷ࿈ܞ ɹɾಛʹ Cloudformation ɾγϯϓϧͰബ͍࣮ ɾ·ͣطଘαʔόͷ
Docker ԽΛඪʹͨ͠
ECS Λӡ༻ͯ͠Έͯ ɾ҆ఆՔಇத ɾECS, ECS पลͷΞοϓσʔτ͕ॆ࣮ ɹɾಈతϙʔτ & ALB ͷߏ͕ͱΕΔ
ɹɾSpot Fleet ΠϯελϯεͱΈ߹Θ͍ͤͨ ɹɾcfn ͷ yaml ରԠຯʹخ͍͠ ɾཧܗʹ͍͖ۙͮͯͨ
ECS Λӡ༻ͯ͠Έͯ ɾϓϩϓϥΠΤλϦ ɾίϯςφ୯ҐͰͷϦιʔεΛݟΒΕͳ͍ ɹɾDatadog Ͱࢹʢ$18/instanceʣ ɾssh ͢ΔʹλʔϛφϧΛ্ཱͪ͛Δͷ͕ࡶ ɾϩάݕࡧʹ Amazon
ES, Redshift Λ͏ͱߴֹ
GKEʢGoogle Container Engineʣ ɾGKE Kubernetesʢk8sʣ ͷϚωʔδυαʔϏε ɹɾk8s Google
͕ެ։ͨ͠ίϯςφεέδϡʔϥ ɾNAVITIME αʔϏεΦϯϓϨࢿ࢈͕ଟ͍ͨΊ ɹΦʔϓϯιʔεͳ k8s ͰཧͰ͖Δͱ͏Ε͍͠ ɾOpenshift v3 ͕ Docker & k8s Λ࠾༻ ɹɾΦϯϓϨڥͷίϯςφҠߦ࣌ʹڞ௨Խ͍ͨ͠
GKE ར༻ͷಈػ ɾTokyo Region ։ઃ ɾCloud SQL 2nd Gen.ʢβʣ ɹɾMySQL
ͷ४ಉظϨϓϦέʔγϣϯ ɹɾ1st Gen. ͔ΒੑೳΞοϓʢRDS ΑΓˢʣ ɹɹɾεϨου͕ଟ͍߹ Aurora ͷํ͕҆ఆ ɹɾCloud Proxy SQL
GKE ར༻ͷಈػ ɾStackdriverʢβʣ ɹ2014 Google ʹങऩ͞ΕͨϞχλϦϯάαʔϏε ɹɾStackdriver Monitoring ɹɹɾGKE ίϯςφͷϞχλϦϯάՄೳ
ɹɾStackdriver Logging ɹɹɾGKE ͳΒඪ४Ͱग़ྗ
GKE Λࢼͯ͠Έͯ ɾGoogle Cloud Shell ɹɾϒϥβ্Ͱ͑Δ CLI ڥ ɹɾඵͰىಈɺศར ɾgcloud,
kubectl ɹɾײతͰѻ͍͍͢ ɹɾaws cli ίϚϯυ͕͘ json Ͱฦ٫͞ΕΔͷͰ ՃʹҰखؒඞཁ
GKE Λࢼͯ͠Έͯ
ɾStackdriver ɹɾStackdriver Monitoring ɹɹɾPod, Container ୯ҐͰϞχλϦϯάՄೳ ɹɾStackdriver Logging ɹɹɾadvanced logs
filter ͕͍͍͢ ɹɹɾBigQuery ͱͷ࿈ܞ͢͠͞ GKE Λࢼͯ͠Έͯ
GKE Λࢼͯ͠Έͯ
GKE Λࢼͯ͠Έͯ
·ͱΊ ɾECS Λ͍͍ͨύλʔϯ ɹɾݫີͳΞΫηε੍ޚ ɹɾAWS ֤ίϯϙʔωϯτͷطଘࢿ࢈ ɹɾAurora ͷ҆ఆੑ
·ͱΊ ɾGKE Λ͍͍ͨύλʔϯ ɹɾKubernetes ɹɾΦϖϨʔγϣϯ࣌ͷ͍উख ɹɾϩΪϯάͷखܰ͞ ɹɾϞχλϦϯάͷखܰ͞
ࠓޙ ɾ৽نɺখنαʔϏεͰ GKE Λಋೖͯ͠ΈΔ ɾطଘࢿ࢈ɺΞΫηε੍ޚ͕ٻΊΒΕΔ߹ɺ͜Ε ·Ͱ௨Γ ECS Ͱߏங ɹɾϩά҆Ձʹղੳ͍ͨ͠ͷͰҎԼͷΈ߹Θͤ ɹɾECS
+ fluentd + Stackdriver Logging ɾRancher, Mesos ͳͲࢼͯ͠ΈΔ
re:Invent 2016 ߦ͖ͬͯ·ͨ͠
IUUQTCMPYHJUIVCJP
IUUQTBXTBNB[PODPNBUIFOB