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
37
ECS to GKE 〜実運用から考えるコンテナ運用の最適化〜
GCPの環境が最近急速に整ってきたので、
既存のECS環境をGKE上に構築してみた話
※ サービス自体を移行した話ではないです
NAVITIME JAPAN
PRO
December 12, 2016
Tweet
Share
More Decks by NAVITIME JAPAN
See All by NAVITIME JAPAN
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
22
14k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
260
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
88
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
2.3k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.3k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
220
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.2k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.2k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
5.2k
Other Decks in Programming
See All in Programming
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
flutterkaigi_2024.pdf
kyoheig3
0
150
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
480
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
CSC509 Lecture 13
javiergs
PRO
0
110
Macとオーディオ再生 2024/11/02
yusukeito
0
370
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
200
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
Featured
See All Featured
Code Review Best Practice
trishagee
64
17k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
GraphQLとの向き合い方2022年版
quramy
43
13k
Adopting Sorbet at Scale
ufuk
73
9.1k
The Invisible Side of Design
smashingmag
298
50k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Statistics for Hackers
jakevdp
796
220k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
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