

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

# 服务网格
<a name="meshes"></a>

**重要**  
终止支持通知：2026 年 9 月 30 日， AWS 将停止对的支持。 AWS App Mesh 2026 年 9 月 30 日之后，您将无法再访问 AWS App Mesh 控制台或 AWS App Mesh 资源。有关更多信息，请访问此博客文章[从迁移 AWS App Mesh 到 Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)。

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

## 创建服务网格
<a name="create-mesh"></a>

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

------
#### [ AWS 管理控制台 ]

**要使用创建服务网格 AWS 管理控制台**

1. 打开 App Mesh 控制台，网址为[https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/)。

1. 选择**创建网格**。

1. 对于**网格名称**，为您的服务网格指定一个名称。

1. （可选）选择**允许外部流量**。默认情况下，网格中的代理仅在彼此之间转发流量。如果您允许外部流量，则网格中的代理还会将 TCP 流量直接转发到未使用网格中定义的代理部署的服务。
**注意**  
如果您在使用 `ALLOW_ALL` 时在虚拟节点上指定了任何后端，则必须将该虚拟节点的所有出口指定为后端。否则，`ALLOW_ALL` 将不再适用于该虚拟节点。

1. 

**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` 地址。

1. 选择**创建网格**以完成。

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

------
#### [ AWS CLI ]

**使用 AWS CLI创建网格。**

使用以下命令创建服务网格（将*red*值替换为自己的值）：

1. 

   ```
   aws appmesh create-mesh --mesh-name meshName
   ```

1. 输出示例：

   ```
   {
       "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 创建网格的更多信息，请参阅参考资料中的[创建网格](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-mesh.html)命令。 AWS CLI AWS CLI 

------

## 删除网格
<a name="delete-mesh"></a>

------
#### [ AWS 管理控制台 ]

**要删除虚拟网关，请使用 AWS 管理控制台**

1. 打开 App Mesh 控制台，网址为[https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/)。

1. 选择要删除的网格。列出了您拥有的所有网格以及已与您[共享](sharing.md)的所有网格。

1. 在确认框中，键入 **delete**，然后单击**删除**。

------
#### [ AWS CLI ]

**要删除网格，请使用 AWS CLI**

1. 使用以下命令删除网格（用自己的*red*值替换网格）：

   ```
   aws appmesh delete-mesh \
        --mesh-name meshName
   ```

1. 输出示例：

   ```
   {
       "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 删除网格的更多信息，请参阅参考资料[中的删除网格](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-mesh.html)命令。 AWS CLI AWS CLI 

------