ablog

不器用で落着きのない技術者のメモ

AWS App Mesh とは

マイクロサービス間のやりとりにおいてビジネスロジックと関係ない汎用的機能をプロキシとして提供するのがサービスメッシュ。昔はライブラリとして提供している時代もあったが、汎用機能を変えたときに全アプリの再コンパイル・デプロイが不要、アプリと異なる言語で開発できる点でプロキシ型が優れている。このサービスメッシュのコントロールプレーンをマネージドサービスにしたのが AWS App Mesh である。例えば、Istio を使って自前でコントロールプレーンとデータプレーンの両方を構築できるが、AWS App Mesh を使うとコントロールプレーンはマネージドサービスに任せることができる。AWS App Mesh はコントロールプレーンで、実体は ECS や EKS、Route 53、AWS Cloud Map などで動作する。AWS App Mesh は構成・設定を注入し、実際の名前解決は Route53 や AWS Cloud Map、ロードバランシングやサーキットブレイキングは Envoy、モニタリングは X-Ray などのコンテナがサイドカーとして行う。サイドカーで近い場所になるのは性能面で優れている。

参考