跳至主要内容

AWS App Mesh 文档

App Mesh 旨在通过为服务提供可见性和网络流量控制来运行服务。App Mesh 可以将监控和控制通信所需的逻辑分离为在服务旁边运行的代理。这有助于减少跨团队协调或更新应用程序代码的需要,也可变更监控数据的收集方式或流量的路由方式。这样一来,您可以查明错误的位置,并在需要部署代码变更时重新路由网络流量。您可以在 EC2 上将 App Mesh 与 AWS Fargate、Amazon ECS、Amazon EKS、Amazon EC2 和 Kubernetes 配合使用,以更好地大规模运行服务。App Mesh 使用开源代理 Envoy,它可以与 AWS 合作伙伴和开源工具兼容,以监控服务。

开源代理

App Mesh 使用开源 Envoy 代理来管理进出服务容器的流量。App Mesh 可以将此代理配置为处理服务的应用程序通信。  Envoy 提供社区构建的与 App Mesh 配合使用的集成。

兼容的 AWS 服务:

Amazon CloudWatch* – 监控和日志记录服务,可实现资源和应用程序的可见性。

AWS X-Ray* – 用于端到端应用程序性能视图的跟踪服务。

兼容的 AWS 合作伙伴和开源工具:

Datadog、Alcide、HashiCorp、Sysdig、Signalfx、Spotinst、Tetrate、Neuvector、Weaveworks、Twistlock、Wavefront by VMware、Aqua。

流量路由

App Mesh 支持您将服务配置为相互连接,而无需在应用程序中使用代码或使用负载均衡器。当每个服务启动时,其代理会连接到 App Mesh 并接收有关网格中其他服务位置的配置数据。您可以使用 App Mesh 中的控件来更新服务之间的流量路由,而几乎无需更改应用程序代码。 

客户端流量策略

代理对来自网格中客户端的流量进行负载均衡,并根据运行状况检查和服务注册来添加和删除负载均衡端点。这些功能让您可以部署新版本的服务并调整应用程序以弹性应对故障。

服务到服务身份验证

双向 TLS (mTLS) 支持传输层身份验证,能够为在服务网格内外运行的应用程序组件提供服务到服务身份验证。它允许客户通过将来自 AWS Certificate Manager 私有证书颁发机构或客户管理的证书颁发机构 (CA) 的证书预置到服务网格中的工作负载,将安全范围扩展到在 AWS App Mesh 中运行的应用程序,并为连接到服务的客户端应用程序实施身份验证。

容器编排本机用户体验

App Mesh 可以与由在 EC2 上运行的 Amazon ECS、Amazon EKS、AWS Fargate、Kubernetes 所托管的服务配合使用。对于在 ECS、EKS、Fargate 或 Kubernetes 上运行的容器化工作负载,您可以将提供的 App Mesh 代理作为每个微服务的任务或容器组(pod)定义的一部分包括在内,并将服务的应用程序容器配置为与代理通信。服务启动时,代理会按设定使用 App Mesh 登录并由 App Mesh 配置。

托管服务

AWS App Mesh 是一项托管服务。App Mesh 支持您管理服务通信,而无需安装或管理应用程序级基础设施以进行通信管理。

其他信息

有关服务控制、安全特征和功能的更多信息,包括有关存储、检索、修改、限制和删除数据的信息(如适用),请参阅 https://docs.aws.amazon.com/index.html。对于 http://aws.amazon.com/agreement 上的《AWS 客户协议》或者您与 AWS 之间签订的用于管理您使用 AWS 服务的其他协议而言,这些其他信息并不构成此文档的一部分。