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

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

服务网格

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

创建服务网格

注意

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

Amazon Web Services Management Console
使用 Amazon Web Services 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

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

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

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

    • 首选 IPv6

      • Envoy 的 DNS 解析器优先使用 IPv6 并在必要时回退到 IPv4

      • Amazon Cloud Map 返回的 IPv6 地址如果可用,则使用该地址,并在必要时回退到使用 IPv4 地址

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

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

    • 首选 IPv4

      • Envoy 的 DNS 解析器优先使用 IPv4 并在必要时回退到 IPv6

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

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

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

    • 仅 IPv6

      • Envoy 的 DNS 解析器仅使用 IPv6

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

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

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

    • 仅 IPv4

      • Envoy 的 DNS 解析器仅使用 IPv4

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

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

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

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

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

有关使用 Amazon CLI 为 App Mesh 创建网格的更多信息,请参阅Amazon CLI 参考资料中的 create-mesh 命令。

删除网格

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

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

有关使用 Amazon CLI 为 App Mesh 删除网格的更多信息,请参阅 Amazon CLI 参考资料中的删除网格命令。