App Mesh 可为每项服务提供一致的可视性和网络流量控制,进而轻松地执行服务。App Mesh 将监控和控制通信所需的逻辑分离为每个服务旁边运行的代理。这就不需要跨团队进行协调或更新应用程序代码,以更改监控数据的收集方式或路由流量的方式。这使您能够快速确定错误的确切位置,并在出现故障或需要部署代码更改时自动重新路由网络流量。
您可以将 App Mesh 与 Amazon Fargate、Amazon ECS、Amazon EKS、Amazon EC2 和 EC2 上的 Kubernetes 配合使用,以便更好地大规模运行服务。App Mesh 使用 Envoy,这是一种开源代理,它与用于监控服务的各种亚马逊合作伙伴和开源工具兼容。
开源代理
App Mesh 使用开源 Envoy 代理来管理进出服务容器的所有流量。App Mesh 将此代理配置为自动处理服务的所有应用程序通信。Envoy 拥有充满活力的社区构建集成生态系统,可与 App Mesh 配合使用。
兼容的 Amazon 服务:
Amazon CloudWatch * — 监控和日志记录服务,实现资源和应用程序的完全可见性。
Amazon X-Ray* – 跟踪服务,实现应用程序性能的端到端视图。
兼容的 Amazon 合作伙伴和开源工具:
Datadog、Alcide、HashiCorp、Sysdig、Signalfx、Spotinst、Tetrate、Neuvector、Weaveworks、Twistlock、Wavefront by VMware、Aqua。
流量路由
App Mesh 允许您将服务配置为直接相互连接,而不需要在应用程序内编写代码或使用负载均衡器。当每个服务启动时,其代理将连接到 App Mesh 并接收有关网格中其他服务位置的配置数据。您可以使用 App Mesh 中的控件动态更新服务之间的流量路由,而无需更改应用程序代码。
客户端流量策略
代理将自动对网格中所有客户端的流量进行负载均衡,并根据运行状况检查和服务注册添加和删除负载均衡终端节点。这些功能使您可以更轻松地部署新版本的服务,并帮助调整应用程序以便灵活处理相关故障。
服务到服务身份验证
双向 TLS (mTLS) 可启用传输层身份验证,为在服务网格中和外部运行的应用程序组件提供服务到服务身份验证。其允许客户为服务网格中的工作负载预置 Amazon Certificate Manager Private Certificate Authority 或客户管理的证书颁发机构 (CA) 的证书,将安全范围扩展到 Amazon App Mesh 中运行的应用程序,并强制实施自动身份验证用于连接到服务的客户端应用。
容器编排本机用户体验
App Mesh 与 Amazon ECS、Amazon EKS、Amazon Fargate、在 EC2 上运行的 Kubernetes 管理的服务配合使用。对于在 ECS、EKS、Fargate 或 Kubernetes 上运行的容器化工作负载,您可以将提供的 App Mesh 代理作为每个微服务的任务或 pod 定义的一部分,然后将服务的应用程序容器配置为直接与代理通信。服务启动时,代理会自动签入并由 App Mesh 进行配置。
完全托管完全托管式
Amazon App Mesh 是一项托管且高度可用的服务。App Mesh 允许您管理服务通信,而无需安装或管理用于通信管理的应用程序级基础设施。