クラスタで構成された環境 + ⼤規模環境 != 単⼀の巨⼤な Kubernetes クラスタで構成された環境 KaaS IaaS PaaS Service Service Service Service Service Service Service Service Service Service Service Service
+ Service Mesh 内では Consul の サービスディスカバリ機能(サービスカタログ、ヘルスチェック、ロードバランシング)を利⽤ ▶ Identity 管理機能の仕組み + Consul Server(Control Plane)に CA を定義できる + CA は Consul Server で⾃動⽣成された CA を使⽤するか、任意の CA を使⽤するか選択可能 + Vault の PKI Secret Engine を使⽤することもできる + Consul Server で発⾏した SPIFFE に準拠した X.509 証明書(X.509 SVID)を Consul Agent が LDS 経由で Envoy に配布する + SPIFFE ID フォーマット: spiffe://<cluster-id>.<consul-domain>/ns/<ns-name>/dc/<dc-name>/svc/<consul-svc-name> + SPIFFE ID は Pod に対応する Consul サービス単位で⽣成される + 任意の SPIFFE ID 設定はサポートされていない + X.509 証明書は定期的にローテーションされる ▶ ◦ 任意の SPIFFE ID を使⽤できる + Proxy Defaults 機能などで Envoy の設定を変更できる + 任意の SPIFFE ID 設定はサポートされていないが Identity 管理を別の仕組みに変えることで実現可能 ▶ △ 外部 PKI と連携可能 + ルート CA 証明書と中間 CA 証明書の両⽅を設定できる + 中間 CA 証明書を設定する場合には Envoy にルート CA 証明書を配置する対応が必要
Application Systems + https://csrc.nist.gov/publications/detail/sp/800-204/final ▶ NIST SP 800-204a - Building Secure Microservices-based Applications Using Service-Mesh Architecture + https://csrc.nist.gov/publications/detail/sp/800-204a/final ▶ Microservices Security in Action + https://www.manning.com/books/microservices-security-in-action ▶ The Difference Between API Gateways and Service Mesh + https://www.cncf.io/blog/2020/03/06/the-difference-between-api-gateways-and-service-mesh/ ▶ Service Mesh Comparison + https://servicemesh.es ▶ Get to Know Service Mesh ‒ Video Series + https://www.solo.io/resource/hoot-get-to-know-service-mesh-series