服务网格 - Amazon App Mesh
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

服务网格

服务网格是一种用于驻留在其内的服务之间的网络流量的逻辑边界。在创建服务网格后,您可以创建虚拟服务、虚拟节点、虚拟路由器以及用于在网格中的应用程序之间分配流量的路由。

创建服务网格

注意

创建网格时,必须添加命名空间选择器。如果命名空间选择器为空,它将选择所有命名空间。要限制命名空间,请使用标签将 App Mesh 资源关联到创建的网格。

Amazon Web Services Management Console
使用创建服务网格Amazon Web Services Management Console
  1. 通过 https://console.aws.amazon.com/appmesh/ 打开 App Mesh 控制台。

  2. 选择 Create mesh (创建网格)

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

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

    注意

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

  5. IP 版本首选项

    通过切换覆盖默认 IP 版本行为,控制应使用哪个 IP 版本来处理网格内的流量。默认情况下,App Mesh 使用各种 IP 版本。

    注意

    网格将 IP 优先级应用于网格内的所有虚拟节点和虚拟网关。通过在创建或编辑节点时设置 IP 首选项,可以在单个虚拟节点上覆盖此行为。无法在虚拟网关上覆盖 IP 优先级,因为无论在网格上设置哪个首选项,允许虚拟网关监听 IPv4 和 IPv6 流量的配置都是相同的。

    • 默认值

      • Envoy 的 DNS 解析器更喜欢IPv6并回退到IPv4

      • Amazon Cloud Map如果可用,我们会使用返回IPv4的地址,然后改用该IPv6地址。

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

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

    • 首选项

      • Envoy 的 DNS 解析器更喜欢IPv6并回退到IPv4

      • 如果可用,Amazon Cloud Map则使用返回IPv6的地址,然后退回到使用该IPv4地址

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

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

    • 首选项

      • Envoy 的 DNS 解析器更喜欢IPv4并回退到IPv6

      • Amazon Cloud Map如果可用,我们会使用返回IPv4的地址,然后改用该IPv6地址。

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

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

      • Envoy 的 DNS 解析器仅使用IPv6

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

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

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

    • 仅限 IPv4

      • Envoy 的 DNS 解析器仅使用IPv4

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

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

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

  6. 选择 Create mesh (创建网络) 以完成。

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

Amazon CLI

使用. 创建网格Amazon CLI。

使用以下命令创建服务网格(用您自己的值替换红色值):

  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 创建网格的更多信息,请参阅Amazon CLI参考资料中的 create-mesh 命令。Amazon CLI

删除网格

Amazon Web Services Management Console
使用删除虚拟网关Amazon Web Services Management Console
  1. 通过 https://console.aws.amazon.com/appmesh/ 打开 App Mesh 控制台。

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

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

Amazon CLI
要删除网格,请使用Amazon CLI
  1. 使用以下命令删除网格(用自己的值替换红色值):

    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 删除网格的更多信息,请参阅Amazon CLI参考资料中的 delete-mesh 命令。Amazon CLI