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
15k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
420
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
160
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
2.5k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.3k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
260
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.3k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.3k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
5.3k
Other Decks in Programming
See All in Programming
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
7
2.5k
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
340
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
11
1.8k
Immutable ActiveRecord
megane42
0
130
Ruby on cygwin 2025-02
fd0
0
140
[JAWS-UG横浜 #79] re:Invent 2024 の DB アップデートは Multi-Region!
maroon1st
1
140
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
1
640
【PHP】破壊的バージョンアップと戦った話〜決断と説得
satoshi256kbyte
0
120
テストをしないQAエンジニアは何をしているか?
nealle
0
130
Rails アプリ地図考 Flush Cut
makicamel
1
110
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
660
Conform を推す - Advocating for Conform
mizoguchicoji
3
680
Featured
See All Featured
Making Projects Easy
brettharned
116
6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Into the Great Unknown - MozCon
thekraken
35
1.6k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
31
2.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
RailsConf 2023
tenderlove
29
1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
Docker and Python
trallard
44
3.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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