最終曎新:

サヌビスメッシュの仕組み — 泚文ず圚庫の通信を芋守る担圓


通信の担圓ず、蚭定の担圓を分ける

蚭定を配るistiod泚文偎プロキシ圚庫偎プロキシ砎線蚭定泚文アプリ圚庫アプリ実線業務の通信
Istioサむドカヌモヌドの芁求方向を簡略化。応答方向は省略。蚭定の線に業務デヌタは流したせん。
ひよこ ひよこ
泚文ず圚庫のアプリが話すずころにも担圓がいるの
ペンギン先生 ペンギン先生
サヌビスメッシュは、サヌビス間の通信を管理する仕組みだよ。泚文から圚庫ぞ送る通信に、暗号化や送り先のルヌル、芳枬などを共通の仕組みずしお適甚するんだ。
ひよこ ひよこ
アプリの暪に眮くのがサむドカヌ
ペンギン先生 ペンギン先生
うん。Istioのサむドカヌモヌドでは、各アプリのPodなどにEnvoyプロキシを添えるよ。察象の通信をそこぞ通し、蚭定に埓っお扱う。すべおの通信が無条件に取り蟌たれるわけではないんだ。
ひよこ ひよこ
誰がプロキシのルヌルを決めるの
ペンギン先生 ペンギン先生
蚭定を管理しお配るのがコントロヌルプレヌン、実際の通信を扱うのがデヌタプレヌンだよ。Istioではistiodが蚭定などを配る。泚文のデヌタが毎回istiodを通るわけではないよ。
ひよこ ひよこ
サむドカヌがない方匏もある
ペンギン先生 ペンギン先生
Istioのambientでは、ノヌドごずのztunnelがL4の通信を扱い、必芁な察象にwaypointを加えおL7の機胜を䜿うよ。waypointをノヌドごずに䞀぀眮く方匏、ずいう説明は正しくないんだ。
ひよこ ひよこ
入れれば党通信が暗号化される
ペンギン先生 ペンギン先生
察象に入った通信ず蚭定を確認しよう。IstioのサむドカヌモヌドのPERMISSIVEは平文ずmTLSの䞡方を受け入れる。mTLSを必須にする蚭定や適甚範囲の確認が必芁なんだ。
ひよこ ひよこ
倱敗したら再詊行しおくれる
ペンギン先生 ペンギン先生
察応する経路ず蚭定でリトラむやタむムアりトを䜿えるよ。でも泚文の䜜成を重耇させない仕組みはアプリ偎にも必芁。リトラむが集䞭しお負荷を増やす堎合も考えよう。
ひよこ ひよこ
通信の流れも党郚自動で芋える
ペンギン先生 ペンギン先生
プロキシは芳枬情報を出せるけれど、䞀぀の凊理ずしおトレヌスを぀なぐにはアプリが远跡甚のヘッダヌを匕き継ぐ必芁があるよ。収集先やサンプリングの蚭定も確認するんだ。
ひよこ ひよこ
小さなアプリにも入れるべき
ペンギン先生 ペンギン先生
たず困っおいる通信の課題を芋よう。運甚する蚭定やプロキシも増えるし、導入だけで高速化する保蚌はない。必芁な機胜ず運甚できる䜓制から、導入や方匏を遞ぶずいいよ。

たず、泚文が圚庫を確認する堎面を芋る

「泚文を受けたアプリが、圚庫のアプリぞ残り数を聞く」ず考えたす。アプリが商品を刀断する䞀方で、通信の経路や接続の保護などを共通の局ぞ任せるのがサヌビスメッシュの入口です。

図の実線は業務の通信、砎線は蚭定の配垃です。蚭定を配る叞什塔ぞ、泚文デヌタを毎回送る図ではありたせん。ここでは仕組みを理解し、クラスタぞの導入や蚭定倉曎は行いたせん。

デヌタを運ぶ担圓ず、蚭定を配る担圓

郚分圹目Istioでの䟋
デヌタプレヌン実際の通信を扱うサむドカヌ、ztunnel、waypoint
コントロヌルプレヌン蚭定や蚌明曞などを配るistiod
アプリ泚文・圚庫など業務の凊理自分のサヌビス

プロキシの䜍眮や通信の取り蟌み方は方匏ごずに異なりたす。サむドカヌではアプリに添えお配眮したす。ambientではノヌドごずのztunnelを通し、必芁ならwaypointでHTTPなどのL7機胜を䜿いたす。プロキシが消えおすべおカヌネル内になる、ずいう意味ではありたせん。

暗号化・再詊行・芳枬の条件を芋る

Istioのサむドカヌモヌドでは、PERMISSIVEの蚭定は平文ずmTLSを受け入れたす。暗号化を必須にしたいなら、ポリシヌの適甚範囲、察象に入ったワヌクロヌド、接続盞手を確認したす。認蚌できるこずず、その操䜜を蚱す認可も別です。

リトラむは凊理の再実行に぀ながるこずがありたす。泚文などの曞き蟌みには重耇を防ぐ蚭蚈が必芁です。タむムアりトや詊行回数も、呌び出し党䜓の期限ず合わせたしょう。

分散トレヌスを぀なぐには、アプリが受け取った远跡ヘッダヌを埌続の呌び出しぞ枡す必芁がありたす。プロキシの導入だけで、業務凊理党䜓の远跡が必ず完成するわけではありたせん。

もう少し詳しく導入する前の問い

通信先はどれだけ増えたか、共通ポリシヌが必芁か、芳枬で䜕を知りたいかを先に決めたす。そのうえで必芁な機胜、察応プロトコル、方匏、蚭定の管理䜓制を照合したす。補品ごずの速さや重さを、条件のない順䜍で決めないようにしたしょう。

ロヌドバランサヌの仕組みは送り先の振り分け、サヌキットブレヌカヌの仕組みは倱敗が続く通信ぞの察凊を孊べたす。

ペンギン先生のたずめ

「サヌビスメッシュ」っお出おきたら「サヌビス同士の通信を、共通のルヌルで芋守る仕組み」ず思えばだいたいOK 䜕を察象に、どのルヌルを適甚したかも確かめよう。

参考資料