Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
たまにはオンプレもいいぞ?GKE と Armadillo IoT で実現するハイブリッドクラウド
Search
株式会社ビットキー / Bitkey Inc.
PRO
November 21, 2022
Technology
450
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.
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
200
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
470
Swift&Xcodeのバージョンアップにまつわる怖かった思い出 / Scary Memories of Swift and Xcode Updates
bitkey
PRO
0
240
iOS/Androidの二刀流エンジニアがFlutter & TypeScriptへ越境後の現在地 - Flutterがメインになって見えた景色と現在の醍醐味 / Dual-Platform Mobile Engineer Shifts to Flutter & TypeScript - The View and Real Thrill of Going Flutter-First
bitkey
PRO
0
660
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
590
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
660
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
400
人が担う「価値」とは?これからの「QA」とは / Human Value and the Future of Quality Assurance
bitkey
PRO
0
370
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
580
Other Decks in Technology
See All in Technology
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
130
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
290
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
1k
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
130
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
190
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
740
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
170
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
300
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
130
Browser Spec: Testing Hotwire with Ruby
takahashim
1
130
Featured
See All Featured
Music & Morning Musume
bryan
48
7.4k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Code Review Best Practice
trishagee
74
20k
Product Roadmaps are Hard
iamctodd
55
13k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
Agile that works and the tools we love
rasmusluckow
331
22k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
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 ͓ΘΓ