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
たまにはオンプレもいいぞ?GKE と Armadillo IoT で実現するハイブリッドクラウド
Search
株式会社ビットキー / Bitkey Inc.
PRO
November 21, 2022
Technology
430
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
たまにはオンプレもいいぞ?GKE と Armadillo IoT で実現するハイブリッドクラウド
株式会社ビットキー / Bitkey Inc.
PRO
November 21, 2022
More Decks by 株式会社ビットキー / Bitkey Inc.
See All by 株式会社ビットキー / Bitkey Inc.
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
430
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
260
人が担う「価値」とは?これからの「QA」とは / Human Value and the Future of Quality Assurance
bitkey
PRO
0
250
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
440
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
2
890
Flutter初心者が生成AIで大規模アプリ開発をキャッチアップした工夫 〜元ネイティブエンジニアが実践した、技術転換の高速道路〜 / Flutter with LLM: A Former Native Engineer's Fast Track to Large-Scale Apps
bitkey
PRO
0
310
〜備えあれば憂いなし〜とりあえず障害訓練やろ? デジタル/フィジカル横断プロダクトを24365で維持するための戦略 / Better Safe Than Sorry: Incident Drills for 24/365 Digital-Physical Products
bitkey
PRO
0
170
雑談は、センサーだった
bitkey
PRO
2
550
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
8
1.6k
Other Decks in Technology
See All in Technology
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
840
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
0
140
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
1
220
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
12
5k
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
350
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
3.6k
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
670
ゼロをイチにする仕事が終わったあと
smasato
0
310
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
750
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
1.6k
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
120
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
2.1k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
24k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
First, design no harm
axbom
PRO
2
1.2k
Making the Leap to Tech Lead
cromwellryan
135
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
240
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
340
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
800
For a Future-Friendly Web
brad_frost
183
10k
What's in a price? How to price your products and services
michaelherold
247
13k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Transcript
ͨ·ʹΦϯϓϨ͍͍ͧʁ GKE ͱ Armadillo IoT Ͱ࣮ݱ͢Δ ϋΠϒϦουΫϥυ גࣜձࣾϏοτΩʔ ࠤʑ ྃ
Outline 1. ࠓ·Ͱͷߏͱ 2. ৽ߏʹ͚ͯ 3. ৽ߏ: ϋΠϒϦουΫϥυ 4. ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ
5. Կʹໝ͢Δ͔ 6. ݱ࣮ͱཧͷΪϟοϓΛຒΊΔ 2
ࠤʑྃ 3ZP4BTBLJ 2012/04 2017/07 ௨৴ܥSIer ೖࣾ ɾݩʑNWΤϯδχΞͩͬͨͷͰBGPͬͨଞڌNW࡞ͬͨΓͱ͔ ɾ࣏ࣗମͱ͔ެிܥγεςϜʹܞΘͬͨΓ͢Δ͜ͱ͕ଟ͔͔ͬͨͳ ɾڮྊݕϩϘοτ։ൃͬͨΓͱ͔
ϑϦʔϥϯεʹస ɾϖωτϨʔγϣϯςετͬͨΓͱ͔ ɾOpenStatkͱOpenShift݁ߏͬͯͨΓͱ͔ ɾϋΠϒϦουΫϥυ࡞ͬͨΓͱ͔ 2021/11 ϏοτΩʔʹSREͱͯ͠δϣΠϯ ※ͿͬͪΌ͚͋·ΓSREͬͯͳ͍͚ͲͶ ެͷͰਓʹઆ໌Ͱ͖ΔΑ͏ͳً͔͍͠ܦྺ࣋ͬͯͳ͍ͷͰ αΫοͱྲྀ͠·͢ʂʂʂ
͓͍͑ͨ͜͠ͱ 4 • ϋΠϒϦουΫϥυʹໝྗ͕ඞཁෆՄܽ • ৸Α͏ / ৸͔ͤΑ͏ • ࠷ڧ࠷ળͰͳ͍
5 ͓Ͷ͕͍
ϏοτΩʔͷ ϓϩμΫτ/αʔϏε 6
None
CONFIDENTIAL © Bitkey Inc. All rights reserved. 8 Connect everything
through the power of technology, securely and conveniently in a way, that simply feels good ςΫϊϩδʔͷྗͰɺ͋ΒΏΔͷΛ ҆શͰ ศརͰ ؾ࣋ͪΑ͘ ʮͭͳ͛Δʯ Our Mission
None
None
None
None
13
14
None
ࠓͷ
17
None
19
20 ࠓͷ
ࠓ·Ͱͷߏͱ 21
22 ͜͜ͷʂ
ࠓ·Ͱͷߏͱ 23 • ϏϧͷԼਂ͘ͷ੍ޚ൫ۙ͘ʹWindowsαʔόʔΛ2ઃஔ • NWػث͍͔ͭ͘ಋೖͯ͠ɺ ͦ͜ΛϏοτΩʔڥքͱͯ͠Πϯλʔωοτʹग़͍ͯ͘ • SaaS͕Քಇ͍ͯ͠ΔύϒϦοΫΫϥυ(GCP)ͱ ڠௐ͠ͳ͕Β੍ޚ൫ͱͷ࿈ܞΛߦ͏
ࠓ·Ͱͷߏ
ࠓ·Ͱͷߏͱ 24 • ͦͷΞϓϦέʔγϣϯ੍ޚ൫ίϯτϩʔϧΛநԽ͠ɺ ෳͷϕϯμʔͷ੍ޚ൫ϓϩτίϧΛѻ͑Δ • ઌड़ͷBACnetͱ͍͏Ϗϧ੍ޚͷ άϩʔόϧελϯμʔυͳϓϩτίϧͦ͏ͩ͠ɺ ϕϯμʔಠࣗͷUDPϓϩτίϧͳͲαϙʔτ ࠓ·Ͱͷߏ
ࠓ·Ͱͷߏͱ 25 • ϏοτΩʔͷϓϩμΫτͷதͰ །ҰཧαʔόʔΛ༻͍ΔΦϯϓϨߏ ◦ ͦΕҎ֎શͯϑϧαʔόʔϨεߏ ◦ GCF /
CloudRun / GKE (ࠓճৄࡉΛׂѪ) • ࣾʹΦϯϓϨଆΛѻ͏ٕज़తͳϊϋ͕͍͠ • Մ༻ੑ͕͘ɺো࣌ʹखಈͰͷΓସ͕͑લఏ • ཧͳΒͰͷظ͍ؒଓ͚ΔͨΊͷӡ༻อकҙ͕͍ࣝ͠
ࠓ·Ͱͷߏͱ 26 • ͔͠ɺͦΕͧΕͷ͓٬͞·͝ͱʹߏΛม͍͑ͯͨ • ݸࣾରԠ͕ଟ͗ͯ͢ཧ͕͖͠Εͳ͍ ◦ N+1Ͱ૿͍͑ͯ͘ΦϯϓϨػثͨͪΛͲ͏ͬͯཧ͍ͯ͘͠ʁʁ ϢʔβʔA ϢʔβʔB
ϢʔβʔC ɾɾɾ
ࠓ·Ͱͷߏͱ • HWతͳނোʹର͢Δඋ͕͑ෆेͩͬͨ ◦ ࢹମ੍͕ͳ͍ ◦ NWػثαʔόʔʹԿ͔͕ى͖ͨ࣌ͷ෮چखॱΛཱ֬Ͱ͖͍ͯͳ͍ • Ξοϓσʔτ͕ࠔ/ղ ◦
ͦͦ24365ՔಇͳͷͰ؆୯ʹࢭΊΒΕͳ͍ͱ͍͏ཁૉ͕େ͖͍ ◦ ͦͷ্ͰɺࣗಈతͳσϓϩΠͷΈ͕͋ͬͨΘ͚Ͱͳ͍ͷͰɺ ຖճ͓٬༷ͱௐͷ্ɺϝϯςφϯε࣌ؒΛΒͬͯ σϓϩΠίϚϯυΛୟ͘ɾɾɾΈ͍ͨͳײ͡ 27
ࠓ·Ͱͷߏͱ 28 • Ӧۀʙಋೖࢧԉͷஈ֊ͰɺӦۀ෦ୂ/ϓϩδΣΫτਪਐνʔϜ͕ओಋ͢Δ ◦ θϩϕʔεͰ͓٬༷ͷώϠϦϯάʙߏͷݕ౼ʙݟੵΓʙඍௐʙΛ୲ ◦ ݟ͕ेͰͳ͍தɺϕϯμʔͱͷΓऔΓඇৗʹ͕͘͠ਹΉ • ͓٬༷ͷֹۚײͷఏ͚ࣔͩͰϦʔυλΠϜ͕͘ͳͬͯ͠·͏
• ࣮ࡍͷಋೖʹ͚ͨৄࡉઃܭͷෛ୲େ͖͘ɺͦͷෳࡶ͔͞ΒखΓ͕ग़ͯ͠·͏͜ͱ ◦ ཧػث͕ͳ͚ΕԿಈ͔ͤͳ͍ͷͰɺ ϓϩδΣΫτਪਐͷΫϦςΟΧϧύεʹͳΓ͕ͪ
ࠓ·Ͱͷߏͱ 29 • ͜͏͍ͬͨϏϧڥͰɺ࣮·ͱͳNW͕ଘࡏ͠ͳ͍ͱ͍͏έʔε͋Δ ◦ ͦͷ߹ɺ͓٬༷ʹ৽͘͠ճઢΛҾ͍ͯΒ͏ඞཁ͕͋Δ ◦ ख͕͔͔ؒͬͯ໘ͩ͠ϦʔυλΠϜ͕৳ͼͯ͠·͏ • ҰํͰNW͕ଘࡏ͢Δέʔε͋Δ
• ͜͏͍ͬͨݸʑͷϏϧຖͷࣄͷҧ͍͕ɺ͓٬༷ຖʹຖճߏΛม͍͑ͯΔཁҼ
ࠓ·Ͱͷߏͱ 30 • ͜ͷ··͡Ό·͍ͣʂͱߟ͑ͨͷͰॾʑमਖ਼ΒඋΛ࣮ࢪ ◦ ϞχλϦϯά/ΞϥʔςΟϯάͷ࣮ ◦ ӡ༻อकͷϚχϡΞϧରԠϑϩʔͷཱ֬ ◦ Ӧۀஈ֊Ͱͷٕज़తࢧԉ
͜ΕΛͣͬͱଓ͚Δͷྲྀੴʹݫ͍͠ɾɾɾ
ࠓ·Ͱͷߏͱ 31 • ࠓޙͷworkhubͷEnterpriseྖҬͷ֦େΛݟਾ͑Δͱɺ੍ޚ൫࿈ܞඇৗʹॏཁͳཁૉ ◦ େ͖ͳ͓٬༷Ͱ͋Ε͋Δ΄ͲʮϏϧશମͷ੍ޚʯͷधཁߴ͍ • ͦͷதͰɺࠓ·ͰͷΑ͏ͳҰࣾ͋ͨΓʹߏΛθϩ͔Βߟ͑ͯɾɾɾ ϊϋͷগͳ͍ΦϯϓϨଆΛͲ͏ʹ͔ؤுͬͯɾɾɾͱ͍͏ͷɺ ࠓޙͷಋೖ֦େͷதͰᐫʹͳͬͯ͠·͏
Ͳ͏ʹ͔͍ͨ͠ʂʂʂ ϦΞʔΩςΫνϟΛݕ౼։࢝
৽ߏʹ͚ͯ 32
৽ߏʹ͚ͯ 33 • ͱʹ͔͘໘͝ͱ͕ଟ͍ΦϯϓϨଆͷཁૉΛݮΒ͍ͨ͠ ◦ ࣾʹৄ͍͠ΤϯδχΞ͕গͳ͍ ◦ ݱঢ়ࣾ֎ϕϯμʔͱڠྗ͕ඞਢ ◦ ͦΜͳঢ়ଶ͔Βൈ͚ग़͍ͨ͠
• ՄೳͳݶΓࣗͨͪͷಘҙʹدͤͯεΩϧͷԠ༻ੑΛߴΊ͍ͨ ◦ ͦ͏͢Δ͜ͱͰɺࣗͨͪࣗͰਖ਼͘͠ߏΈΛઃܭ/ධՁ/அ͍ͨ͠ ͍
৽ߏʹ͚ͯ 34 • ΦϯϓϨଆΛऑͨ݁͘͠Ռɺ͞ΒʹՄ༻ੑ͕ࣦΘΕͨΓ͢Δ͜ͱ͋ͬͯͳΒͳ͍ ◦ ͱ͍͏͔ɺࠓ·ͰΑΓ༏ΕͨՄ༻ੑΛൃش͍ͤͨ͞ ◦ ՄೳͳݶΓμϯλΠϜΛݮΒ͠ɺ ੍ޚ൫࿈ܞ͕Ͱ͖ͳ͍࣌ؒԆΛൃੜͤͨ͘͞ͳ͍ ͍
৽ߏʹ͚ͯ 35 • ສ͕Ұʹඋ͑ͨϞχλϦϯά/ΞϥʔςΟϯάΛલఏʹͨ͠ઃܭΛߦ͍ɺ HWোGCPϦʔδϣϯؙ͕͝ͱࢮ͵Α͏ͳ࠷ѱͳέʔεͰ͋ͬͯ αʔϏεܧଓ͍ͤͨ͞ ◦ ಋೖͨ݁͠ՌɺোʹΑͬͯ”τϏϥ͕։͔ͳ͍”͜ͱ͕͋ΔɺͳΜͯμϝ • ίετΛѹॖͤ͞ɺࠓ·ͰΑΓ͓٬༷ʹՁ֨తૌٻྗͷ͋ΔఏڙΛ͍ͨ͠
͍
৽ߏʹ͚ͯ 36 • ΦϯϓϨ&ཧαʔόʔͰͳ͚ΕͳΒͳ͍ڧ͍ཧ༝͕͋Δɾɾɾʁ ◦ ͦ͜·Ͱڧ͍ཧ༝ɾɾɾɾɾͳ͍ • WindowsαʔόʔͰ͋Δཧ༝͕͋Δɾɾɾʁ ◦ ɾɾɾɾɾͳ͍
ਖ਼ͳͱ͜Ζ
৽ߏʹ͚ͯ 37 • ݱঢ়͜ͷ੍ޚ൫࿈ܞΛ͏Α͏ͳworkhubͷಋೖେࢢݍʹݶΒΕ͍ͯΔ • ͔͠͠ɺࠓޙʑӜʑʹ૿͍͑ͯ͘Մೳੑ͕͋Δ ◦ શࠃنͷ༷ʑͳϏϧʹಋೖ͞Ε͍ͯ͘ • ୯ҰϩέʔγϣϯͷͲ͔͜ΛରԠͯ͠ɺ͍ʂऴΘΓʂͰͳ͍
◦ ߴ͍࠶ݱੑΛ࣋ͬͯશࠃల։͍͔ͤͯ͞ͳ͚Ε͍͚ͳ͍ ࠓޙͷಋೖ֦େΛߟ͑Εɺ͜ͷ··Ͱ͍͚ͳ͍
৽ߏʹ͚ͯ 38 • ΦϯϓϨଆͷߏΛεϦϜԽ͠ɺ ଞϓϩμΫτͱಉ͡Α͏ʹΫϥυଆͰॲཧͰ͖ͳ͍͔ʁ • ͦ͏ͨ͠ඪ४ߏΛࡦఆ͢Δ͜ͱͰɺͲͷ͓٬༷Ͱಉ͡ߏͰಋೖͰ͖ͳ͍͔ʁ • ϏοτΩʔͱ੍ͯ͠ޚ൫࿈ܞͷͨΊͷΞϓϥΠΞϯεΛఏڙ͢ΔΠϝʔδ
৽ߏʹ͚ͯ 39 • ͦ͏͢Εগͳ͘ͱཧߏ౷Ұ͓ͯ͠٬༷ʹఏҊ/આ໌͕Մೳ • ֹۚײ͍͑͢͠ݟੵΓΛग़͢·ͰͷϦʔυλΠϜେ෯ʹݮՄೳ • ͨͩ͠ɺͲͷ͓٬༷ʹద߹Ͱ͖ΔΑ͏ͳߏʹ͢ΔҎ্ɺ ߹ʹΑͬͯແବग़ͯ͠·͏ͩΖ͏ ◦
͔͠͠ɺ͜Ε1ͭͰશ෦ʹ͑ΔʂͲΜͲΜఏҊ͍͚ͯ͠Δʂͱ͍͏ εέʔϧόϦϡʔͷํ͕ߴ͍ͱஅ
৽ߏ: ϋΠϒϦουΫϥυ 40
৽ߏ: ϋΠϒϦουΫϥυ ͦͦͷ 41 • ੍ޚ൫Ϗϧ෦ʹ͔͠ଘࡏ͠ͳ͍͠ɺάϩʔόϧʹ࿐ग़વ͍ͯ͠ͳ͍ • ͱʹ͔͘ɺͦ͜ʹର͢ΔϩʔΧϧIP௨৴͕͍ͨ͠ • ͦΕҎ֎ʹΦϯϓϨଆʹ༻ࣄͳ͍
ͳΒɺNWతʹͦΕΛ୲อͯ͋͛͠Εྑ͍͚ͩͩΑͶʁ ผʹαʔόʔΛݱʹஔ͘ඞཁͳ͘ͳ͍ʁ
৽ߏ: ϋΠϒϦουΫϥυ 42 ϋΠϒϦουΫϥυͷ࠾༻ ຊདྷͳΒϩʔΧϧʹด੍ͨ͡ޚ൫ΛΫϥυ·ͰԆ৳ͤͯ͞ॲཧͤ͞Δ
৽ߏ: ϋΠϒϦουΫϥυ ίϯηϓτ 43 Flexibility Scalability Agility
৽ߏ: ϋΠϒϦουΫϥυ ίϯηϓτ 44 ॊೈੑ ֦ுੑ ػಈੑ
৽ߏ: ϋΠϒϦουΫϥυ ίϯηϓτ 45 Ϋϥυଆ͚ͩॊೈੑ֦ுੑ͕͋ͬͯμϝʂ ͨ͘͞Μͷ͓٬༷ʹૉૣ͘ಋೖ͍͚ͯ͠ΔΑ͏ͳػಈੑཉ͍͠ʂ
৽ߏ: ϋΠϒϦουΫϥυ ίϯηϓτ 46 • ΦϯϓϨଆʹαʔόʔஔ͔ͳ͍ • ੑΛ࣋ͨͤͨNWػثΛ࠷খݶஔ͘ • ΞϓϦέʔγϣϯػೳશͯGCPͷGKEʹஔ͘
◦ ϚϧνϦʔδϣϯߏͰՄ༻ੑΛ͞Βʹ্ ◦ AutopilotϞʔυʹΑΔӡ༻ͷ؆ུԽ • ϞόΠϧճઢΛͬͨϚϧνΩϟϦΞܦ࿏Λ࣋ͨͤΔ ◦ VPNʹΑͬͯϩʔΧϧΤϦΞΛΫϥυ·ͰԆ৳ • ୯ҰཧߏͰ͋ΒΏΔ͓٬༷ͷڥͱ੍ޚ൫ʹରԠ ※͝ΊΜͳ͍͞ɻࣾࣄ͕͋Γ·ͯ͠ɺ͜ͷ෦ࠓࡱӨ͠ͳ͍Ͱ͍ͩ͘͞ɻ͋ͱͰඞͣࢿྉެ։͠·͢ɻ
৽ߏ: ϋΠϒϦουΫϥυ 47 ͜Ε͑͞ೖΕͯ͘ΕͨΒɾɾɾ • ؆୯ʹ੍ޚ൫࿈ܞͰ͖·ͬͤʂ • Ϗϧશମ੍ޚͰ͖ͪΌ͏Αʂ ͱ͍͏ ϏϧΦʔτϝʔγϣϯͷ
ਨ౷߹ΞϓϥΠΞϯεΛఏڙ ※࣮·໊ͩલ͕ܾ·ͬͯ·ͤΜ ※͝ΊΜͳ͍͞ɻࣾࣄ͕͋Γ·ͯ͠ɺ͜ͷ෦ࠓࡱӨ͠ͳ͍Ͱ͍ͩ͘͞ɻ͋ͱͰඞͣࢿྉެ։͠·͢ɻ
৽ߏ: ϋΠϒϦουΫϥυ 48 • ࣮ࡍʹ੍ޚ൫࿈ܞΛߦ͏ΞϓϦέʔγϣϯGoͰ࣮ • ੍ޚ൫࿈ܞΛநԽ ◦ ༷ʑͳ੍ޚ൫༻ͷϓϩτίϧΛαϙʔτ͠ɺෳϕϯμʔͷ੍ޚ൫ΛૢΕΔ ◦
TCP / UDP / ಠࣗϓϩτίϧ etc. • ͦͷΞϓϦέʔγϣϯΛίϯςφԽ͠GKEʹͯՔಇͤ͞Δ • VPNΛ௨ͯ͡ϏϧͷNWʹೖΓࠐΈϩʔΧϧ௨৴ͤ͞Δ
৽ߏ: ϋΠϒϦουΫϥυ 49 • ϞόΠϧճઢ(LTE)ΛͬͨNWܦ࿏Λαϙʔτ ◦ ͜ΕͰΘ͟Θ͟༗ઢΠϯλʔωοτճઢΛҾ͔ͳͯ͘ࡁΉ ◦ ϫʔΫϩʔυతʹϞόΠϧճઢఔͷεϧʔϓοτϨΠςϯγͰ ेઓ͑Δ
৽ߏ: ϋΠϒϦουΫϥυ ٙ 50 • ϏϧͷԼͩͱిಧ͔ͳ͍ͷͰʁ ◦ ຊϓϩμΫτΛಋೖ͢ΔΑ͏ͳେ͖ΊͷϏϧͩͱࠃ3ΩϟϦΞͷ͏ͪɺ ͍ͣΕ͔ͷجہ͕ෑઃ͞Ε͍ͯΔέʔε͘͠ͳ͍ ◦
ͦͷ߹ɺԼͰ͋Ζ͏͕ిಧ͘
৽ߏ: ϋΠϒϦουΫϥυ 51 • ཧߏύλʔϯ1ͭͷΈ • ͦͷ1ͭͰͯ͢ͷ͓٬༷ʹରԠͰ͖Δ ◦ Θ͟Θ͟ճઢΛҾ͖ࠐΈͨ͘ͳ͍έʔεͷNW ◦
ճઢΛҾ͖ࠐΉέʔε ◦ طઃNW͕ଘࡏ͢Δέʔε • Ͳͷ͓٬༷Ͱ͋ͬͯΈࠐΈՄೳͰɺ ͔ͭɺఆ͢ΔՄ༻ੑΛൃشͰ͖ΔΑ͏ͳNWతͳॊೈੑΛ֬อ
৽ߏ: ϋΠϒϦουΫϥυ IoTͱͯ͠ͷ࠾༻ྫଟ͍ΞοτϚʔΫςΫϊࣾͷArmadilloΛ൚༻NWػثͱͯ͠࠾༻ 52 • LTEΛαϙʔτ͠୯ಠͰΠϯλʔωοτʹग़ΕΔ • த͕LinuxͰ͋ΓɺࠓճͷྫͰϧʔλʔͱͯ͠͏ • podman͕࠷ॳ͔Β͑ΔͷͰ؆୯ʹίϯςφσϓϩΠ͕Մೳ
• overlayfs͕σϑΥͰඋΘ͓ͬͯΓɺ ిݯΛམͱͤجຊతʹશ෦ͷϑΝΠϧ͕ফࣦ͢ΔͷͰηΩϡΞ • ࢀߟ: https://armadillo.atmark-techno.com/
৽ߏ: ϋΠϒϦουΫϥυ 53 • ϑΝʔϜΣΞ͕ೋॏԽ͞Ε͓ͯΓສ͕ҰͷϦεΫݮ͕Մೳ ◦ A໘͕ͿͬյΕͯB໘ʹΓସ͑ͯಀ͛ΕΔ ◦ ཧతʹॿ͚Δ͜ͱ͕Ͱ͖ͳ͍ԕִڥͰ҆৺҆શʹΞοϓσʔτ͕Մೳ •
ϑΝʔϜΣΞΛؙ͝ͱωοτܦ༝ͰೖΕସ͑ΒΕΔ ◦ ։ൃڥଆͰ࡞ΓࠐΈɺ࣮ػʹରؙͯ͠͝ͱϑΝʔϜΣΞΛॻ͖ࠐΉײ͡ ◦ AnsibleTerraformͳͲͷIaCʹཔΒͳͯ͘OK (͍͍ͬͯ) IoTͱͯ͠ͷ࠾༻ྫ͕ଟ͍ArmadilloΛ࠾༻
৽ߏ: ϋΠϒϦουΫϥυ 54 • NICిݯ͕ೋॏԽ͞Ε͍ͯΔΘ͚Ͱͳ͍ • LTEػث୯ମͰ1ΩϟϦΞ͔͠ѻ͑ͳ͍ • ͔͠͠ɺܰྔͰ҆ՁͳArmadilloΛͨ͘͞Μ༻ҙͯ͠εέʔϧΞτੑΛ࣋ͨͤΔ ◦
୯ҰͷArmadillo͕μϝʹͳͬͯ෭ܥʹউखʹΓସΘΕ͍͍͚ͩ ◦ ߴ͍͓ۚΛͬͯڧ͍αʔόʔͰ෦తʹೋॏԽͤ͞Δ΄ͲͰͳ͍ ◦ έʔϒϧܨ͔͍͗͑ͯऴΘΓʂͷΑ͏ͳަ༰қੑΛ͓࣋ͨͤͯ͘ IoTͱͯ͠ͷ࠾༻ྫ͕ଟ͍ArmadilloΛ࠾༻
৽ߏ: ϋΠϒϦουΫϥυ Flexibility 55 • GCPଆʹϝΠϯͷΞϓϦέʔγϣϯػೳ͕͋ΔͨΊͲ͏ʹͰͳΔ • ݪଇGKEͰϗεςΟϯά͍ͯ͠Δ͕ɺવଞͷGCPαʔϏεར༻ͯ͠࿈ܞͰ͖Δ • k8sͱͯ͠ͷڧྗͳΤίγεςϜʹ͔ͬΓͭͭɺ
AutopilotʹΑͬͯ໘ͳϊʔυཧࣗୡͷख͔Β͢ ◦ AutopilotͱStandardͷҧ͍: https://cloud.google.com/kubernetes-engine/docs/resources/autopilot-standard-feature-comparison?hl=ja • ࠓޙɺPodServiceΛ૿ͨ͘͠ͳ͍ͬͯ͘ΒͰͲ͏ʹͰͳΔ
৽ߏ: ϋΠϒϦουΫϥυ 56 • ArmadilloLinuxͳͷͰͭͿ͕͠ޮ͘ ◦ GKEͰಈ͔͍ͯ͠ΔίϯςφΛͦͷ··ArmadilloͰಈ͔ͤͯ͠·͏ ◦ x64ͱArmͷҧ͍͋Δ͕ɺGolangͳͷͰϚϧνϓϥοτϑΥʔϜϏϧυ ؆୯ͩ͠ɺͦΕʹԠͯ͡ίϯςφΠϝʔδΛฒߦͯ͠ੜ͓͚ͯ͠ྑ͍͚ͩ
◦ ͓٬༷ʹΑͬͯɺΫϥυଆΛΘͳ͍Τοδॲཧ͚ͩͰ݁͢ύλʔϯఆ Flexibility
৽ߏ: ϋΠϒϦουΫϥυ 57 • NWػೳ strongswan + BIRDͰVPN + BGPΛ࣮ݱ
◦ ArmadilloʹOSSΛΈ߹ΘͤΔ͜ͱͰɺ ࢢʹग़ճ͍ͬͯΔ·ͱͳNWػثʹෛ͚ͳ͍ػೳΛಘΒΕΔ ◦ ͪΖΜIPsecͷHWΦϑϩʔυͱ͔Ͱ͖ͳ͍͠ɺ ϧʔςΟϯάੑೳεΠονϯάೳྗຊ৬ෛ͚Δ͚Ͳɺ ࠓճͷϫʔΫϩʔυతʹશવ༨༟ Flexibility
৽ߏ: ϋΠϒϦουΫϥυ 58 • L3εΠονΛΘ͟ͱ࠾༻༷͠ʑͳ͓٬༷NWͷΞλονՄೳੑʹඋ͑Δ • ී௨L2εΠονͰݪଇOKɾɾɾͳΜ͚ͩͲͶ • ͜Ε֦ுੑͱ͍͏Ͱ༏Ґ Flexibility
৽ߏ: ϋΠϒϦουΫϥυ Scalability 59 • GKEʹΑͬͯɺΞϓϦέʔγϣϯଆͰ৭ʑΓͨ͘ͳͬͯͲ͏ʹͰͰ͖Δ ◦ ඞཁͳͱ͖ʹඞཁͳ͚ͩ૿ͤΔ • ݪଇɺΦϯϓϨଆεέʔϧΞτͤ͞ΔํͰͲΜͲΜڧ͍͚ͯ͘͠Δ
◦ ͪΖΜͲ͔͜Ͱݶքܴ͑Δ͕ɺϫʔΫϩʔυతʹ ͦ͜·Ͱڧʹεέʔϧͤ͞Δ͜ͱͳ͍ ◦ લड़ͷ௨Γϙʔτͦͦ͋͜͜ΔL3εΠονͷ͓͔͛Ͱ͔ͳΓԿͰΕΔ
৽ߏ: ϋΠϒϦουΫϥυ Agility 60 • ύϒϦοΫΫϥυଆݴΘ͕ͣͳॠ࣌ʹཉ͍͠ͷ͕ἧ͏ • ΦϯϓϨଆ͋͑ͯࠃ࢈ϝʔΧʔͷೲظΊͷௐୡ͍͢͠ϞϊΛબఆ • ͜ͷಋମෆͷڥԼʹ͓͍ͯɺ͓͓ΉͶ1िؒͰௐୡՄೳ
◦ ࠃ֎ϝʔΧʔͩͱϞϊʹΑͬͯԼख͢Εௐୡ·Ͱϲ݄͔͔Δɾɾɾ • “յΕͳ͍”͜ͱΛࢦ͢ͷͰͳ͘ɺ҆Ձʹૉૣ͘ަͯ͠෮چͰ͖ΔػಈྗΛಘΔ
৽ߏ: ϋΠϒϦουΫϥυ 61 • Մ༻ੑ ◦ ϚϧνϦʔδϣϯߏ / ϚϧνΩϟϦΞNWΛલఏʹͨ͜͠ͱͰେ෯ʹ্ ◦
چߏͰਓؒʹΑΔݱ࡞ۀͷΓସ͕͑ඞཁ͕ͩͬͨ৽ߏͰࣗಈΓସ͑ • ίετ ◦ چߏͷ1/3ఔʹѹॖ • ӡ༻อकੑ ◦ ॳظઃܭ࣌Ͱ24365Λݟਾ͑ͨϞχλϦϯάΛఆ ◦ ӡ༻อकϑϩʔඋ͠ɺඇΤϯδχΞͰ͋ͬͯҰ࣍ରԠ͕Մೳ
༻ϋΠϒϦουΫϥυͷ ͨΊͷໝྗ 62
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ ϋΠϒϦουΫϥυΛΓ͍ͨཧ༝ͬͯԿͩΖ͏ʁ 63 • ԿΒ͔ͷཧ༝ͰΦϯϓϨଆͱతͳ௨৴Λ͍ͤͨ͞έʔε͕΄ͱΜͲͰʁ ◦ ΠϯλʔωοτΛհͨ͠APIίʔϧͰ͍ ◦ ΑΓ௨৴Λ҆ఆ͍ͤͨ͞ ◦
ϨΠςϯγ͕ॏཁͳ௨৴Ͱ͋Δ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 64 • ͭ·ΓϋΠϒϦουΫϥυͷΩϞͱ͍͏ͷɺ ɹͲͷΑ͏ͳNWͰɺͲͷΑ͏ʹΦϯϓϨଆͱڠௐ͢Δ͔ʁ ͍ͬͯ͏෦ͩΖ͏ɻ • ࠓճͷྫͰ͍͑ɺTCP/UDP/IPͷ༷ʑͳϓϩτίϧΛѻ্ͬͨͰɺ ߴ͍Մ༻ੑΛൃشͤ͞ΔͨΊʹ౦NW͔ͤͨͬͨ͞
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 65 ݪଇɺͲͷύϒϦοΫΫϥυׂͱ؆୯ʹϋΠϒϦουΫϥυࣗମ࡞ΕΔ • VPN: IPsec + BGPʹΑΔSite-to-Site͔ͭμΠφϛοΫͳNWΛߏங • ઐ༻ઢ:
࣮֬ / ߴ / ҆ఆʹతͳϩʔΧϧNWΛߏங ͲͪΒɺͲͷύϒϦοΫΫϥυϓϥοτϑΥʔϜͰαϙʔτ͍ͯ͠Δɻ ࣄྫׂͱੈͷதʹ͍͘ΒͰ͋ΔͷͰɺ࣮ϋΠϒϦουΫϥυࣗମΛ࡞Δͷ؆୯ɻ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 66 • ͨͩ͠ɺVPNʹͤΑɺઐ༻ઢʹͤΑɺVPCʹతʹೖΓࠐΉΑ͏ͳܗʹͳΔ • ͭ·ΓΞϓϦέʔγϣϯΛͲ͜ʹஔ͍ͯɺͲ͏VPCʹͭͳ͛Δ͔ʁॏཁ ◦ ྫ͑ɺͲͷύϒϦοΫΫϥυϑϧϚωʔδυͳFaaSͱ͔ͩͱ VPCͱΓ͞Εͨੈքʹ͍ͨΓ͢Δ ▪
ͭ·ΓVPCͱͷΓͱΓΛͯ͋͛͠ΔͨΊʹͦΕͳΓͷઃఆ͕ඞཁ ◦ ͱ͍͑ࠓͰLambdaCloudFunctionsVPCͷΞλονΛެࣜʹαϙʔτ͍ͯ͠Δ ͷͰɺશ͍͘͜͠ͱͰͳ͍
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 67 ͦ͏ɺ࣮ϋΠϒϦουΫϥυͬͯશવ͘͠ͳ͍ʂ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 68 ਖ਼ৗܥͶ • ҟৗܥΒোܥΛߟ͑Δͱ్ʹͭΒ͘ͳΔ • Ή͠ΖɺϋΠϒϦουΫϥυͷΩϞ Ͳ͜·Ͱোʹඋ͑Δ͔ʁ ʹ͋Δͱࢥ͏
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 69 ໝྗ େࣄͳͷ...
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 70 ໝྗʹΑͬͯ • Ͳ͜·Ͱͷো·ͰखΛଧ͔ͭ • ઃܭ࣌ͰͲ͜·Ͱӡ༻อकΛݟਾ͑Δ͔ Λಋ͖ग़͢
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 71 • ͓͔͚ۚ͑͞Εɺ࡞Δ͚ͩͳΒ࣮ͦ͜·Ͱ͍͠ͷͰͳ͍ • ͨͩ͠ɺՄ༻ੑҙࣝͩͨ͠͠Ϛδͳ༻ܥΛߟ͑Δͱ్࣮ʹ͘͠ͳΔ • ม͕ͱͨΜʹ૿͑ͯ͠·͏
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ ͜͜Ͱ 72 • ৽ଔ1ͷͱ͖ɺͱ͋Δߦ͚γεςϜͷ৽ઃͷϓϩδΣΫτʹͯ • ϦϦʔεલͷόϦόϦ࡞ۀதɺҰॹʹ͓ࣄ͍ͯͨ͠֎෦ϕϯμʔ͔Βͷ͍߹Θͤ Կ͔͜͜2-3xx͍ͬͯ͏αʔόʔʹ͚ͩܨ͕ͬͨΓܨ͕Βͳ͔ͬͨΓ͢ΔΜͰ͢Αɻ ܨ͕ͬͯશવ͔ͬͨΓ҆ఆ͠ͳ͔ͬͨΓͱ͔ɻ ௐͯ͘Ε·ͤΜ͔ʁ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 73 ͳΜͩΖ͏ʁʁʁ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ ώϯτ 74 • αʔόʔଆʹԿͳ͍ ◦ ෦͕ނো͍ͯ͠Δͱ͔ɺOSͷજࡏతόάͱ͔Ͱͳ͍ • NWػثʹԿͳ͍ •
ͨͩ1ʹ͚ͩࣄ͕ൃੜ ◦ ಉ͡NWʹܨ͕͍ͬͯΔଞͷαʔόʔʹԿ͕ͳ͍ • ͦͷࣄ͕ൃੜ͢Δલʹগ͠ϥοΫΛ৮Δ࡞ۀ͕͋ͬͨ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ ͑ 75 • ͦͷαʔόʔΛܨ͍Ͱ͍ͨޫϑΝΠόʔέʔϒϧͷۂ͛ݶքΪϦΪϦ͙Β͍ͷ έʔϒϦϯάΛ͍͔ͯͨ͠Β ◦ ͏ͪΐ͍Θ͔Γ͍͘͢͏ͱR͕খ͍͞ ◦ ͦͷͨΊύέοτ్͕தͰϩε͠·͘Δ
= NW͕ෆ҆ఆ ͳ͠ ݫ͍͠ɾɾɾ ແཧʂʂʂ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ ΫϥυͰ͋ΕɺԿ͔ো͕͋ͬͨͱͯ͠ݪଇ͚͔ͭͩ͠Ͱ͖ͳ͍ 76 • ͔ͭ͠Ͱ͖ͳ͍͔Βͦ͜ɺͦͷ͍ͬͯΔؒαʔϏεΛܧଓͤ͞ΔͨΊʹɺ ϚϧνκʔϯϚϧνϦʔδϣϯͳߏʹ͓ͯ͘͜͠ͱେࣄ • ͍ͬΆ͏ͰஹީΛࣄલʹΔ͜ͱͰ͖ͳ͚Εɺ োʹؕͬͨ͋ͱ͏فΔ͔͠ͳ͍ :cry:
:pray: • ͋Δҙຯ͍͠͠ɺ͋Δҙຯָ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ ϋΠϒϦου = ΦϯϓϨ͕ೖͬͯ͘Δͱɺશ෦ࣗͨͪͷ 77 • ΊͪΌͪ͘Όٕज़ྗ͕͋ΕύϒϦοΫΫϥυΑΓ ύϑΥʔϚϯεՄ༻ੑΛ্͛ΒΕΔ • ԼखʹΕɺύϑΥʔϚϯεͰͳ͍͠োଟ͘ɺ
ϥϯχϯάίετߴ͍γεςϜʹͳͬͯ͠·͏ • ͏·͘Βͳ͍ͱɺྑ͍ͱ͜ͲΓͲ͜Ζ͔ɺѱ͍ͱ͜ͲΓʹͳͬͯ͠·͍͔Ͷͳ͍
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 78 • ԿʹมʹԿ͕ೖͬͯ͘Δ͔ʁΛ૾͢Δ͔͕େࣄ • ૾ྗͱ͍͏ΑΓໝྗͱ͍ͬͨ΄͏͕ྑ͍͔͠Εͳ͍
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ ໝྗ 79 • ͜Μͳ͜ͱ͋Δ͔͠Εͳ͍ɺ͋Μͳ͜ͱ͋Δ͔͠Εͳ͍ • ͦΕΛ૾ͯ͠ɺखΛଧ͍͔ͬͯͳ͔ΕͳΒͳ͍ • ͪΖΜશͯΛચ͍ग़͢͜ͱ͍͠͠ɺ ચ͍ग़ͨ͠ͱ͜ΖͰରࡦͰ͖Δ͔Ͳ͏͔Θ͔Βͳ͍
• Ͱߟ͑ͳ͍Θ͚ʹ͍͔ͳ͍ ◦ Կ͕ى͖Δ͔Θ͔Βͳ͍͠ɺԿ͔ى͖ͨΒࣗͨͪͷͳͷ͔ͩΒ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ ໝྗ 80 • ͱʹ͔͘ໝ͠·ͬͯ͘ɺϏδωεϥΠϯʹ߹Θͤͯɺ ͜͜कΖ͏ɺ͜Εํͳ͍ͷϥΠϯΛҾ͘ • ͦ͏Ͱͳ͍ͱݱ࣮తͳϋΠϒϦουΫϥυແཧ ◦ ໝ͠·ͬͯ͘ग़͖ͯͨԿ͔ʹରͯ͠શͯखΛଧͭͷແཧ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ ໝྗ: Ϋϥυ 81 • Ϋϥυͷ୯Ұκʔϯͷো : વ͋Δ͔ΒϦʔδϣφϧͳߏʹ͠Α͏ • Ϋϥυͷ୯ҰϦʔδϣϯͷো:
͋Γ͏ΔΑͶɺϚϧνϦʔδϣϯͳߏʹ͠Α͏ • ຊࠃͷ2Ϧʔδϣϯͷಉ࣌ো: ͳ͘ͳ͍͚Ͳɺͦ͜·ͰΔʁʁ • Googleͷւఈέʔϒϧͷো: ϚϧνΫϥυʹ͠ͳ͍ͱແཧ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ ໝྗ: ΦϯϓϨ 82 • ཧܥ ◦ ిݯϢχοτ͕ࢮ͵ ◦ NIC͕ࢮ͵
(Ͳ͔͜ͷϙʔτ͚ͩࢮ͵) ◦ ࢮ͵ͳΒ·ͩϚγ͕ͩɺத్ͳࢮঢ়ଶʹͳΔ ◦ ϝϞϦͷECCΤϥʔ͕ଟൃͯ͠அଓతʹ࠶ىಈ͔͔Δ ◦ έʔϒϦϯάෆඋ ◦ ͦͦέʔϒϧͷ࣭͕͍ ◦ पғڥͷϊΠζ͕ܹ͍͠ ◦ ۭௐ͕ͳ͍ or ۭௐͷௐࢠ͕ѱͯ͘ॵ͍ ◦ ΠϯλʔωοτճઢͷΩϟϦΞো ͜Μͳͷংͷޱɻ ·ͩ·ͩͨ͘͞Μ͋Δɻ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 83 • ໝ͠ग़͢ͱΩϦ͕ͳ͍ͷࣄ࣮ • Ͱɺશ͘ߟ͑ͳ͍ͷͨͩͷߟྀ࿙ΕͰ͋Γઃܭෆ • ͦͯͦ͠͏͍͏ͷΛITۀքͣͬͱ͖ͬͯͯɺ͔ͩΒͦ͜Ϋϥυ͕ྲྀߦͬͨΘ͚ͩ ◦ ࣗୡ͕͋ʔͩͷ͜ʔͩͷߟ͑ͯίετٕज़తʹରࡦ͕͍͠෦ͩͬͯ͋Δ
◦ ലେͳࢿۚͱٕज़Λ࣋ͬͨύϒϦοΫΫϥυʹ͓ΜͿʹ๊ͬ͜࠷ߴʂʂʂ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 84 • ͦΕͰԿ͔ཧ༝͕͋ͬͯݱͰϋΠϒϦουΫϥυΛΔͳΒɺ ·ͨੲʹ۪ͬͯʹઓΘͳ͚ΕͳΒͳ͍ ◦ ͔͠୯ʹΦϯϓϨ͚ͩΛߟ͑Εྑ͍ͷͰͳ͘ɺ ࣗୡͰ੍ޚ͖͠Εͳ͍Ϋϥυଆͱͷ࿈ܞલఏʹͯ͠ߟ͑ͳ͚ΕͳΒͳ͍ ◦ ΦϯϓϨ͚ͩߟ͑ΕΑ͔ͬͨੲΑΓ“ΑΓ͘͠ͳͬͨ”ͱݴ͑Δ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 85 • ͪΖΜྺ࢙͕͋ΔͷͰɺϕετϓϥΫςΟεతͳͷͨ͘͞Μ͋Δ ◦ Ϋϥυଆͦ͏ͩ͠ • ॴҦϕετϓϥΫςΟεతͳΫϥυΞʔΩςΫνϟཧߏΛऔ͍ͬͯͯɺ ࣮͜Μͳ͜ͱ͕͋ΔͱোʹؕΔΑͶɾɾɾʁͱ͍͏ͷશવ͋Δ ◦
ϕετϓϥΫςΟε͜͏Εྑ͍ײ͡ʹͳΔͥͷಓҊΨΠυͳ͚ͩͰɺ શ͕ͯཏ͞ΕͨΞ˓ςΟϚχΞͰͳ͍ ◦ ͖ͬ͞ͷޫϑΝΠόʔͷྫͳΜͯڭՊॻతͳϕετϓϥΫςΟεʹࡌͬͯͳ͍ ͦ͜ΛࣗୡͷߏͱϏδωεʹরΒ͠߹ΘͤͯᖰΓग़͢ͷ͕ໝྗ
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 86 • ΩϦ͕ͳͯ͘ɺ૾͠·ͬͯ͘ໝ͠·ͬͯ͘ɺ ͋Μͳ͜ͱ͋Δ͔ʁ͜Μͳ͜ͱ͋Δ͔ʁͱ۷Γग़͢ • ͦͷ্ͰɺͦͷোͷՄೳੑͱӨڹΛצҊͯ͠ɺରࡦΛऔΔ͔Ͳ͏͔Λߟ͑Δ • ॏཁͳͷɺໝͨ͠োύλʔϯʹରͯ͠Ұߟ͑ͯΈΔ͜ͱ ◦
ͦͦߟ͑ͳ͍ ◦ ΩϦ͕ͳ͍͔Βߟ͑ͳ͍ ◦ ग़͍͍͚ͨ͠Ͳߟ͑ͳ͍
༻ϋΠϒϦουΫϥυͷͨΊͷໝྗ 87 • ಛʹΫϥυ͕བྷΈग़͢ͱɺͪ͜ΒͰͲ͏͠Α͏ͳ͍͜ͱ͋Δ • ͦ͜ʹରͯ͠Ͳ͜·Ͱ͓ۚΛ͔͚ͯͲ͜·ͰͷϦεΫΛڐ༰͢Δ͔ʁͱ͍͏ͷ Ϗδωεଆͱͷձඞཁ
ࠓճͷࣄྫʹ͓͚Δ ٕज़ཁૉͷհ 88
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 89 • Ͱ͋ΔఔͷมΛߟ͑ͳ͕ΒোܥΛҙࣝ͢ΔͱͳΔͱɾɾɾʁ ◦ େผͯ͠ҎԼ2ͭʹ͚ͯߟ͑Β͑ΒΕΔ ◦ NWͷՄ༻ੑ ◦ ΞϓϦέʔγϣϯͷՄ༻ੑ
• ࠓճͷέʔεͷ߹ɺSPoFΛపఈతʹഉআ͔ͨͬͨ͠ ◦ ΫϥυଆݪଇϚϧνϦʔδϣϯͳߏʹ͍ͨ͠
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 90 • GCPͷ߹ɺϕʔεͱͳΔVPCNWతͳՄ༻ੑͱͯͦͦ͠ϚϧνϦʔδϣϯ ◦ VPNݪଇϦʔδϣφϧ (Ϛϧνκʔϯ) ◦ વɺτϯωϧΛ2ຊҎ্Δඞཁ͋Δ ▪
୯ҰϦʔδϣϯʹ2ຊҎ্ͬͯϦʔδϣφϧ ◦ ͦΕͧΕͷϦʔδϣϯʹରͯ͠VPNΛ2ຊҎ্(߹ܭ:࠷4ຊ) ͋ΕϚϧνϦʔδϣϯͳVPNܦ࿏ΛߏͰ͖Δ ઌ΄ͲͷߏਤͩͱਅΜதͷ͜ͷ෦
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 91 • ͜ΕͰ”ܦ࿏”ͱͯ͠ϚϧνϦʔδϣϯʹͰ͖Δ • ͜ͷ··Ͱো࣌ͷΓସ͑ʹରԠͰ͖ͳ͍ • BGPʹΑΔॊೈͰߴͳΓସ͑
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 92 • VPNVPCʹೖΓ͜ΉܗʹͳΔͷͰɺΞϓϦέʔγϣϯΛ ͲͷΑ͏ʹϗεςΟϯά͢Δ͔ߟ͑Δ ◦ GCPͷ߹ɺGCFCloudRunؾܰʹ͑ͯྑ͍͕ɺVPCωΠςΟϒͰͳ͍ ◦ αʔόʔϨεVPCίωΫλ͕ඞཁ =
োΛ૿͢͜ͱʹͭͳ͕Δ ◦ ΦϯϓϨଆ͔ΒͷΠϯόϯυ௨৴ʹରԠͰ͖ͳ͍
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 93 • GKEͷ߹VPCωΠςΟϒʹՔಇͤ͞ΒΕΔ ◦ k8sͷࣝΛ׆͔ͤΔͷͰӡ༻ɺ·͊Γ͍͢ ◦ AutopilotΛલఏʹ͢Δ͜ͱͰϑϧϚωʔδυʹΕΔͱͳ͓ྑ͠ ▪ ͪΖΜཁ݅࣍ୈͰ͋Δ͕ɺΑ΄ͲॊೈʹΓ͍ͨέʔεͰͳ͚ΕɺAutopilotʹ
Αͬͯk8sͱͯ͠ͷڧྗͳΦʔέετϨʔγϣϯೳྗڗडͭͭ͠ϊʔυཧͳͲͷ໘ ͝ͱͤͪΌ͏ ◦ ࢀߟ: https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-overview?hl=ja
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 94 • GKEͷ߹ϦʔδϣφϧͰ͋Δ͕ɺϚϧνϦʔδϣϯʹ؆୯ʹΕͳ͍ ◦ ํ๏ͱ͍͔ͯͭ͘͠ ◦ Multi Cluster Ingress
◦ Multci Cluster Service ◦ Anthos Service Mesh
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 95 • HTTPS௨৴͕લఏͳΒ Multi Cluster Ingress ͕؆୯ ◦ ࢀߟ:
https://cloud.google.com/kubernetes-engine/docs/concepts/multi-cluster-ingress?hl=ja ◦ ࠓճͷ߹ɺHTTPʹݶΒͳ͍༷ʑͳϓϩτίϧΛѻ͏ඞཁ͕͋Δ ◦ ͭ·Γ͑ͳ͍ɺෆ࠾༻ • ࣅͨཧ༝ͰAnthos Service MeshෆՄ ◦ UDPΛѻ͑ͳ͍ɾɾɾϚϧνϦʔδϣϯͳLBͳΒ݁ہ֎෦LB͕લఏ ◦ ࢀߟ: https://cloud.google.com/service-mesh/docs?hl=ja
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 96 • Multi Cluster ServiceͰ͋ΕɺL4Λͦͷ··ѻ͑ΔͷͰࣗ༝͕ߴ͍ ◦ ࢀߟ: https://cloud.google.com/kubernetes-engine/docs/concepts/multi-cluster-services?hl=ja ◦
௨৴ཁ݅ͱͯ͠ΫϦΞ ◦ ͔͠͠ɺGKEΠϯλʔφϧͳVIPʹ ͳͬͯ͠·͏ͷͰ֎෦͔Βѻ͑ͳ͍ ◦ ෆ࠾༻
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 97 • ڪΒ͘େମͷϋΠϒϦουΫϥυͷ߹ɺΦϯϓϨଆͱΫϥυଆͷϓϩτίϧ HTTPSʹݶΒͳ͍ͣ ◦ ѱ͍͚ͲͦΕʹݶΔͳΒผʹΠϯλʔωοτܦ࿏Λḷͬͨͬͯྑ͍ͷͰʁ ◦ ͪΖΜҙਤͯͦ͠͏·ͱΊΔ͜ͱҰҊͩͱࢥ͏͕ •
ͦ͏ͳͬͨͱ͖ʹ్ʹϚϧνϦʔδϣϯͳߏऔΓͮΒ͍ͷ͕ݱࡏͷΫϥυ
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 98 • ී௨ʹGCPͱͯ͠ͷ෦LBΛ͏ͷʁ ◦ L4ϩʔυόϥϯαͷ߹ɺϚϧνϦʔδϣϯͳLBʹͰ͖Δͷ֎෦LBͷΈ ◦ ෦LBͷ߹ɺγϯάϧϦʔδϣϯʹͳͬͯ͠·͏
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 99 • ͭ·ΓɺVPCΠϯλʔφϧ͔ͭϚϧνϦʔδϣϯͳੑΛ࣋ͨͤͨΞʔΩςΫνϟΛ ϚωʔδυલఏͰߏங͢Δ͜ͱݱঢ়ͷGCPͰෆՄೳ ◦ গͳ͘ͱGKE+αͰແཧ (୭͔Կ͔ྑ͍ํ๏Λ͍ͬͯͨΒڭ͍͑ͯͩ͘͞) • ֎෦ެ։ͳGKEͷϚϧνϦʔδϣϯͳHAߏαϙʔτ͞Ε͍ͯΔ͠ɺ
ϕετϓϥΫςΟε͋Δ͕ɾɾɾ ◦ ೦ͳ͕Β෦ެ։ = VPCΠϯλʔφϧͳͷ·ͩ·ͩൃల్্
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ ߟ͑͏Δ༗ޮࡦ 100 • େલఏͱͯ͠NWͰϚϧνϦʔδϣϯͳμΠφϛοΫϧʔςΟϯάΛ࣮ݱͤ͞Δ • ͦ͏ͬͯNWతͳܦ࿏Λ୲อ্ͨ͠Ͱɺ GCPͷCloudDNSϧʔςΟϯάϙϦγʔ&ϔϧενΣοΫΛซ༻ ◦ ໊લղܾΛ༻͍ͨϑΣΠϧΦʔόʔύλʔϯͱ͍͏͜ͱ
◦ ެࣜΨΠυ: https://cloud.google.com/dns/docs/zones/manage-routing-policies ◦ ެࣜϒϩά: https://cloud.google.com/blog/ja/products/networking/introducing-automated-failover-for-private- workloads-using-cloud-dns-routing-policies-with-health-checks
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ ߟ͑͏Δ༗ޮࡦ 101 • ෦ར༻ͷͨΊͷϓϥΠϕʔτκʔϯΛ࡞͓ͬͯ͘ • ͦͷκʔϯʹର͢ΔAϨίʔυͱͯ͠ɺFailover PolicyΛ࣋ͨͤΔ ◦ PrimaryܥͷClusterͷServiceʹϔϧενΣοΫΛ͔͚͓ͯ͘
◦ ݪଇతʹ໊લղܾ݁ՌͦͪΒʹͳΔ ◦ োʹؕͬͨΒSecondaryଆʹ໊લղܾ݁Ռ͕ΓସΘΔײ͡ • GEO Policiesͱ͍͏ܗͰΑΓ͍ۙϦʔδϣϯʹܨ͕ΔΑ͏ʹ໊લղܾ݁ՌΛม͑Δ͜ͱՄೳ • ͨͩ͠ࠓճͷྫͷΑ͏ʹສ͕ҰͷࡍʹผϦʔδϣϯʹಀ͛ΕͨΒͦΕͰྑ͍͍ͬͯ͏࣌ɺFailover Policies Ͱे
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ ߟ͑͏Δ༗ޮࡦ 102 • GEO Policiesͱ͍͏ܗͰΑΓ͍ۙϦʔδϣϯʹܨ͕ΔΑ͏ʹɺ ໊લղܾ݁ՌΛม͑Δ͜ͱՄೳ • ͨͩ͠ࠓճͷྫͷΑ͏ʹສ͕Ұͷࡍʹ ผϦʔδϣϯʹಀ͛ΕͨΒͦΕͰྑ͍͍ͬͯ͏࣌Failover
Policies Ͱे
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ : ݱঢ়GUIαϙʔτ͕ͳ͍ͷͰCLIΛ͏ඞཁΞϦ 103 # gce-vm-ipͳNGEΛ࡞ gcloud compute network-endpoint-groups create
tokyo-neg \ --network=default \ --subnet=default \ --network-endpoint-type=gce-vm-ip \ --zone=asia-northeast1-b # backend-serviceΛ࡞Δ࣌Ͱগ͠ύϥϝʔλʔΛ૿͢ gcloud compute backend-services create tokyo-backend-service \ --region=asia-northeast1 \ --load-balancing-scheme=INTERNAL \ --protocol=TCP \ --health-checks=your-healthcheck \ --health-checks-region=asia-northeast1 # gce-vm-ipͳNEGΛόοΫΤϯυͱͯ͠Ճ͢Δ gcloud compute backend-services add-backend tokyo-backend-service \ --network-endpoint-group=tokyo-neg \ --network-endpoint-group-zone=asia-northeast1-b \ --region=asia-northeast1
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 104 # Routing Policyͱͯ͠Ξλον͢ΔͨΊͷForwarding Rule gcloud compute forwarding-rules tokyo-forwarding-rule
\ --region=asia-northeast1 \ --load-balancing-scheme=internal \ --network=default \ --subnet=default \ --ip-protocol=TCP \ --ports=8080 \ --backend-service=your-backend-service \ --backend-service-region=asia-northeast1 # ౦ͷͨΊͷForwardingRuleΛͦΕͧΕΞλον͠ͳ͕ΒFailoverՄೳͳAϨίʔυΛ࡞ gcloud dns record-sets create ha.example.local \ --ttl=30 \ --type=A \ --zone=your-private-zone \ --routing-policy-type=FAILOVER \ --enable-geo-fencing \ --routing-policy-primary-data=tokyo-forwarding-rule \ --routing-policy-backup-data-type=GEO \ --routing-policy-backup-data="asia-northeast2=osaka-forwarding-rule" \ --backup-data-trickle-ratio=0 \ --enable-health-checking
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ ߟ͑͏Δ༗ޮࡦ 105 • ͜ͷ··ͰΦϯϓϨଆ͔Β໊લղܾ͕Ͱ͖ͳ͍ • CloudDNSͷड৴αʔόʔϙϦγʔΛͬͯVPCΠϯλʔφϧͳ໊લղܾΛߦ͑ΔDNS ΤϯυϙΠϯτΛ࡞͓ͯ͘͠ ◦ ͦ͜ʹର໊ͯ͠લղܾͤͯ͋͛͞ΕOK
◦ ࢀߟ: https://cloud.google.com/dns/docs/server-policies-overview?hl=ja#dns-server-policy- in
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 106 # ड৴αʔόʔϙϦγʔ࡞ gcloud dns policies create your-resolver-forwarder \
--description=from-onprem \ --networks=your-vpc \ --enable-inbound-forwarding
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ ߟ͑͏Δ༗ޮࡦ 107 • ͜͜·Ͱॻ͍ͯΞϨͳΜ͚ͩͲɺ ͜ͷRoutingPolicy&HealthCheckػೳPreviewঢ়ଶ ◦ ඇৗʹ೦͕ͩɾɾɾ·ͩGA͞Ε͍ͯͳ͍ • ͱ͍͏Θ͚Ͱ༻Ͱ͏ͷΦεεϝ͠ͳ͍
• ͋ͱ͜Ε࠷ۙࢼ͍ͯͨ͠Μ͚ͩͲҰ෦ͷ௨৴͕௨Βͳͯ͘·ͩ͏·͍ͬͯ͘ͳ͍...
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ ͳΒͲ͏͢Δʁ 108 • ࠓճɺ୯७ʹো࣌ʹผϦʔδϣϯʹಀ͛ΒΕྑ͍͚ͩ (ϑΣΠϧΦʔόʔͰOK) • Armadillo෦Ͱ֤GKEΫϥελʔͷServiceʹରͯ͠ϔϧενΣοΫΛ͔͚ͯ ͦΕ͕མͪͨΒτϯωϧΛམͱ͢σʔϞϯίϯςφΛՔಇͤ͞Δ ◦
τϯωϧ͕མͪΕBGP KeepaliveવམͪΔͷͰϧʔτ͕ΓସΘͬͯɺ ηΧϯμϦͷผϦʔδϣϯʹܨ͕Δ ◦ CiscoͰ͍͏IP SLA Object TrackingͷΠϝʔδ • ΫϥελʔԣஅͰActive-ActiveͰಈ͚ΔΞϓϦέʔγϣϯͷܗͱ͓͖ͯͭͭ͠ɺ ్தͰԿ͕͋ͬͯؼΓͷ௨৴͕ಧ͘ܗΛ࡞Γ্͛Δ
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ GCP Autopilotڥʹ͓͚ΔγϯάϧϦʔδϣϯڥͰͷμϯλΠϜܰݮࡦ 109 • Autopilotͷ߹ɺϑϧϚωʔδυͳΘ͚͕ͩɺͨ·ʹϝϯςφϯε͕ೖΔ • ͦͷؒɺԿ͔͠ΒͷμϯλΠϜ͕ൃੜͯ͠͠·͏Մೳੑ͕θϩͰͳ͍ • ͦͷʹલड़ͷΈϑΣΠϧΦʔόʔ͞ΕΔͷ໘
◦ ͍͍͚ͯ͠ͲɺͦͷఔͰ͍ͬͯ͏
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ GCP Autopilotڥʹ͓͚ΔγϯάϧϦʔδϣϯڥͰͷμϯλΠϜܰݮࡦ 110 • αʔδΞοϓάϨʔυͱPodDisruptionBudgetͷซ༻Ͱ ϝϯςφϯε࣌ʹ͓͍ͯαʔϏεػೳͱͯ͠ͷμϯλΠϜΛ͔ͳΓܰݮͰ͖Δ ◦ ॱ࣍ɺϊʔυͷΞοϓάϨʔυͳͲ͕ೖͬͯγʔέϯγϟϧʹ࣮ߦ͞Εɺ ͔ͭɺPodͷ࠷͕อͨΕͨ··ʹͳΔͷͰɺ
ಛఆ࣌ؒͰPod͕શ໓͢Δ͜ͱ͕ͳ͍ = ࣄ্࣮ͷμϯλΠϜൃੜ͠ͳ͍ • αʔδΞοϓάϨʔυAutopilotͷ߹σϑΥϧτͰઃఆ͞Ε͍ͯΔͷͰ ͋·Γҙࣝ͠ͳͯ͘OK • ࢀߟ: https://cloud.google.com/blog/ja/products/containers-kubernetes/introducing-surge-upgrades-for-anthos-gke?hl=ja
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ ArmadilloͷԼ४උ 111 • ArmadilloͷσϑΥϧτLinux Kernel࠷ݶͷػೳ͔͠Έࠐ·Ε͍ͯͳ͍ ◦ ೝূ҉߸ԽΛ࢘ΔAHESPؔ࿈ͷΧʔωϧϞδϡʔϧ͕Έࠐ·Ε͍ͯͳ͍ ◦ ͭ·ΓσϑΥͰIPsecΛΕͳ͍ͷͰKernelΛ࠶Ϗϧυ͢Δඞཁ͕͋Δ
# Networking Support > Networking options > ESP Transformation ͱ AH Transformation Λ༗ޮԽ $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig # ͜ͷ࣌ͰΧʔωϧ࠶Ϗϧυྃ $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j5 # ࣮ࡍʹ͜͜ͰArmadilloͳΒͰͷΰχϣΰχϣ͕ඞཁׂ͕ͩѪ # Ռͷ.swu͕ArmadilloͰॻ͖ࠐΊΔϑΝʔϜΣΞΠϝʔδ $ mkswu -o update-kernel.swu update-kernel/update-kernel.desc
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ ArmadilloͷԼ४උ 112 • Atmark Techno Development Environmentͱ͍͏ެࣜʹఏڙ͞ΕΔVMΛ͑ɺ Armadillo༻ͷΧʔωϧϏϧυͳͲΛ؆୯ʹΓ࢝ΊΒΕΔͷͰΦεεϝ ◦
ࢀߟ: https://armadillo.atmark-techno.com/guide/atde • ͨͩͦ͠ͷ··Ͱ୯ҰϚγϯʹର͢ΔVMͱ͔ͯ͠͠ѻ͑ͳ͍ͷͰɺ ࠓճGCEʹΠϯϙʔτͤͯ͞ڞ༗VMͷΑ͏ͳײ͡ʹͨ͠ ◦ ؔ࿈ϝϯόʔ͕୭Ͱ͑ΔΑ͏ʹ # VMͷ.vmdkΛࣄલʹGCSʹΞοϓϩʔυ͓ͯ͘͠ # ͦͷvmdkΛΠϯϙʔτͤͯ͞GCEΠϯελϯεΛ࡞ $ gcloud compute images import [your-vm-name] --source-file "gs://path/to/atde.vmdk"
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ ArmadilloͷԼ४උ 113 • ࡞ͨ͠ΠϝʔδωοτϫʔΫܦ༝ͰΠϯετʔϧͤ͞Δ͜ͱՄೳ • ͞ΒʹΦϒδΣΫτετϨʔδͳͲΛซ༻ͯ͠؆୯ʹDFUͰ͖ΔΈ͑Δͱྑ͠ # ࣗલͷͲ͔͜ʹಠࣗϏϧυͨ͠ΧελϜΠϝʔδΛ͓͍ͯɺ͔ͦ͜Βμϯϩʔυͯ͠ॻ͖ࠐΉ $
swupdate -d '-u http://your.image-publisher.io/update-kernel.swu' # ެࣜతʹఏڙ͞Ε͍ͯΔ࠷৽ΠϝʔδΛॻ͖ࠐΉ $ swupdate -d '-u https://download.atmark-techno.com/armadillo-iot-g4/image/baseos-x2-latest.swu'
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 114 • વͳ͕ΒϞχλϦϯάҙࣝ͠ͳ͚ΕͳΒͳ͍ ◦ Ϋϥυଆ·͊GCPͰ͋ΕCloudLoggingʹϩάू͞ΕΔ͠ɺ CloudMetricsͰϝτϦΫεΛूΊͨΓΞϥʔςΟϯά؆୯ʹՄೳ ▪ AWS
CloudWatchͰಉ༷ • ϏοτΩʔͷ߹ɺશ໘తʹDatadogΛ࠾༻ • ΦϯϓϨଆΛΕͯͳΒͳ͍
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 115 ͱݴͬͯɺDatadog AgentೖΕ͓͚ͯ ཧαʔόʔͷϝτϦΫεͩͬͯ৭ʑऔΕΔ͡ΌΜʁʁ
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 116 ΄Μͱʹʁ ·͊ࠓճͷྫͰArmadilloLinuxͳͷͰͦΕͦ͏ͳΜ͚ͩͲɻ ྫ͚͑ͩͲAgentΛͲ͏ͬͯNWػثʹΠϯετʔϧ͢Δͷʁ ·͔͞NWػثϞχλϦϯά͠ͳ͍͍ͯ͘ɺͱʁ ͋Δ͍ɺ༷ʑͳHWোஹީͲ͏ͬͯݕ͢Δʁ
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 117 • ΦϯϓϨ͜ΕɺΫϥυ͋Εɺͱ͍͏Α͏ʹπʔϧΛ͚ΔͷҰҊ ◦ ྫ͑Datadogͱ͔ͩͱͲ͏ͯ͠ཧج൫ͷࢹ͕ऑ͍ ◦ Ͱ͖͢Δ͚Ͳ SNMP TrapΛૢΕͳ͍ͷ͕௧͍
◦ ཧతͳނোʹؾ͖ͮΒ͍ ◦ ͨͩ͠େମͷػثSNMP TrapʹཔΒͣނোʹؾͮ͘ํ๏͕ͳ͍ͷ͕࣮
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 118 • GCPଆ͞Δ͜ͱͳ͕ΒɺΦϯϓϨଆDatadogʹऩूͤ͞Δ • Datadog Agent͕SNMPΛαϙʔτ͍ͯ͠ΔͷͰɺ ͦΕΛͬͨNWػث͔ΒͷϝτϦΫεऩू͕Մೳ ◦ ΫϥυΦϯϓϨ౷߹తʹϞχλϦϯά/ΞϥʔςΟϯάͤ͞ΒΕΔ
͔͠͠ɺSNMP GetͰ͖ͯɺ TrapΛड͚ࢭΊΔ͜ͱͰ͖ͳ͍ɾɾɾ HWোʹؾ͖ͮͮΒ͍
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 119 • Armadillo෦ͰsnmptrapdΛಈ࡞ͤ͞ɺͦͷTrapͷ༰Λࣔ͢ϩάσʔλΛ ϓογϡͤ͞Δ͜ͱͰHWোʹؾ͖ͮ͘͢͢Δ i. VRRPϧʔςΟϯάςʔϒϧͷτϙϩδมԽͳͲTrapͰั·͑ΒΕΔ ii. PipelineͷதͰGrok ParserΛͬͨΓɺ
Generate Metricsͤ͞Δ͜ͱͰҙσʔλʹมͯ͠ՄࢹԽΞϥʔςΟϯάʹྲྀ༻
ࠓճͷࣄྫʹ͓͚Δٕज़ཁૉͷհ 120 • ಉ͡αʔϏεΛఏڙ͍ͯ͠Δίϯϙʔωϯτͱͯ͠ଊ͑ΔͷͰ͋Εɺ ΓҰͭͷࢹج൫Ͱ·ͱΊ͋͛ͨ΄͏͕خ͍ͩ͠Ζ͏ɺͱஅ ◦ ྫ͑ɺΦϯϓϨ༻ʹZabbixΛ࠾༻ͨ͠ͱ͠Α͏ (ରNWػثͳΒඇৗʹศར) ◦ Կ͔͠ΒͷোΒνʔϜҟಈ͕͋ͬͨ࣌ʹຊ݅ʹؔΘΔΤϯδχΞ͕
θϩ͔Β֮͑͞ͳ͍ͱ͍͚ͳ͍ͷΩπ͍ = ֶशίετ͕ൃੜ͢Δ ◦ ΫϥυଆͰDatadogΛ͍ͬͯͯɺԾʹΦϯϓϨ͕ೖͬͯ͘Δͪ͜ΒͰDatadogΛ͍ͬͯΔͷͳΒɺ ಉ͡ײ֮Ͱѻ͑Δ = ͙͢ʹରԠ։࢝Ͱ͖Δ
Կʹໝ͢Δ͔ 121
Կʹໝ͢Δ͔ 122 ໝྗͱ͍ͬͯͶ͐ɾɾɾ ͱ͍͏͜ͱͰɺໝΛࢧԉ͢Δ৺ߏ͑ͱ͍͏͔ํࡦΛɻ
Կʹໝ͢Δ͔ 123 • ཧతʹ৸Δ • ઃܭΛ৸͔ͤΔ
Կʹໝ͢Δ͔ ཧతʹ৸Δ 124 • ܦͬͯઃܭΛݟ͢ͱΞϥ͕ʹ͘ (Έͳ͞Μܦݧ͋Δͱࢥ͏͕) • ਆΤϯδχΞͳΒ·ͩ͠ɺࢲΛؚΊຌਓ͕1Ͱ࡞ͬͨઃܭΫιofΫι • ݪଇɺϩʔϚ1ͯ͠Βͳ͍
• ͱʹ͔࣌ؒ͘Λஔ͍ͯɺ৽ͳͰཁ݅ઃܭΛݟ͢͜ͱΛηΫγϣϯຖʹ܁Γฦ͢ ◦ Ϋϥυͷxxͷ෦ / ΦϯϓϨͷNWͷ͜ͷ෦ / ͜͏͍͏োύλʔϯͷͱ͖ etc.
Կʹໝ͢Δ͔ ઃܭΛ৸͔ͤΔ 125 • ΄ͱΜͲཧతʹ৸Δ͜ͱͱಉٛͳͷ͕ͩ • ͨ͠ʂͬͯࢥͬͨઃܭɺͪΐͬͱͯʂ 1ϲ݄৸͔ͤΑ͏ • ͦͷ1ϲ݄ޙʹ·ͨݟ͢ɺ୭͔ʹઆ໌ͯ͠ΈΔ
(ॏཁ) ◦ ͋Εɾɾɾʁ ͜Εຊʹ͜ΕͰ͍͍Μ͚ͩͬɾɾɾʁ ͜Μͳ͜ͱ/͋Μͳ͜ͱ༗Γಘͳ͍ɾɾɾʁ ͬͯͳΔ • ͜ΕͰख़͕ਐΜͰ͞Βʹѱ͍Օॴ͕ᖰΓग़͞Εͯશମతʹྑ͘ͳΔɻ
Կʹໝ͢Δ͔ 126 • ͋ͱɺݩࢠͳ͍͜ͱΛݴ͏͕ɺ ࠓ·ͰΰϦΰϦʹΫϥυͰੜ͖͖ͯͨਓ͔ࣾ͠ʹ͍ͳ͍ͳΒɺ ΦϯϓϨΛ͍ͬͯΔΠϯϑϥΤϯδχΞΛ࠾༻͠Α͏ • ͦͦ͋ΔఔͷࣝࢮઢΛજΓൈ͚ͨܦݧ͕ͳ͍ͱɺ ໝ͠Α͏ʹໝ͖͠Εͳ͍
ݱ࣮ͱཧͷΪϟοϓΛຒΊΔ 127
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 128 • ͓༡ͼͷϋΠϒϦουΫϥυָউ • ͔͚ۚ͑͞Εਖ਼ৗܥͷϋΠϒϦουָউ • Ͱ༻ͱ͍͏ͰͷՄ༻ੑΛ࣋ͬͨϋΠϒϦουΫϥυ͍͠
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 129 • ݱ࣮ͱཧͷઢҾ͖ΛͤʹΌͳΒΜ • ϋΠϒϦουΫϥυͷՄ༻ੑϚδͰίετʹ݁͢Δ ◦ ͨͪͷ࠷ڧͷϋΠϒϦουΫϥυ͕Ͱ͖ͨͧʂ ◦ ͦΕ͓٬༷ʹຊʹՁΛͨΒͤΒΕΔϞϊͳͷʁ
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 130 • ͦͯ͠ޙΓͰ͖ͳ͍ • ΫϥυͳΒɺ͋ͱͰߏΛݟͯ͠ίετݮɾɾɾ͕Ͱ͖Δ͚Ͳɺ ཧ͕བྷΉΦϯϓϨଆͦ͏͍͔ͳ͍ ◦ Ұಋೖͨ͠Βɺ3-5ؒҧ͍ͳ͘ಉ͡ͷΛ͍ଓ͚Δ͜ͱʹͳΔ •
ؒɺͦͷແବͳίετΛ͔͚ͨಷॏͳߏʹ͖߹͍ଓ͚ͳ͚ΕͳΒͳ͍
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 131 • Ռͨͯͦ͠ͷϨϕϧͷՄ༻ੑͦΕ͚ͩͷ͓ۚΛͬͯͰಘ͍ͨͷͳͷͩΖ͏͔ʁ • ͍ࣗୡͦ͏͔͠Εͳ͍͚Ͳɺ ͓٬༷ʹͱͬͯͦͷՄ༻ੑຊʹՁʹܨ͕ΔͷͩΖ͏͔ʁ تͿͷ͔ʁ
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 132 গ͠Λͯ͠ɺ৽ߏͷϋΠϒϦουΫϥυͷݸผͷ༰͔Βɺ ཧͱݱ࣮ΛݟͯΈ͍ͨ
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 133 • ϋΠϒϦουΫϥυΛ࣮͢Δʹͨͬͯଞʹબࢶ͋ͬͨ • ͔͠͠ɺίϯηϓτʹরΒ͠߹Θͤͯߟ͑Δͱཁ݅Λຬͨ͞ͳ͍͜ͱ͕ଟ͍ ◦ GCP Anthos Clusters
on bare metal ◦ ઐ༻ઢ(InterConnect) ◦ ดҬ ◦ ֤ࣾͷϚΠΫϩαʔόʔ ◦ Ϛϧνܦ࿏ͳઐ༻NWػث ◦ ※͜ΕΒҰ෦ͷྫͰɺ࣮ࡍʹͬͱͨ͘͞Μͷબࢶͱऔࣺબ͕͋Γ·ͨ͠
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 134 • Anthos Clusters on bare metal ͷՄೳੑ ◦
ΦϯϓϨଆͰϚωʔδυͳk8sΛಈ͔ͯ͠GCP͔ΒཧͰ͖Δ ◦ ΊͪΌͪ͘Όศརʂ ຊདྷͳΒ໘ͳΦϯϓϨଆͷk8sΛϚωʔδυʹѻ͑Δ • ෆ࠾༻ͷཧ༝ ◦ ཁٻεϖοΫ͕ߴ͘ɺͦΕΛຬͨͨ͢ΊͷػثΛങ͓͏ͱ͢Δͱίετ͕ਹΉ ◦ ΦϯϓϨଆͰΰϦΰϦʹk8sಈ͔͍ͨ͠΄ͲͷϫʔΫϩʔυͳ͍ ◦ ͦΜͳಷॏͳߏʹͨ͘͠ͳ͍
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 135 • தنʙେنͳϋΠϒϦουߏΛΔͳΒઐ༻ઢΛಋೖ͖͢ ◦ AWS: DirectConnect ◦ GCP: InterConnect
◦ Azure: ExpressRoute • ѹతʹͯ҆͘ఆత • ͦ͏͍͏نͷέʔεͳΒࣗͰͦ͏͢Δ͠ɺաڈͦ͏ͨ͠ ◦ ͕ɺࠓճͷ༻్ʹ߹Θͳ͍
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 136 • ͔͠͠ɺͱʹ͔͘Πχγϟϧίετϥϯχϯάίετ͔͔Δ ◦ ࠷Ͱֹ݄10ສ֮ޛ͖͢ • োϲ݄ʹҰͷϝϯςφϯε͕͋ΔͷͰϚϧνΩϟϦΞͳઐ༻ઢΛಋೖΛ͖͢ ◦ ͱͳΔͱɺ͞Βʹϥϯχϯάίετഒ૿͢Δ
• ಋೖ·Ͱख͔͔ؒΔ͠ϦʔυλΠϜඞཁ • ʑӜʑʹ૿͍͑ͯ͘ݸʑͷ͓٬༷͚ʹ͜ΕΔͷʁʁʁʁ
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 137 • ϞόΠϧճઢ + ดҬΛ͏έʔε ◦ ಛʹԿߏͤͣͱSIMૠ͚ͩ͢ͰGCPͱϩʔΧϧ௨৴͕ՄೳʹͳΔ ◦ VPNͷཧ/ϝϯςφϯείετΛݮՄೳ
◦ ͓ͦΒ͘ɺࠓճͷΑ͏ͳଞڌɾෆಛఆଟͷϋΠϒϦουΫϥυߏஙͰͳ͍ ݶΓɺਖ਼ดҬΛͬͨํָ͕ͩͱࢥ͏
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 138 • ดҬΛ࠾༻͠ͳ͔ͬͨཧ༝ ◦ ϥϯχϯάίετ͕ߴ͍ ◦ ϑϨΩγϏϦςΟ͕͍ ▪ ϕϯμʔ͕ઃఆ͍͔ͨͭ͘͠ͷΦϓγϣϯҎ֎ͷ͜ͱͰ͖ͳ͍
◦ εέʔϥϏϦςΟ͕͍ ▪ Կ͔͠ΒτϥϑΟοΫతʹݶքΛܴ͑ͯͳ͔ͳ্͔͛ΒΕͳ͍ ◦ ΞδϦςΟ͕͍ ▪ ௐୡ·ͰͷϦʔυλΠϜ͕͘ൃ͔͚͔ͯΒ1-2ϲ݄͔͔ͬͯ͠·͏
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 139 • ઐ༻ઢ͕ѱ͍Θ͚͡Όͳ͍ / ดҬ͕ѱ͍Θ͚͡Όͳ͍ ◦ ؒҧ͍ͳ͘ߴͰ҆ఆతͩ͠ɺҰಋೖͯ͠͠·͑ޙָ ◦ ཧΛͪ͜ΒͰ࣋ͭඞཁ͕ͳ͍
◦ ͓ۚ͑͞ग़ͤɺ౦ͯ͘͠ΕΔͷͰՄ༻ੑҾ্͖͛ΒΕΔ ◦ ͔͠͠ͳ͕ΒϞϊͷྑ͞ͱɺϏδωεͱরΒ͠߹Θ্ͤͨͰͷྑ͞ҟͳΔ ◦ ࠓճͷέʔεͩͱ߹க͠ͳ͔͚ͬͨͩ
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 140 • ઐ༻NWػثͷݕ౼વͯ͠Έͨ ◦ CiscoͰ͍͑ C1111-8PLTELA ͱ͔ͳΒ༗ઢGbELTE͑Δ ◦ ֤ࣾগͳ͔ΒͣࣅͨΑ͏ͳͷ͕͋Δ
• ࠷ॳʹݕ౼ͨ͠ͷ͕͜Εܥͩͬͨͷ͕ɺສ͕Ұͷ௵͕͠ޮ͔ͳ͍ ◦ ͦΓΌIPsecͷHWΦϑϩʔυޮ͔ͤΔΑ͏ͳεϧʔϓοτΒNATੑೳΒ͕ ཉ͍͠ͳΒ͜͏͍͏ܥΛ͏͖͕ͩࠓճͦ͜·ͰͷύϑΥʔϚϯεෆཁ ◦ ͩͱ͢Εɺ൚༻ੑ͕ߴ͍ํΛબͼ͔ͨͬͨ = LinuxͷNWػثԽ • ௐୡϦʔυλΠϜ͕͘ͳΓ͕ͪ ◦ ্ड़ͷC1111-8PLTELAͩͱೲظ10ϲ݄ɻɻɻ
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 141 • ֤αʔόʔϕϯμʔ͔ΒϚΠΫϩαʔόʔͱ͍͏ͷ͕ϦϦʔε͞Ε͍ͯΔ ◦ 20ສʙ͙Β͍ͷ҆͞Ͱ྆खαΠζ͙Β͍ͷখ͞ͳαʔόʔ͕खʹೖΔ ◦ ίϯγϡʔϚʔ͚ͷIntel NUCΛͻͱ·ΘΓେ͖ͨ͘͠ײ͡ͷͭ •
ͪ͜Βͷํ͕௵͕͠ޮ͘ ◦ ͕ɺࠓޙͷϏδωεల։Λߟ͑ͨ࣌ʹ࠷খߏͰ͋ͬͯΦʔόʔεϖοΫ ◦ ઈରతʹ͍͚҆ͲɺզʑͷϏδωεΛߟ͑ͨ࣌ʹ૬ରతʹߴ͍ ◦ ͓٬༷ͷՁ֨తૌٻྗΛऑΊͯ͠·͏
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 142 • ΤϯδχΞͳΒΑΓྑ͍ͷΛʂΑΓύϑΥʔϚϯε͕ग़ΔͷΛʂͱͳΓ͕ͪ • ͔͠͠ɺӦརاۀͱͯ͠ϓϩμΫτΛఏڙ͢ΔҎ্ɺ ϏδωεΛߟ͑ͨઃܭ։ൃΛ͠ͳ͚ΕͳΒͳ͍ • ͦ͏ͳͬͨ࣌ʹલड़ͷαʔόʔAnthosઐ༻ઢดҬ߹Θͳ͔ͬͨ ◦
ͲΕϞϊͱͯ͠ѱ͍Θ͚͡Όͳ͍ ◦ ୯ʹࠓճͷཁ݅༻్ʹ߹Θͳ͍͚ͩ
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ 143 • ϏδωεϥΠϯΛݟޡͬͨ݁ՌͷΞʔΩςΫνϟ͔Β͘ΔίετΞοϓΛ ͓٬༷ʹసՇ͢Δͷؒҧ͍ͬͯΔɺͱஅݴ͍ͨ͠ ◦ ࣗݾຬΛԡ͚͠Δͳ͍ͬͯ͏͜ͱ ◦ ͪΖΜ͔ͩΒͱݴͬͯમΛͬͯ҆͘ૣ͘ఏڙ͢Δɾɾɾͱ͍͏ͷҧ͏ •
࠷ڧ͕࠷ળͱݶΒͳ͍
ཧͱݱ࣮ͷΪϟοϓΛຒΊΔ ఏڙϓϥϯͱ͓٬༷ࣗͷબͰ͖Δࣗ༝Λ 144 • High Availabillity ϓϥϯ: ؒࢭΊͨ͘ͳ͍͓٬༷͚ ◦ શͳϚϧνϦʔδϣϯߏʹΑΔHigh
Availabillityͳڥ • Regular ϓϥϯ: ؒे͙Β͍ͷμϯλΠϜͳΒڐ༰Ͱ͖Δ͓٬༷͚ ◦ ໓ଟʹϠό͍͜ͱى͖ͳ͍ΑͶ͍ͬͯ͏͜ͱͰϦʔδϣφϧߏ͕લఏ ͓٬༷ͷࣄʹԠ͍ͯ҆͡ϓϥϯͰߴ͍ϓϥϯͰબͰ͖ΔΑ͏ʹ
͓͍͑ͨ͜͠ͱ 145 • ϋΠϒϦουΫϥυʹໝྗ͕ඞཁෆՄܽ • ৸Α͏ / ৸͔ͤΑ͏ • ࠷ڧ࠷ળͰͳ͍
಄ͷย۱ʹͰஔ͍͓͍͍͚ͯͯͨͩΔͱɺݱ࣮తͳϋΠϒϦουΫϥυઃܭ͕Ͱ͖Δɾɾɾ͔ɻ
146 ͓ΘΓ