App Mesh 透過提供一致的可見性,以及控制每個服務的網路流量,輕鬆執行服務。App Mesh 將監視和控制通訊時所需的邏輯分成代理,並與每個服務一起執行。這樣可免除協調團隊的需要,且無須更新應用程式碼以變更監控資料收集或路由流量的方式。如此一來,發生故障或需要部署程式碼變更時,您就可快速指出錯誤的實際位置,並且自動重新路由網路流量。
您可以使用 App Mesh 搭配 AWS Fargate、Amazon ECS、Amazon EKS、Amazon EC2 和 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 中的控制項來動態更新服務之間的流量路由,而無需變更應用程式的程式碼。
用戶端流量傳輸政策
代理自動對來自網格中所有用戶端的流量執行負載平衡,同時根據運作狀態檢查和服務註冊來新增和移除負載平衡端點。這些功能能夠讓您更輕鬆地部署服務的新版本,並協助調整應用程式以因應故障狀況。
服務間身分驗證
Mutual TLS (mTLS) 支援傳輸層身分驗證,這就為在服務網格內外執行的應用程式元件提供服務間的身分驗證。該工具可讓客戶將來自 AWS Certificate Manager 私有憑證機構或客戶受管憑證機構 (CA) 的證書佈建到服務網格中的工作負載,從而將安全範圍延伸到 AWS App Mesh 中執行的應用程式,同時為連接到服務的用戶端應用程式實施自動身分驗證。
容器協調原生使用者體驗
App Mesh 能與 Amazon ECS 管理的服務、Amazon EKS、AWS Fargate、EC2 上執行的 Kubernetes 搭配使用。對於在 ECS、EKS、Fargate 或 Kubernetes 上執行的容器化工作負載,您將提供的 App Mesh 代理內含在每個微型服務的任務或 pod 定義中,並將服務的應用程式容器設定為直接與代理通訊。服務啟動時,代理會自動簽入並由 App Mesh 進行設定。
全受管
AWS App Mesh 是一種受管且高度可用的服務。App Mesh 可讓您管理服務通訊,無須安裝或管理應用程式級基礎設施即可進行通訊管理。