本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
服务网格
重要
终止支持通知:2026 年 9 月 30 日, AWS 将停止对的支持。 AWS App Mesh 2026 年 9 月 30 日之后,您将无法再访问 AWS App Mesh 控制台或 AWS App Mesh 资源。如需了解更多信息,请访问此博客文章从迁移 AWS App Mesh 到 Amazon S ECS ervice Connect
服务网格是一种用于驻留在其内的服务之间的网络流量的逻辑边界。在创建服务网格后,您可以创建虚拟服务、虚拟节点、虚拟路由器以及用于在网格中的应用程序之间分配流量的路由。
创建服务网格
注意
创建网格时,必须添加命名空间选择器。如果命名空间选择器为空,则它会选择所有命名空间。要限制命名空间,请使用标签将 App Mesh 资源与创建的网格相关联。
- AWS Management Console
-
要使用创建服务网格 AWS Management Console
-
打开 App Mesh 控制台,网址为https://console.aws.amazon.com/appmesh/
。 -
选择创建网格。
-
对于网格名称,为您的服务网格指定一个名称。
-
(可选)选择允许外部流量。默认情况下,网格中的代理仅在彼此之间转发流量。如果允许外部流量,则网格中的代理还会将TCP流量直接转发到未使用网格中定义的代理部署的服务。
注意
如果您在使用
ALLOW_ALL
时在虚拟节点上指定了任何后端,则必须将该虚拟节点的所有出口指定为后端。否则,ALLOW_ALL
将不再适用于该虚拟节点。 -
IP 版本首选项
通过切换覆盖默认 IP 版本行为,控制网格内的流量应使用哪个 IP 版本。默认情况下,App Mesh 使用各种 IP 版本。
注意
网格将 IP 首选项应用于网格中的所有虚拟节点和虚拟网关。通过在创建或编辑节点时设置 IP 首选项,可以在单个虚拟节点上覆盖该行为。无法在虚拟网关上覆盖 IP 首选项,因为无论在网格上设置哪个首选项,允许它们监听两者的虚拟网关IPv4和IPv6流量的配置都是相同的。
默认
-
Envoy 的DNS解析器更喜欢
IPv6
然后回退到。IPv4
-
我们会优先使用 AWS Cloud Map 返回的
IPv4
地址(如果有),并在必要时回退到使用IPv6
地址。 -
为本地应用程序创建的端点使用
IPv4
地址。 -
Envoy 侦听器绑定到所有
IPv4
地址。
-
IPv6首选
-
Envoy 的DNS解析器更喜欢
IPv6
然后回退到。IPv4
-
AWS Cloud Map 返回的
IPv6
地址如果可用,则使用该地址,并在必要时回退到使用IPv4
地址 -
为本地应用程序创建的端点使用
IPv6
地址。 -
Envoy 侦听器绑定到所有
IPv4
和IPv6
地址。
-
IPv4首选
-
Envoy 的DNS解析器更喜欢
IPv4
然后回退到。IPv6
-
我们会优先使用 AWS Cloud Map 返回的
IPv4
地址(如果有),并在必要时回退到使用IPv6
地址。 -
为本地应用程序创建的端点使用
IPv4
地址。 -
Envoy 侦听器绑定到所有
IPv4
和IPv6
地址。
-
IPv6只有
-
Envoy 的DNS解析器仅使用
IPv6
。 -
仅使用 AWS Cloud Map 返回的
IPv6
地址。如果 AWS Cloud Map 返回IPv4
地址,则不使用 IP 地址,并将空结果返回给 Envoy。 -
为本地应用程序创建的端点使用
IPv6
地址。 -
Envoy 侦听器绑定到所有
IPv4
和IPv6
地址。
-
IPv4只有
-
Envoy 的DNS解析器仅使用
IPv4
。 -
仅使用 AWS Cloud Map 返回的
IPv4
地址。如果 AWS Cloud Map 返回IPv6
地址,则不使用 IP 地址,并将空结果返回给 Envoy。 -
为本地应用程序创建的端点使用
IPv4
地址。 -
Envoy 侦听器绑定到所有
IPv4
和IPv6
地址。
-
-
选择创建网格以完成。
-
(可选)与其他账户共享网格。共享网格允许不同账户创建的资源在同一个网格中相互通信。有关更多信息,请参阅 使用共享网格。。
-
- AWS CLI
-
使用 AWS CLI创建网格。
使用以下命令创建服务网格(替换
red
用你自己的价值观):-
aws appmesh create-mesh --mesh-name
meshName
-
输出示例:
{ "mesh":{ "meshName":"meshName", "metadata":{ "arn":"arn:aws:appmesh:
us-west-2
:123456789012:mesh/meshName", "createdAt":"2022-04-06T08:45:50.072000-05:00", "lastUpdatedAt":"2022-04-06T08:45:50.072000-05:00", "meshOwner": "123456789012", "resourceOwner": "123456789012", "uid":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version":1 }, "spec":{}, "status":{ "status":"ACTIVE" } } }
有关使用 for App Mesh 创建网格的更多信息,请参阅参考资料中的创建网格命令。 AWS CLI AWS CLI
-
删除网格
- AWS Management Console
-
要删除虚拟网关,请使用 AWS Management Console
-
打开 App Mesh 控制台,网址为https://console.aws.amazon.com/appmesh/
。 -
选择要删除的网格。列出了您拥有的所有网格以及已与您共享的所有网格。
-
在确认框中,键入
delete
,然后单击删除。
-
- AWS CLI
-
要删除网格,请使用 AWS CLI
-
使用以下命令删除网格(替换
red
用你自己的价值观):aws appmesh delete-mesh \ --mesh-name
meshName
-
输出示例:
{ "mesh": { "meshName": "meshName", "metadata": { "arn":"arn:aws:appmesh:
us-west-2
:123456789012:mesh/meshName", "createdAt": "2022-04-06T08:45:50.072000-05:00", "lastUpdatedAt": "2022-04-07T11:06:32.795000-05:00", "meshOwner": "123456789012", "resourceOwner": "123456789012", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": {}, "status": { "status": "DELETED" } } }
有关使用 for App Mesh 删除网格的更多信息,请参阅参考资料中的删除网格命令。 AWS CLI AWS CLI
-