一般性问题

问:什么是 App Mesh?

答:Amazon App Mesh 可以轻松监控、控制和调试服务之间的通信。App Mesh 使用 Envoy,这是一种开源服务网状代理,它与微服务容器一起部署。App Mesh 通过与亚马逊云科技集成来进行监控和跟踪,并与许多流行的第三方工具配合使用。App Mesh 可以与由在亚马逊云科技云上运行的 Amazon ECS、Amazon EKS、Amazon Fargate、Kubernetes 以及在 Amazon EC2 上运行的服务管理的微服务容器一起使用。

问:为什么应使用 App Mesh?

答:App Mesh 使您无需编写新代码或运行其他亚马逊云科技,便可更轻松地获得服务之间的通信的可见性、安全性和控制。使用 App Mesh,您可以标准化服务的通信方式,实施服务之间的通信规则,并直接捕获亚马逊云科技和您选择的第三方工具中的指标、日志和跟踪。

问:App Mesh 如何工作?

答:App Mesh 为您的服务设置和管理服务网格。为此,您需要运行每个服务的开源 Envoy 代理,App Mesh 配置代理,以处理传入和传出每个容器的所有通信。App Mesh 收集指标,例如错误率和每秒连接数,这些指标可以使用 statsd 收集器导出到 Amazon CloudWatch。使用 App Mesh API,您可以根据路径或权重将流量路由到特定的服务版本。

问:什么是服务网格?

答:服务网格是一个新的软件层,用于处理服务之间的所有通信。它提供了连接和管理服务之间连接的新功能,并独立于每个服务代码,从而使其能够跨网络边界和与多个服务管理系统一起工作。

集成

问:App Mesh 如何与 Amazon Elastic Container Service (ECS) 和 Amazon Fargate 配合使用?

答:App Mesh 为由 Amazon ECS 和 Amazon Fargate 管理的应用程序提供了新的通信、观察和管理功能。您将 Envoy 代理映像添加到任务定义中。App Mesh 管理 Envoy 配置以提供服务网格功能。App Mesh 会将指标、日志和跟踪导出到提供的 Envoy Bootstrap 框架配置中指定的终端节点。App Mesh 提供了一个 API,用于配置启用网格的微服务之间的流量路由和其他控制。

App Mesh 如何与 Amazon Elastic Container Service for Kubernetes (EKS) 配合使用?

答:使用开源 Amazon App Mesh 控制器和 mutating webhook 准入控制器。这些控制器将您的 Kubernetes 服务连接到 App Mesh,并确保 Envoy 代理被注入到您的 pod 中。App Mesh 会将指标、日志和跟踪导出到提供的 Envoy Bootstrap 框架配置中指定的终端节点。App Mesh 提供了一个 API,用于配置启用网格的微服务之间的流量路由和其他控制。

问:App Mesh 如何与在 Amazon EC2 上运行的服务配合使用?

答:在 EC2 实例上将 Envoy 代理作为容器或进程运行。使用亚马逊云科技提供的容器代理初始化容器,或运行自己的脚本,以通过代理重定向实例上的网络流量。App Mesh 管理 Envoy 配置以提供服务网格功能。App Mesh 会将指标、日志和跟踪导出到提供的 Envoy Bootstrap 框架配置中指定的终端节点。App Mesh 提供了一个 API,用于配置启用网格的微服务之间的流量路由和其他控制。

问:为什么我应该使用 App Mesh 而不是 Amazon Elastic Load Balancer?

答:我们建议使用 Amazon Elastic Load Balancing 来处理来自不在信任范围内的客户端的所有互联网流量和流量。对于连接到亚马逊云科技区域内的其他服务的内部服务,App Mesh 为服务通信提供了灵活性、一致性以及更高程度的控制和监控。

监控、日志记录和跟踪

问:App Mesh 提供什么类型的监控功能?

答:使用 App Mesh,您可以获得服务之间的每一跳的一致指标和日志。这些日志和指标包括诸如服务名称和请求标识符等元数据。有了这些,您可以使用 Amazon CloudWatch 等工具聚合、筛选、查看服务到服务通信的图形仪表板。常见的仪表板可能包括服务和依赖服务之间的错误率和错误代码。App Mesh 会自动收集每项服务的跟踪信息,从而能够轻松地可视化包含所有服务 API 调用的详细信息的服务映射。这些功能使调试和确定微服务之间的通信问题根源更加容易。

问:我可以使用非亚马逊云科技工具通过 App Mesh 进行监控、记录或跟踪吗? 可以。

答:可以。App Mesh 支持任何与 Envoy 配合使用的第三方工具。这包括 Splunk、Prometheus、Jaeger、Flagger 和 Grafana,以及 Zipkin 和 LightStep 等开放追踪解决方案。

流量控制

问:App Mesh 提供什么类型的流量控制?

答:App Mesh 为您提供了一套用于流量路由的客户端控制。App Mesh 提供了基于服务名称和版本在应用程序之间路由流量的 API。这些功能使您可以更轻松地部署微服务的新版本。

服务到服务身份验证

问:App Mesh 如何支持应用程序身份?

Mutual TLS (mTLS) 提供了一种方法,可以在传输层强制实施应用程序身份,并根据客户端提供的证书允许或拒绝客户端连接Amazon App Mesh 支持使用 X.509 证书(称为相互传输层安全性或 mTLS)强制实施客户端应用程序身份。为了配置 mTLS,您需要将客户端设置为在请求发起期间作为 TLS 会话协商的一部分向服务器服务提供证书。服务器使用此证书来识别客户端并对其进行身份验证,检查证书是否有效和是否由受信任的证书颁发机构 (CA) 颁发,并通过使用证书上的主题备用名称 (SAN) 识别客户端的身份。

问:为什么应该在 Amazon App Mesh 中使用 mTLS?

微服务还有特殊的安全需求,包括端到端流量加密和灵活的服务访问控制,可通过服务网格来解决这些问题。Amazon App Mesh mTLS 实施(预览版)使您的客户端应用程序能够验证服务器并提供流量加密,而双向 TLS 则提供用于服务到服务身份验证的对等身份验证。它通过 TLS 增加了一层安全性,允许您的服务对建立连接的客户端进行验证。将整体应用程序分解为微服务并在服务网格中运行它们可以提供各种好处,包括更好的可见性和智能流量路由。

了解有关定价的更多信息

Amazon App Mesh 的定价详情

了解详情 
注册免费账户

立即使用 Amazon 免费套餐。 

注册 
关闭
1010 0766
由光环新网运营的
北京区域
1010 0966
由西云数据运营的
宁夏区域
关闭
由光环新网运营的
北京区域
由西云数据运营的
宁夏区域