服务网格 - AWS App Mesh

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

服务网格

重要

终止支持通知: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
  1. 打开 App Mesh 控制台,网址为https://console.aws.amazon.com/appmesh/

  2. 选择创建网格

  3. 对于网格名称,为您的服务网格指定一个名称。

  4. (可选)选择允许外部流量。默认情况下,网格中的代理仅在彼此之间转发流量。如果允许外部流量,则网格中的代理还会将TCP流量直接转发到未使用网格中定义的代理部署的服务。

    注意

    如果您在使用 ALLOW_ALL 时在虚拟节点上指定了任何后端,则必须将该虚拟节点的所有出口指定为后端。否则,ALLOW_ALL 将不再适用于该虚拟节点。

  5. 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 侦听器绑定到所有 IPv4IPv6 地址。

    • IPv4首选

      • Envoy 的DNS解析器更喜欢IPv4然后回退到。IPv6

      • 我们会优先使用 AWS Cloud Map 返回的 IPv4 地址(如果有),并在必要时回退到使用 IPv6 地址。

      • 为本地应用程序创建的端点使用 IPv4 地址。

      • Envoy 侦听器绑定到所有 IPv4IPv6 地址。

    • IPv6只有

      • Envoy 的DNS解析器仅使用IPv6

      • 仅使用 AWS Cloud Map 返回的 IPv6 地址。如果 AWS Cloud Map 返回IPv4地址,则不使用 IP 地址,并将空结果返回给 Envoy。

      • 为本地应用程序创建的端点使用 IPv6 地址。

      • Envoy 侦听器绑定到所有 IPv4IPv6 地址。

    • IPv4只有

      • Envoy 的DNS解析器仅使用IPv4

      • 仅使用 AWS Cloud Map 返回的 IPv4 地址。如果 AWS Cloud Map 返回IPv6地址,则不使用 IP 地址,并将空结果返回给 Envoy。

      • 为本地应用程序创建的端点使用 IPv4 地址。

      • Envoy 侦听器绑定到所有 IPv4IPv6 地址。

  6. 选择创建网格以完成。

  7. (可选)与其他账户共享网格。共享网格允许不同账户创建的资源在同一个网格中相互通信。有关更多信息,请参阅 使用共享网格。

AWS CLI

使用 AWS CLI创建网格。

使用以下命令创建服务网格(替换 red 用你自己的价值观):

  1. aws appmesh create-mesh --mesh-name meshName
  2. 输出示例:

    { "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
  1. 打开 App Mesh 控制台,网址为https://console.aws.amazon.com/appmesh/

  2. 选择要删除的网格。列出了您拥有的所有网格以及已与您共享的所有网格。

  3. 在确认框中,键入 delete,然后单击删除

AWS CLI
要删除网格,请使用 AWS CLI
  1. 使用以下命令删除网格(替换 red 用你自己的价值观):

    aws appmesh delete-mesh \ --mesh-name meshName
  2. 输出示例:

    { "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