

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

# 混合云采用流程
<a name="pillars"></a>

以下各节讨论了 AWS 混合云各支柱的架构和设计细节：
+ [边缘联网](networking.md)
+ [边缘安全](security.md)
+ [边缘弹性](resiliency.md)
+ [边缘容量规划](capacity-planning.md)
+ [边缘基础设施管理](infrastructure-mgmt.md)

# 边缘联网
<a name="networking"></a>

在设计使用 AWS 边缘基础设施（例如 AWS Outposts 或 Local Zones）的解决方案时，必须仔细考虑网络设计。网络是连接部署在这些边缘位置的工作负载的基础，对于确保低延迟至关重要。本节概述了混合边缘连接的各个方面。

## VPC 架构
<a name="vpc-architecture"></a>

虚拟私有云 (VPC) 跨越其 AWS 区域中的所有可用区。您可以使用 AWS 控制台或 AWS Command Line Interface (AWS CLI) 添加 Outpost 或本地区域子网，将该区域中的任何 VPC 无缝扩展到 Outposts 或 Local Zones。以下示例说明如何使用以下方法在 Local Zones AWS Outposts 和 Local Zones 中创建子网： AWS CLI
+ **AWS Outposts**：要向 VPC 添加前哨子网，请指定前哨基地的亚马逊资源名称 (ARN)。

  ```
  aws ec2 create-subnet --vpc-id vpc-081ec835f3EXAMPLE \
  --cidr-block 10.0.0.0/24 \
  --outpost-arn arn:aws:outposts:us-west-2:11111111111:outpost/op-0e32example1 \
  --tag-specifications ResourceType=subnet,Tags=[{Key=Name,Value=my-ipv4-only-subnet}]
  ```

  有关更多信息，请参阅 [AWS Outposts 文档](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html#create-subnet)。
+ L@@ **oc** al Zones：要向 VPC 添加本地区域子网，请按照与可用区域相同的步骤进行操作，但要指定本地区域 ID（`<local-zone-name>`在以下示例中）。

  ```
  aws ec2 create-subnet --vpc-id vpc-081ec835f3EXAMPLE \
  --cidr-block 10.0.1.0/24 \
  --availability-zone <local-zone-name> \
  --tag-specifications ResourceType=subnet,Tags=[{Key=Name,Value=my-ipv4-only-subnet}]
  ```

  有关更多信息，请参阅 L [ocal Zones 文档](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html#getting-started-create-local-zone-subnet)。

下图显示了包含 Outpost 和本地区域子网的 AWS 架构。

![\[AWS 使用 Outpost 和:Local Zone 子网的架构。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/architecture-lz-outpost.png)


## 边缘到区域的流量
<a name="edge-to-region-traffic"></a>

在使用诸如 Local Zones 和之类的服务设计混合架构时 AWS Outposts，请同时考虑边缘基础架构与之间的控制流和数据流量 AWS 区域。根据边缘基础设施的类型，您的责任可能会有所不同：有些基础设施要求您管理与父区域的连接，而另一些基础设施则通过 AWS 全球基础设施来处理此问题。本节探讨控制平面和数据平面连接对 Local Zones 和 AWS Outposts.

### AWS Outposts 控制平面
<a name="outposts-control-plane"></a>

AWS Outposts 提供了一种称为*服务链路*的网络结构。服务链接是 AWS Outposts 与选定区域 AWS 区域 或父区域（也称为*主区域*）之间的必需连接。它使前哨基地的管理以及前哨基地和之间的流量交换成为可能。 AWS 区域服务链接使用一组加密的 VPN 连接与本地区域进行通信。您必须通过互联网链接或 Direct Connect 公共虚拟接口（公共 VIF）或私有虚拟接口（ Direct Connect 私有 VIF）提供和之间的 AWS Outposts 连接。 AWS 区域 为了获得最佳体验和弹性， AWS 建议您使用至少 500 Mbps（更好 1 Gbps）的冗余连接来连接到。 AWS 区域至少 500 Mbps 的服务链接连接允许您启动亚马逊 EC2 实例、附加亚马逊 EBS 卷以及访问亚马逊 EKS AWS 服务 、亚马逊 EMR 和亚马逊指标等。 CloudWatch 网络必须支持 Outpost 和父节点中的服务链路端点之间的最大传输单位 (MTU) 为 1,500 字节。 AWS 区域[有关更多信息，请参阅 Outpo [st AWS 区域 s 文档中的AWS Outposts 连接](https://docs.aws.amazon.com/outposts/latest/userguide/region-connectivity.html)信息。](https://docs.aws.amazon.com/outposts/latest/userguide/region-connectivity.html)

![\[使用 Direct Connect （私有 VIF）和私有连接的 Outposts 服务链接。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/dc-service-link.png)


有关为使用 Direct Connect 和公共 Internet 的服务链路创建弹性架构的信息，请参阅 AWS 白皮书《*AWS Outposts 高可用性设计和架构注意事项*》中的 [Anchor 连接](https://docs.aws.amazon.com/whitepapers/latest/aws-outposts-high-availability-design/anchor-connectivity.html)部分。

### AWS Outposts 数据平面
<a name="outposts-data-plane"></a>

 AWS Outposts 和之间的数据平面由控制平面使用的相同服务链路架构支持。 AWS 区域 AWS Outposts 和之间的数据平面服务链路的带宽 AWS 区域 应与必须交换的数据量相关：数据依赖性越大，链路带宽应越大。

带宽要求因以下特征而异：
+  AWS Outposts 机架数量和容量配置
+ 工作负载特征，例如 AMI 大小、应用程序弹性和突发速度需求
+ 发往该区域的 VPC 流量

中的实例 AWS Outposts 和 EC2 中的 EC2 实例之间的流量的 MTU AWS 区域 为 1,300 字节。我们建议您先与 AWS 混合云专家讨论这些要求，然后再提出在区域和之间具有相互依赖关系的架构。 AWS Outposts

### Local Zones 数据平面
<a name="local-zone-data-plane"></a>

Local Zones 和 Local Zon AWS 区域 es 之间的数据平面通过 AWS 全球基础设施提供支持。数据平面通过 VPC 从扩展 AWS 区域 到本地区域。Local Zones 还提供高带宽 AWS 区域、安全的连接，使您能够通过相同 APIs 和工具集无缝连接到所有区域服务。

下表显示了连接选项和关联项 MTUs。


| **来自** | **至** | **MTU** | 
| --- | --- | --- | 
| 该 EC2 地区的亚马逊 | Local Zones EC2 中的亚马逊 | 1,300 字节 | 
| Direct Connect | Local Zones | 1,468 字节 | 
| 互联网网关 | Local Zones | 1,500 字节 | 
| Local Zones EC2 中的亚马逊 | Local Zones EC2 中的亚马逊 | 9,001 字节 | 

Local Zones 使用 AWS 全球基础设施进行连接 AWS 区域。基础设施完全由管理 AWS，因此您不必设置此连接。我们建议您在设计任何在区域和本地区域之间存在相互依赖关系的架构之前，与 AWS 混合云专家讨论您的 Local Zones 要求和注意事项。

## 边缘到本地的流量
<a name="edge-to-on-premises-traffic"></a>

AWS 混合云服务旨在解决需要低延迟、本地数据处理或数据驻留合规性的用例。访问这些数据的网络架构很重要，这取决于您的工作负载是在还是 Local Zon AWS Outposts es 中运行。本地连接还需要明确定义的范围，如以下各节所述。

### AWS Outposts 本地网关
<a name="outpost-lgw"></a>

本地网关 (LGW) 是 AWS Outposts 架构的核心组件。本地网关支持 Outpost 子网与本地网络之间的连接。LGW 的主要作用是提供从 Outpost 到本地本地网络的连接。它还通过[直接 VPC 路由](https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#direct-vpc-routing)或[客户拥有的 IP 地址](https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing)，通过您的本地网络提供与互联网的连接。
+ **直接 VPC 路由**使用您的 VPC 中实例的私有 IP 地址来促进与本地网络的通信。这些地址通过边界网关协议 (BGP) 通告到您的本地网络。向 BGP 的通告仅适用于属于您的 Outpost 机架上子网的私有 IP 地址。这种类型的路由是的默认模式 AWS Outposts。在此模式下，本地网关不对实例执行 NAT，您也无需为 EC2 实例分配弹性 IP 地址。下图显示了使用直接 VPC 路由的 AWS Outposts 本地网关。

![\[Outposts 本地网关采用直接 VPC 模式。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/outpost-lgw-direct-vpc.png)

+ 使用**客户拥有的 IP** 地址，您可以提供一个地址范围，即*客户拥有的 IP (CoIP) 地址池，该地址池*支持重叠的 CIDR 范围和其他网络拓扑。选择 CoIP 时，必须创建一个地址池，将其分配给本地网关路由表，然后通过 BGP 将这些地址通告回您的网络。CoIP 地址为本地网络中的资源提供本地或外部连接。您可以将这些 IP 地址分配给 Outpost 上的资源（例如 EC2实例），方法是从 CoIP 中分配新的弹性 IP 地址，然后将其分配给您的资源。下图显示了使用 CoIP 模式的 AWS Outposts 本地网关。

![\[Outposts 本地网关采用 COIP 模式。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/outpost-lgw-coip.png)


从本地网络 AWS Outposts 到本地网络的连接需要一些参数配置，例如启用 BGP 路由协议和在 BGP 对等体之间通告前缀。您的 Outpost 和本地网关之间可以支持的 MTU 为 1,500 字节。有关更多信息，请联系 AWS 混合云专家或查看[AWS Outposts 文档](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html)。

### Local Zones 和互联网
<a name="local-zones-internet"></a>

需要低延迟或本地数据驻留的行业（例如游戏、直播、金融服务和政府）可以使用 Local Zones 通过互联网向最终用户部署和提供应用程序。在部署本地区域期间，必须分配公有 IP 地址以供本地区域使用。在分配弹性 IP 地址时，您可以指定通告 IP 地址的位置。此位置称为*网络边界组*。网络边界组是可用区、Local Zon AWS es 或从中通告公有 IP 地址的 AWS Wavelength 区域的集合。这有助于确保 AWS 网络与访问这些区域中资源的用户之间的延迟或物理距离降至最低。要查看本地区域的所有网络边界组，请参阅 Local Zones 文档中的[可用本地区域](https://docs.aws.amazon.com/local-zones/latest/ug/available-local-zones.html)。

要将本地区域中的 EC2 Amazon 托管的工作负载暴露给互联网，您可以在启动实例时启用**自动分配公有 IP** 选项。 EC2 如果您使用 Application Load Balancer，则可以将其定义为面向互联网，这样分配给本地区域的公有 IP 地址就可以通过与本地区域关联的边界网络进行传播。此外，当您使用弹性 IP 地址时，您可以在 EC2 实例启动后将其中一个资源与其关联起来。当您通过 Local Zones 中的互联网网关发送流量时，将应用该区域使用的相同[实例带宽](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html)规格。本地区域网络流量直接进入互联网或接入点 (PoPs)，无需穿过本地区域的父区域，从而可以访问低延迟计算。

Local Zones 通过互联网提供以下连接选项：
+ 公共访问：通过互联网网关使用弹性 IP 地址，将工作负载或虚拟设备连接到互联网。
+ 出站互联网访问：使资源能够通过网络地址转换 (NAT) 实例或具有关联弹性 IP 地址的虚拟设备访问公共终端节点，而不会直接暴露互联网。
+ VPN 连接：使用互联网协议安全 (IPsec) VPN 通过具有关联弹性 IP 地址的虚拟设备建立私有连接。

有关更多信息，请参阅 L [ocal Zones 文档中的本地区域的连接选项](https://docs.aws.amazon.com/local-zones/latest/ug/local-zones-connectivity.html)。

### Local Zones 和 Direct Connect
<a name="local-zones-dc"></a>

Local Zones 还支持 Direct Connect，允许您通过专用网络连接路由流量。有关更多信息，请参阅 Local Zones 文档[中的本地区域中的 Direct Connect](https://docs.aws.amazon.com/local-zones/latest/ug/local-zones-connectivity-direct-connect.html)。

### Local Zones 和中转网关
<a name="local-zones-tgw"></a>

AWS Transit Gateway 不支持将 VPC 直接连接到本地区域子网。但是，您可以通过在同一 VPC 的父可用区子网中创建 Transit Gateway 附件来连接到本地区域工作负载。此配置支持多个工作负载 VPCs 和您的本地区域工作负载之间的互连。有关更多信息，请参阅 Local Zones 文档中的[本地区域之间的公交网关连接](https://docs.aws.amazon.com/local-zones/latest/ug/local-zones-connectivity-transit-gateway-lzs.html)。

### Local Zones 和 VPC 对等互连
<a name="local-zones-peering"></a>

通过创建新子网并将其分配给本地区域，您可以将任何 VPC 从父区域扩展到本地区域。可以在两者之间建立 VPC 对等互连 VPCs ，然后扩展到 Local Zones。当对等用户 VPCs 位于同一个本地区域时，流量将停留在本地区域内，不会通过父区域。

# 边缘安全
<a name="security"></a>

在中 AWS 云，安全是重中之重。随着组织采用云的可扩展性和灵活性， AWS 可以帮助他们将安全性、身份和合规性作为关键业务因素。 AWS 将安全性集成到其核心基础架构中，并提供服务来帮助您满足独特的云安全要求。当您将架构的范围扩展到时 AWS 云，您将受益于将 Local Zones 和 Outposts 等基础架构集成到中。 AWS 区域通过这种集成 AWS ，可以将一组精选的核心安全服务扩展到边缘。

安全是双方共同承担 AWS 的责任。[责任AWS 共担模型](https://aws.amazon.com/compliance/shared-responsibility-model/)**区分了云的安全性和云端的安全性：**
+ **云安全** — AWS 负责保护在云 AWS 服务 中运行的基础架构 AWS 云。 AWS 还为您提供可以安全使用的服务。作为[AWS 合规计划](https://aws.amazon.com/compliance/programs/)的一部分，第三方审计师定期测试和验证 AWS 安全的有效性。
+ **云端安全** — 您的责任由您 AWS 服务 使用的内容决定。您还需要对其他因素负责，包括您的数据的敏感性、您公司的要求以及适用的法律法规。

## 数据保护
<a name="data-protection"></a>

分 AWS 担责任模型适用于 AWS Outposts 和中的数据保护 AWS Local Zones。如本模型所述 AWS ，负责保护运行 AWS 云 （*云安全）的*全球基础架构。您有责任保持对托管在此基础架构上的内容的控制（*云端安全*）。此内容包括您 AWS 服务 使用的的安全配置和管理任务。

出于数据保护目的，我们建议您保护 AWS 账户 凭证并使用 [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 或设置个人用户[AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。这仅为每位用户提供履行其工作职责所需的权限。

### 静态加密
<a name="encryption-at-rest"></a>

#### 在 EBS 卷中加密
<a name="encryption-ebs"></a>

使用 AWS Outposts，所有数据都处于静态加密状态。密钥材料用外部密钥 Nitro 安全密钥 (NSK) 包裹，该密钥存储在可移动设备中。需要使用 NSK 来解密 Outpost 机架上的数据。您可以对 EBS 卷和快照使用 Amazon EBS 加密。Amazon EBS 加密使用 [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 和 KMS 密钥。

就本地区域而言，默认情况下，****所有本地区域中的所有 EBS 卷都经过加密，但[AWS Local Zones 常见](https://aws.amazon.com/about-aws/global-infrastructure/localzones/faqs/#:~:text=What%E2%80%99s%20the%20default%20encryption%20behavior%20of%20EBS%20volumes%20in%20Local%20Zones%3F)问题解答中记录的列表除外（参见问题：*本地区域中 EBS 卷的默认加密行为是什么？* )，除非已为账户启用加密。

#### Outposts 上的 Amazon S3 中的加密
<a name="encryption-s3"></a>

原定设置情况下，存储在 Amazon S3 on Outposts 中的所有数据都使用带 Amazon S3 托管式加密密钥 (SSE-S3) 的服务器端加密进行加密。您可以选择使用带客户提供的加密密钥的服务器端加密 (SSE-C)。要使用 SSE-C，请在对象 API 请求中指定加密密钥。服务器端加密仅加密对象数据而非加密对象元数据。

**注意**  
Outposts 上的 Amazon S3 不支持使用 KMS 密钥 (SSE-KMS) 进行服务器端加密。

### 传输中加密
<a name="encryption-in-transit"></a>

因为 AWS Outposts，服务链接是你的Outposts服务器和你选择的 AWS 区域 （或主区域）之间的必要连接，它允许管理前哨基地以及交换往返前哨的流量。 AWS 区域服务链接使用 AWS 托管 VPN 与本地区域通信。内部的每台主机都会 AWS Outposts 创建一组 VPN 隧道来分割控制平面流量和 VPC 流量。根据服务链路连接（互联网或 Direct Connect）的不同 AWS Outposts，这些隧道需要打开防火墙端口，服务链路才能在其上创建叠加层。有关安全 AWS Outposts 性和服务链接的详细技术信息，请参阅 AWS Outposts 文档[AWS Outposts中的[通过服务链接连接](https://docs.aws.amazon.com/outposts/latest/userguide/service-links.html)和基础设施安全](https://docs.aws.amazon.com/outposts/latest/server-userguide/infrastructure-security.html)。

 AWS Outposts 服务链路创建加密隧道，用于建立与父节点的控制平面和数据平面连接 AWS 区域，如下图所示。

![\[锚点 VPC 注意事项。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/anchor-vpc.png)


每 AWS Outposts 台主机（计算和存储）都需要这些通过众所周知的 TCP 和 UDP 端口的加密隧道才能与其父区域通信。下表显示了 UDP 和 TCP 协议的源和目标端口和地址。


| **协议** | **源端口** | **源地址** | **目的端口** | **目的地地址** | 
| --- | --- | --- | --- | --- | 
| UDP | 443 | AWS Outposts 服务链接 /26 | 443 | AWS Outposts 区域的公共路由或锚点 VPC CIDR | 
| TCP | 1025-65535 | AWS Outposts 服务链接 /26 | 443 | AWS Outposts 区域的公共路由或锚点 VPC CIDR | 

Local Zones 还通过 Amazon 冗余且带宽极高的全球私有主干网连接到父区域。这种连接使在 Local Zones 中运行的应用程序可以快速、安全、无缝地访问其他应用程序 AWS 服务。只要 Local Zones 是 AWS 全球基础设施的一部分，所有流经 AWS 全球网络的数据都会在离开 AWS 安全设施之前在物理层自动加密。如果您对在本地位置之间传输的数据进行加密以及 Direct Connect PoPs 访问本地区域有特定要求，则可以在本地路由器或交换机与 Direct Connect 终端节点之间启用 MAC Security (MACsec)。有关更多信息，请参阅 AWS 博客文章为[Direct Connect 连接添加 MACsec 安全性](https://aws.amazon.com/blogs/networking-and-content-delivery/adding-macsec-security-to-aws-direct-connect-connections/)。

### 数据删除
<a name="data-deletion"></a>

当您在中停止或终止某个 EC2 实例时 AWS Outposts，虚拟机管理程序会清理分配给该实例的内存（设置为零），然后再将其分配给新实例，并且每个存储块都会被重置。从 Outpost 硬件中删除数据需要使用专门的硬件。NSK是一种小型设备，如下图所示，它连接到前哨基地中每个计算或存储单元的正面。它旨在提供一种机制，防止您的数据从您的数据中心或托管站点暴露。Outpost 设备上的数据通过包装用于加密设备的密钥材料并将包装好的材料存储在 NSK 上来保护。当你返回 Outpost 主机时，你可以通过转动芯片上的小螺丝来摧毁 NSK，摧毁 NSK 并物理摧毁芯片。摧毁 NSK 会以加密方式粉碎你的前哨基地上的数据。

![\[Outposts 中的 NSK 设备。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/nsk.jpg)


## Identity and access management
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) AWS 服务 可帮助管理员安全地控制对 AWS 资源的访问权限。IAM 管理员控制谁可以进行身份验证（登录）和授权（拥有权限）使用 AWS Outposts 资源。如果您有 AWS 账户，则可以免费使用 IAM。

下表列出了您可以搭配使用的 IAM 功能 AWS Outposts。


| **IAM 功能** | **AWS Outposts 支持** | 
| --- | --- | 
| 基于身份的策略 | 是 | 
| 基于资源的策略 | 是\$1 | 
| 策略操作 | 是 | 
| 策略资源 | 是 | 
| 策略条件键（特定于服务） | 是 | 
| 访问控制列表 (ACLs) | 否 | 
| 基于属性的访问控制 (ABAC)（策略中的标签） | 是 | 
| 临时凭证 | 是 | 
| 主体权限 | 是 | 
| 服务角色 | 否 | 
| 服务关联角色 | 是 | 

**\$1** 除了基于 IAM 身份的策略外，Outposts 上的 Amazon S3 还支持存储桶和接入点策略。这些是[基于资源的政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)，附在 Amazon S3 on Outposts 资源上。

有关中如何支持这些功能的更多信息 AWS Outposts，请参阅[AWS Outposts 用户指南](https://docs.aws.amazon.com/outposts/latest/userguide/security_iam_service-with-iam.html)。

## 基础结构安全性
<a name="infrastructure-security"></a>

基础设施保护是信息安全计划的一个关键组成部分。它可确保工作负载系统和服务受到保护，防止意外和未经授权的访问以及潜在的漏洞。例如，您可以定义信任边界（例如，网络和帐户边界）、系统安全配置和维护（例如强化、最小化和修补）、操作系统身份验证和授权（例如用户、密钥和访问级别）以及其他相应的策略实施点（例如，Web 应用程序防火墙或 API 网关）。

AWS 提供了多种基础架构保护方法，如以下各节所述。

### 保护网络
<a name="protecting-networks"></a>

您的用户可能是您的员工或客户的一员，并且可以位于任何地方。因此，您不能信任所有有权访问您的网络的人。当你遵循在所有层面应用安全的原则时，你就采用了[零信任](https://aws.amazon.com/blogs/security/zero-trust-architectures-an-aws-perspective/)方法。在零信任安全模型中，应用程序组件或微服务被视为离散的，任何组件或微服务都不信任任何其他组件或微服务。要实现零信任安全，请遵循以下建议：
+ [创建网络层](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_create_layers.html)。分层网络有助于对相似的网络组件进行逻辑分组。它们还缩小了未经授权的网络访问的潜在影响范围。
+ [控制流量层](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_layered.html)。通过一种 defense-in-depth方法对入站和出站流量应用多种控制措施。这包括使用安全组（状态检查防火墙）、网络 ACLs、子网和路由表。
+ [实施检查和保护](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_inspection.html)。检查并过滤每层的流量。您可以使用[网络访问分析器检查您的 VPC 配置是否存在潜在的意外访问](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-vaa.html)。您可以指定您的网络访问要求并确定不符合这些要求的潜在网络路径。

### 保护计算资源
<a name="protecting-compute-resources"></a>

计算资源包括 EC2 实例、容器、 AWS Lambda 函数、数据库服务、物联网设备等。每种计算资源类型都需要不同的安全方法。但是，这些资源确实共享您需要考虑的共同策略：*深度防御*、*漏洞管理*、*减少攻击面*、*配置和操作自动化*以及*远距离执行操作*。

以下是保护关键服务的计算资源的一般指南：
+ [创建和维护漏洞管理程序](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_compute_vulnerability_management.html)。定期扫描和修补资源，例如 EC2 实例、亚马逊弹性容器服务 (Amazon ECS) 容器和亚马逊 Elastic Kubernetes Service (Amazon EKS) 工作负载。
+ [自动计算保护](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_compute_auto_protection.html)。实现保护性计算机制的自动化，包括漏洞管理、减少攻击面和资源管理。这种自动化可以腾出时间来保护工作负载的其他方面，并有助于降低人为错误的风险。
+ [减少攻击面](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_compute_reduce_surface.html)。通过强化操作系统并最大限度地减少所使用的组件、库和外部可使用的服务，减少意外访问的风险。

此外，对于您 AWS 服务 使用的每种产品，请查看[服务文档](https://docs.aws.amazon.com/)中的具体安全建议。

## 互联网访问
<a name="internet-access"></a>

两者 AWS Outposts 和 Local Zones 都提供了架构模式，让您的工作负载可以访问和访问互联网。当你使用这些模式时，只有当你使用该区域来修补、更新、访问外部的 Git 存储库以及类似场景时，才将 AWS该地区的互联网消费视为可行的选择。对于这种架构模式，[集中式入站检查和集中式](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/centralized-inbound-inspection.html)[互联网出站的概念适用](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/centralized-egress-to-internet.html)。这些访问模式使用 AWS Transit Gateway NAT 网关、网络防火墙和其他组件，这些组件位于区域中 AWS 区域但通过区域和边缘之间的数据路径连接到 AWS Outposts 或 Local Zones。

Local Zones 采用一种称为*网络边界组*的网络结构，用于 AWS 区域。 AWS 通告来自这些唯一群组的公有 IP 地址。网络边界组由可用区、Local Zones 或 Wavelength 区域组成。您可以明确分配公有 IP 地址池以用于网络边界组。您可以使用网络边界组将互联网网关扩展到 Local Zones，方法是允许该组提供弹性 IP 地址。此选项要求您部署其他组件来补充 Local Zones 中可用的核心服务。这些组件可能来自 ISVs 并帮助您在本地区域中构建检查层，如 AWS 博客文章《[混合检查架构](https://aws.amazon.com/blogs/networking-and-content-delivery/hybrid-inspection-architectures-with-aws-local-zone/)》中所述 AWS Local Zones。

在中 AWS Outposts，如果要使用本地网关 (LGW) 从您的网络访问 Internet，则必须修改与 AWS Outposts 子网关联的自定义路由表。路由表必须有一个使用 LGW 作为下一跳的默认路由条目 (0.0.0.0/0)。您负责在本地网络中实施其余的安全控制，包括外围防御，例如防火墙和入侵防御系统或入侵检测系统 (IPS/IDS)。这与责任共担模式一致，后者在您和云提供商之间划分安全职责。

### 通过家长上网 AWS 区域
<a name="parent-region"></a>

在此选项中，Outpost 中的工作负载通过[服务链接](https://docs.aws.amazon.com/outposts/latest/userguide/service-links.html)和父 AWS 区域站中的互联网网关访问互联网。互联网的出站流量可以通过在您的 VPC 中实例化的 NAT 网关进行路由。为了进一步保护您的入口和出口流量，您可以在 CloudFront 中使用 AWS 安全服务 AWS WAF，例如 AWS Shield、和 Amazon。 AWS 区域

下图显示了实例中的工作负载与通过父 AWS Outposts 实例的 Internet 之间的流量 AWS 区域。

![\[Outpost 中的工作负载通过家长 AWS 区域访问互联网。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/internet-access-through-parent-region.png)


### 通过本地数据中心的网络访问互联网
<a name="local-network"></a>

在此选项中，Outpost 中的工作负载通过您的本地数据中心访问互联网。访问互联网的工作负载流量通过您的本地互联网接入点并在本地流出。在这种情况下，本地数据中心的网络安全基础设施负责保护 AWS Outposts 工作负载流量。

下图显示了 AWS Outposts 子网中的工作负载与通过数据中心的互联网之间的流量。

![\[Outpost 中的工作负载通过本地网络访问互联网。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/internet-access-through-local-network.png)


## 基础设施治理
<a name="infrastructure-governance"></a>

无论您的工作负载是部署在 AWS 区域、本地区域还是 Outpost 中，您都可以使用它来 AWS Control Tower 管理基础架构。 AWS Control Tower 遵循规范性最佳实践，提供了一种设置和管理 AWS 多账户环境的简单方法。 AWS Control Tower 协调其他几项功能 AWS 服务，包括 AWS Organizations AWS Service Catalog、和 IAM Identity Center（查看[所有集成服务](https://docs.aws.amazon.com/controltower/latest/userguide/integrated-services.html)），以便在不到一小时的时间内构建一个着陆区。资源是代表您设置和管理的。

AWS Control Tower 提供跨所有 AWS 环境的统一管理，包括区域、Local Zones（低延迟扩展）和 Outposts（本地基础架构）。这有助于确保整个混合云架构始终如一的安全性和合规性。有关详情，请参阅 [AWS Control Tower 文档](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)。

您可以配置护栏等功能，以符合政府 AWS Control Tower 和监管行业（如金融服务机构）的数据驻留要求（）FSIs。要了解如何为边缘数据驻留部署护栏，请参阅以下内容：
+ [AWS Local Zones 使用 landing zone 控件管理数据驻留的最佳实践](https://aws.amazon.com/blogs/compute/best-practices-for-managing-data-residency-in-aws-local-zones-using-landing-zone-controls/)（AWS 博客文章）
+ [使用机架和 landing zone 护栏设计数据驻留 AWS Outposts 架构](https://aws.amazon.com/blogs/compute/architecting-for-data-residency-with-aws-outposts-rack-and-landing-zone-guardrails/)（AWS 博客文章）
+ [混合云服务视角下的数据驻留](https://docs.aws.amazon.com/wellarchitected/latest/data-residency-hybrid-cloud-services-lens/data-residency-with-hybrid-cloud-services-lens.html)（Well-Architect AWS ed Framework 文档）

### 共享 Outposts 资源
<a name="sharing-outposts-resources"></a>

由于 Outpost 是一种有限的基础架构，位于您的数据中心或托管空间中，因此要进行集中管理 AWS Outposts，您需要集中控制与哪些账户共享 AWS Outposts 资源。

通过 Outpost 共享，Outpost 所有者可以与同一组织中的其他 AWS 账户 人共享他们的 Outposts 和 Outpost 资源，包括前哨基地和子网。 AWS Organizations作为 Outpost 所有者，您可以从一个中心位置创建和管理 Outpost 资源，并在组织 AWS 账户 内的多个位置共享资源。 AWS 这允许其他用户使用 Outpost 站点，在共享的 Outpost 上配置 VPCs、启动和运行实例。

中的可共享资源 AWS Outposts 有：
+ 已分配的专用主机
+ 容量预留
+ 客户拥有的 IP (CoIP) 地址池
+ 本地网关路由表
+ Outposts
+ Amazon S3 on Outposts
+ 站点
+ 子网

要遵循在多账户环境中共享 Outposts 资源的最佳做法，请参阅以下 AWS 博客文章：
+ [AWS Outposts 在多账户 AWS 环境中共享：第 1 部分](https://aws.amazon.com/blogs/mt/best-practices-aws-outposts-in-a-multi-account-aws-environment-part-1/)
+ [AWS Outposts 在多账户 AWS 环境中共享：第 2 部分](https://aws.amazon.com/blogs/mt/best-practices-aws-outposts-in-a-multi-account-aws-environment-part-2/)

# 边缘弹性
<a name="resiliency"></a>

可靠性支柱包括工作负载在预期时正确、一致地执行其预期功能的能力。这包括能够在工作负载的整个生命周期中对其进行操作和测试。从这个意义上讲，在边缘设计弹性架构时，必须首先考虑将使用哪些基础架构来部署该架构。使用 AWS Local Zones 和可以实现三种可能的组合 AWS Outposts：*前哨基地到前哨基*地、*前哨基地到本地区域*以及*本地区域到局域区域*，如下图所示。尽管弹性架构还有其他可能性，例如将 AWS 边缘服务与传统的本地基础设施相结合 AWS 区域，或者，本指南重点介绍适用于混合云服务设计的这三种组合

![\[使用 Local Zones 和 Outposts 在边缘实现弹性。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/resiliency-at-edge-options.png)


## 基础架构注意事项
<a name="infrastructure-considerations"></a>

在 AWS，服务设计的核心原则之一是避免底层物理基础架构出现单点故障。由于这一原则， AWS 软件和系统使用多个可用区，并且能够抵御单个区域的故障。在边缘， AWS 提供基于 Local Zones 和 Outposts 的基础架构。因此，确保基础设施设计弹性的关键因素是定义应用程序资源的部署位置。

### Local Zones
<a name="infrastructure-local-zones"></a>

Local Zones 的作用与其中的可用区域类似 AWS 区域，因为可以选择它们作为子网和 EC2 实例等区域 AWS 资源的放置位置。但是，它们不在人口稠密 AWS 区域的工业和IT中心附近，而是在当今不 AWS 区域 存在的地方。尽管如此，它们仍然在本地区域中的本地工作负载与在本地区域中运行的工作负载之间保持高带宽的安全连接。 AWS 区域因此，您应该使用 Local Zones 将工作负载部署到离用户更近的地方，以满足低延迟要求。

### Outposts
<a name="infrastructure-outposts"></a>

AWS Outposts 是一项完全托管的服务，可将 AWS 基础架构 AWS 服务 APIs、、和工具扩展到您的数据中心。您的数据中心安装的硬件基础设施与中 AWS 云 使用的硬件基础架构相同。然后，Outposts 与最近的哨所相连。 AWS 区域您可以使用 Outposts 来支持具有低延迟或本地数据处理要求的工作负载。

#### 父可用区
<a name="infrastructure-parent-az"></a>

每个本地区域或前哨基地都有一个父区域（也称为*主区域*）。父区域是 AWS 边缘基础设施（前哨基地或本地区域）的控制平面的锚定区域。就本地区域而言，父区域是本地区域的基本架构组件，客户无法对其进行修改。 AWS Outposts 将扩展 AWS 云 到您的本地环境，因此您必须在订购过程中选择特定的区域和可用区。此选择会将 Outposts 部署的控制平面锚定到选定的基础架构。 AWS 

在边缘开发高可用性架构时，这些基础设施的父区域（例如 Outposts 或 Local Zones）必须相同，以便可以在它们之间扩展 VPC。这种扩展的 VPC 是创建这些高可用性架构的基础。在定义高弹性架构时，这就是为什么必须验证父区域和服务将（或已停靠）的区域的可用区。如下图所示，如果您想在两个 Outposts 之间部署高可用性解决方案，则必须选择两个不同的可用区来锚定 Outposts。这允许从控制平面角度实现多可用区架构。如果要部署包含一个或多个 Local Zones 的高可用性解决方案，则必须首先验证基础架构所在的父可用区。为此，请使用以下 AWS CLI 命令：

```
aws ec2 describe-availability-zones --zone-ids use1-mia1-az1
```

上一个命令的输出：

```
{     "AvailabilityZones": [         
          {
             "State": "available",
             "OptInStatus": "opted-in",
             "Messages": [],
             "RegionName": "us-east-1",
             "ZoneName": "us-east-1-mia-1a",
             "ZoneId": "use1-mia1-az1",
             "GroupName": "us-east-1-mia-1",
             "NetworkBorderGroup": "us-east-1-mia-1",
             "ZoneType": "local-zone",
             "ParentZoneName": "us-east-1d",
             "ParentZoneId": "use1-az2"
         }
     ]
 }
```

在此示例中，迈阿密本地区域 (`us-east-1d-mia-1a1`) 锚定在`us-east-1d-az2`****可用区中。**因此，如果您需要在边缘创建弹性架构，则必须确保辅助基础架构（Outposts 或 Local Zones）锚定到除之外的可用区。`us-east-1d-az2`**例如，`us-east-1d-az1`将是有效的。

下图提供了高可用性边缘基础设施的示例。

![\[高度可用的边缘架构。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/ha-edge-architectures.png)


## 联网注意事项
<a name="networking-considerations"></a>

本节讨论边缘网络的初步注意事项，主要是访问边缘基础设施的连接。它审查了为服务链路提供弹性网络的有效架构。

### Local Zones 的弹性网络
<a name="resiliency-networking-local-zone"></a>

Local Zones 通过多个冗余、安全、高速的链路连接到父区域，使您能够无缝使用任何区域服务，例如 Amazon S3 和 Amazon RDS。您负责提供从本地环境或用户到本地区域的连接。无论您选择哪种连接架构（例如，VPN 或 Direct Connect），通过网络链路实现的延迟都必须相同，以避免在主链路出现故障时对应用程序性能产生任何影响。如果您正在使用 Direct Connect，则适用的弹性架构与用于访问的弹性架构相同 AWS 区域，如[Direct Connect 弹性建议](https://aws.amazon.com/directconnect/resiliency-recommendation/)中所述。但是，有些场景主要适用于国际 Local Zones。在启用本地区域的国家/地区，只有一个 Direct Connect PoP 就无法创建推荐的 Direct Connect 弹性架构。如果您只能访问单个 Direct Connect 位置或需要单一连接以外的弹性，则可以在 Amazon EC2 上创建 VPN 设备 Direct Connect，正如 AWS 博客文章中说明和讨论的那样，[启用从本地到 AWS Local Zones的高可用性连接](https://aws.amazon.com/blogs/compute/enabling-highly-available-connectivity-from-on-premises-to-aws-local-zones/)。

### Outposts 的弹性网络
<a name="resiliency-networking-outposts"></a>

与 Local Zones 形成鲜明对比的是，Outposts 具有冗余连接，可以从本地网络访问部署在 Outposts 中的工作负载。这种冗余是通过两台 Outposts 网络设备实现的 () ONDs。每个 OND 需要至少两个 1 Gbps、10 Gbps、40 Gbps 或 100 Gbps 的光纤连接到您的本地网络。必须将这些连接配置为链路聚合组 (LAG)，以允许以可扩展的方式添加更多链路。


| 上行链路速度 | 上行链路数量 | 
| --- | --- | 
| 1 Gbps | 1、2、4、6 或 8 | 
| 10 Gbps | 1、2、4、8、12 或 16 | 
| 40 或 100 Gbps | 1、2 或 4 | 

![\[Outposts 的弹性网络\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/outpost-resiliency-networking.png)


有关此连接的更多信息，请参阅文档中的 [Outposts Racks 的本地网络连接](https://docs.aws.amazon.com/outposts/latest/userguide/local-rack.html)。 AWS Outposts 

为了获得最佳体验和弹性， AWS建议您使用至少 500 Mbps（更好 1 Gbps）的冗余连接来连接到。 AWS 区域您可以使用 Direct Connect 或互联网连接获取服务链接。此最低限度使您能够启动 EC2 实例、附加 EBS 卷和访问 AWS 服务，例如 Amazon EKS、Amazon EMR 和指标。 CloudWatch 

下图说明了这种用于高可用性专用连接的架构。

![\[用于高可用性专用连接的弹性架构。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/ha-private-connection.png)


下图说明了这种用于高可用性公共连接的架构。

![\[用于高可用性公共连接的弹性架构。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/ha-public-connection.png)


### 使用 ACE 机架扩展 Outposts 机架部署
<a name="ace-racks"></a>

聚合、核心、边缘 (ACE) 机架是 AWS Outposts 多机架部署的关键聚合点，主要推荐用于超过三个机架的安装或计划未来的扩展。每个 ACE 机架都有四台路由器，支持 10 Gbps、40 Gbps 和 100 Gbps 连接（100 Gbps 是最佳选择）。每个机架最多可连接四台上游客户设备，以实现最大冗余。ACE 机架消耗高达 10 kVA 的功率，重量可达 705 磅。主要优势包括降低物理网络需求、减少光纤布线上行链路以及减少 VLAN 虚拟接口。 AWS 通过 VPN 隧道通过遥测数据监控这些机架，并在安装过程中与客户密切合作，以确保适当的电源可用性、网络配置和最佳位置。随着部署规模的扩大，ACE 机架架构提供了不断增长的价值，并有效地简化了连接，同时降低了大型安装的复杂性和物理端口要求。 有关更多信息，请参阅 AWS 博客文章[使用 ACE Rac AWS Outposts k 扩展机架部署](https://aws.amazon.com/blogs/compute/scaling-aws-outposts-rack-deployments-with-ace-racks/)。

## 在 Outposts 和 Local Zones 之间分配实例
<a name="distributing-instances"></a>

Outposts 和 Local Zones 的计算服务器数量有限。如果您的应用程序部署了多个相关实例，则这些实例可能会部署在同一台服务器上或同一机架中的服务器上，除非它们的配置不同。除了默认选项外，您还可以跨服务器分配实例，以降低在同一基础架构上运行相关实例的风险。您还可以使用分区置放群组将实例分配到多个机架上。这称为*展架*分销模型。使用自动分配将实例分布到组中的各个分区，或者将实例部署到选定的目标分区。通过将实例部署到目标分区，您可以将选定的资源部署到同一个机架，同时在机架之间分配其他资源。Outpo *sts 还提供了另一种名为 spre* ad host 的选项，它允许你在主机级别分配工作负载。下图显示了分散机架和分散主机的分发选项。

![\[Outposts 和 Local Zones 的 Spread rack 和 spread 主机分发选项。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/spread-rack-host-distribution.png)


## Amazon RDS 中的多可用区 AWS Outposts
<a name="rds-multi-az"></a>

当您在 Outposts 上使用多可用区实例部署时，Amazon RDS 会在两个 Outposts 上创建两个数据库实例。每个 Outpost 都运行在自己的物理基础设施上，并连接到一个区域中的不同可用区以实现高可用性。当两个 Outposts 通过客户管理的本地连接连接时，Amazon RDS 会管理主数据库实例和备用数据库实例之间的同步复制。如果软件或基础设施出现故障，Amazon RDS 会自动将备用实例提升为主角色，并更新 DNS 记录以指向新的主实例。对于多可用区部署，Amazon RDS 会在一个 Outpost 上创建主数据库实例，并将数据同步复制到不同 Outpost 上的备用数据库实例。Outposts 上的多可用区部署与 AWS 区域中的多可用区部署类似，但有以下区别：
+ 它们需要两个或更多 Outposts 之间的本地连接。
+ 它们需要客户拥有的 IP (CoIP) 地址池。有关更多信息，请参阅 Amazon RDS 文档 AWS Outposts中的[客户拥有的 Amazon RDS 的 IP 地址](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.coip.html)。
+ 复制在您的本地网络上运行。

Outposts 上的 Amazon RDS 上所有支持的 MySQL 和 PostgreSQL 版本均支持多可用区部署。多可用区部署不支持本地备份。

下图显示了 Outposts 上的 Amazon RDS 多可用区配置的架构。

![\[Outposts 上的 Amazon RDS 的多可用区配置。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/rds-outposts-multi-az.png)


## 故障转移机制
<a name="failover-mechanisms"></a>

### 负载平衡和自动扩展
<a name="load-balancing-scaling"></a>

Elastic Load Balancing (ELB) 会自动将您的传入应用程序流量分配到您正在运行的所有 EC2 实例。ELB 通过优化流量路由来帮助管理传入的请求，这样就不会让单个实例不堪重负。要将 ELB 与您的 Amazon EC2 Auto Scaling 组一起使用，请将负载均衡器附加到您的 Auto Scaling 组。这会将群组注册到负载均衡器，负载均衡器充当您的群组所有传入 Web 流量的单一联系点。在 Auto Scaling 组中使用 ELB 时，无需向负载均衡器注册单个 EC2 实例。您的 Auto Scaling 组所启动的实例会自动注册到负载均衡器。同样，由您的 Auto Scaling 组终止的实例将自动从负载均衡器注销。将负载均衡器连接到 Auto Scaling 组后，您可以将您的组配置为使用 ELB 指标（例如每个目标的 Application Load Balancer 请求数）来根据需求波动扩展组中的实例数量。或者，您可以将 ELB 运行状况检查添加到您的 Auto Scaling 组中，这样 Amazon EC2 Auto Scaling 就可以根据这些运行状况检查识别和替换运行状况不佳的实例。您也可以创建一个 Amazon CloudWatch 警报，当目标组的健康主机数低于允许值时，该警报会通知您。

下图说明了 Application Load Balancer 如何在中管理 Amazon EC2 上的工作负载 AWS Outposts。

![\[Outposts 中亚马逊 EC2 工作负载的负载平衡。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/alb-in-outposts.png)


下图说明了 Local Zones 中 Amazon EC2 的类似架构。

![\[在 Local Zones 中为 Amazon EC2 工作负载进行负载平衡。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/alb-in-local-zones.png)


**注意**  
应用程序负载均衡器在 Local Zones AWS Outposts 和 Local Zones 中均可用。但是，要在中使用 Application Load Balancer AWS Outposts，您需要调整 Amazon EC2 容量的大小，以提供负载均衡器所需的可扩展性。有关调整负载均衡器大小的更多信息 AWS Outposts，请参阅上的 “[配置 Application Load Balan](https://aws.amazon.com/blogs/networking-and-content-delivery/configuring-an-application-load-balancer-on-aws-outposts/) cer” 的 AWS 博客文章 AWS Outposts。

### 用于 DNS 故障转移的亚马逊 Route 5
<a name="r53-failover"></a>

当您有多个资源执行相同的功能（例如多个 HTTP 或邮件服务器）时，您可以将 [Amazon Rou](https://aws.amazon.com/route53/) te 53 配置为仅使用运行状况良好的资源来检查资源的运行状况并响应 DNS 查询。例如，假设您的网站托管在两台服务器上。`example.com`一台服务器在本地区域中，另一台服务器位于前哨基地。您可以将 Route 53 配置为仅使用当前运行状况的服务器来检查这些服务器的`example.com`运行状况并响应 DNS 查询。如果您使用别名记录将流量路由到选定 AWS 资源（例如 ELB 负载均衡器），则可以配置 Route 53 以评估资源的运行状况，并仅将流量路由到运行状况良好的资源。配置别名记录以评估资源的运行状况时，无需为该资源创建运行状况检查。

下图说明了 Route 53 的故障转移机制。

![\[Outposts 和 Local Zones 的 Route 53 故障转移机制。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/hybrid-cloud-best-practices/images/route-53-failover.png)


**注意**  
如果您在私有托管区域中创建故障转移记录，则可以创建 CloudWatch 指标，将警报与指标相关联，然后根据警报的数据流创建运行状况检查。
要使用 Application Load Balancer 在中 AWS Outposts 公开访问应用程序，请设置网络配置，启用从公共 IPs 到负载均衡器的完全限定域名 (FQDN) 的目标网络地址转换 (DNAT)，并使用指向暴露的公有 IP 的运行状况检查创建 Route 53 故障转移规则。这种组合可确保公众可靠地访问您的 Outposts 托管的应用程序。

### Amazon Route 53 Resolver on AWS Outposts
<a name="r53-resolver-outposts"></a>

[Amazon Route 53 Resolver](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html)可在 Outposts 机架上使用。它直接从 Outposts 为您的本地服务和应用程序提供本地 DNS 解析。本地 Route 53 解析器端点还支持 Outposts 和你的本地 DNS 服务器之间的 DNS 解析。Outposts 上的 Route 53 Resolver 有助于提高本地应用程序的可用性和性能。

Outposts 的典型用例之一是部署需要低延迟访问本地系统的应用程序，例如工厂设备、高频交易应用程序和医疗诊断系统。

当你选择在 Outposts 上使用本地 Route 53 解析器时，应用程序和服务将继续受益于本地 DNS 解析来发现其他服务，即使与 AWS 区域 父级的连接中断。本地解析器还有助于缩短 DNS 解析的延迟，因为查询结果是从 Outposts 本地缓存和提供的，从而消除了前往父节点的不必要往返行程。 AWS 区域 Outposts 中使用[私有 DNS 的应用程序 VPCs 的所有 DNS 解析都是在本地](https://docs.aws.amazon.com/managedservices/latest/userguide/set-dns.html)提供的。

除了启用本地解析器外，此次启动还启用了本地解析器端点。Route 53 解析器出站终端节点允许 Route 53 解析器将 DNS 查询转发给您管理的 DNS 解析器，例如在您的本地网络上。相比之下，Route 53 Resolver 入站终端节点会将他们从 VPC 外部收到的 DNS 查询转发给在 Outposts 上运行的解析器。它允许您从该私有 Outposts VPC 外部为部署在私有 Outposts VPC 上的服务发送 DNS 查询。有关入站和出站终端节点的更多信息，请参阅 Route 53 文档中的[解析 VPCs 与您的网络之间的 DNS 查询](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-overview-DSN-queries-to-vpc.html)。

# 边缘容量规划
<a name="capacity-planning"></a>

容量规划阶段包括收集部署架构的 vCPU、内存和存储需求。在Well-Ar [chitecte AWS d Framewor](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html) k的成本优化支柱中，调整规模是一个持续的过程，从规划开始。您可以使用 AWS 工具根据内部 AWS的资源消耗来定义优化。

Local Zones 中的边缘容量规划与中的相同 AWS 区域。您应该检查以确保您的实例在每个本地区域中都可用，因为某些实例类型可能与中的类型不同 AWS 区域。对于 Outposts，你应该根据自己的工作量要求来规划容量。Outposts 的插槽中每台主机的实例数是固定的，可以根据需要重新分配。如果您的工作负载需要备用容量，请在规划容量需求时将其考虑在内。

## Outposts 的容量规划
<a name="capacity-outposts"></a>

AWS Outposts 容量规划需要为区域规模调整提供具体的投入，以及影响应用程序可用性、性能和增长的特定边缘因素。有关详细指导，请参阅 AWS 白皮书《*AWS Outposts 高可用性设计和架构注意事项*》中的[容量规划](https://docs.aws.amazon.com/whitepapers/latest/aws-outposts-high-availability-design/capacity-planning.html)。

## Local Zones 的容量规划
<a name="capacity-planning-local-zones"></a>

本地区域是地理位置靠近您的用户的扩展。 AWS 区域 在本地区域中创建的资源可以为本地用户提供延迟极低的通信。要在您的中启用本地区域 AWS 账户，请查看 AWS 文档 AWS Local Zones中的[入门指南](https://docs.aws.amazon.com/local-zones/latest/ug/getting-started.html)。每个本地区域都有不同的插槽可供 EC2 实例系列使用。在使用这些[实例之前，请先验证每个本地区域中的可用实例](https://aws.amazon.com/about-aws/global-infrastructure/localzones/locations/)。要确认可用 EC2 实例，请运行以下 AWS CLI 命令：

```
aws ec2 describe-instance-type-offerings \ 
--location-type "availability-zone" \ 
--filters Name=location,Values=<local-zone-name>
```

预期输出：

```
{
  "InstanceTypeOfferings": [
      {
          "InstanceType": "m5.2xlarge",
          "LocationType": "availability-zone",
          "Location": "<local-zone-name>"
      },
      {
          "InstanceType": "t3.micro",
          "LocationType": "availability-zone",
          "Location": "local.zone-name"
      },
      ...
  ]
}
```

# 边缘基础设施管理
<a name="infrastructure-mgmt"></a>

AWS 提供完全托管的服务，可将 AWS 基础架构 APIs、服务和工具扩展到更靠近最终用户和数据中心的距离。Outposts 和 Local Zones 中提供的服务与中提供的服务相同 AWS 区域，因此您可以使用相同的 AWS 控制台 AWS CLI、或来管理这些服务。 AWS APIs有关支持的服务，请参阅[AWS Outposts 功能比较](https://aws.amazon.com/outposts/)表和[AWS Local Zones 功能](https://aws.amazon.com/about-aws/global-infrastructure/localzones/features/)。

## 在边缘部署服务
<a name="deploying-services"></a>

您可以按照与配置相同的方式在 Local Zones 和 Outposts 中配置可用服务 AWS 区域：使用 AWS 控制台 AWS CLI、或。 AWS APIs区域部署和边缘部署之间的主要区别在于将在哪些子网中配置资源。[边缘网络部分描述了如何在](networking.md) Outposts 和 Local Zones 中部署子网。识别边缘子网后，您可以使用边缘子网 ID 作为参数在 Outposts 或 Local Zones 中部署服务。以下各节提供了部署边缘服务的示例。

### EC2 处于边缘的亚马逊
<a name="ec2-edge"></a>

以下`run-instances`示例在当前区域的边缘子网`m5.2xlarge`中启动同类型的单个实例。如果您不打算在 Linux 上使用 SSH 或在 Windows 上使用远程桌面协议 (RDP) 连接到您的实例，则密钥对是可选的。

```
aws ec2 run-instances \
    --image-id ami-id \
    --instance-type m5.2xlarge \
    --subnet-id <subnet-edge-id> \
    --key-name MyKeyPair
```

### 边缘应用程序负载均衡器
<a name="alb-edge"></a>

以下`create-load-balancer`示例创建内部应用程序负载均衡器，并为指定子网启用 Local Zones 或 Outposts。

```
aws elbv2 create-load-balancer \
    --name my-internal-load-balancer \
    --scheme internal \
    --subnets <subnet-edge-id>
```

要将面向互联网的 Application Load Balancer 部署到 Outpost 上的子网，请在`--scheme`选项中设置`internet-facing`标志并提供 [CoIP 池 ID](https://docs.aws.amazon.com/outposts/latest/userguide/local-rack.html#local-gateway-subnet)，如以下示例所示：

```
aws elbv2 create-load-balancer \
    --name my-internal-load-balancer \
    --scheme internet-facing \
    --customer-owned-ipv4-pool <coip-pool-id>
    --subnets <subnet-edge-id>
```

有关在边缘部署其他服务的信息，请访问以下链接：


| **服务** | **AWS Outposts** | **AWS Local Zones** | 
| --- | --- | --- | 
| Amazon EKS | [在本地部署 Amazon EKS AWS Outposts](https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts.html) | [使用启动低延迟 EKS 集群 AWS Local Zones](https://docs.aws.amazon.com/eks/latest/userguide/local-zones.html) | 
| Amazon ECS | [Amazon ECS 已开启 AWS Outposts](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-on-outposts.html) | [共享子网、本地区域和波长区域中的 Amazon ECS 应用程序](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-regions-zones.html) | 
| Amazon RDS | [亚马逊 RDS 开启 AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) | 选择本地区域子网 | 
| Amazon S3 | [开始在 Outposts 上使用亚马逊 S3](https://docs.aws.amazon.com/AmazonS3/latest/s3-outposts/S3OutpostsGS.html) | 不可用 | 
| Amazon ElastiCache | [将 Outposts 与 ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/ElastiCache-Outposts.html) | [将 Local Zones 与 ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Local_zones.html) | 
| Amazon EMR | [EMR 集群已开启 AWS Outposts](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-outposts.html) | [EMR 集群已开启 AWS Local Zones](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-localzones.html) | 
| Amazon FSx | 不可用 | 选择本地区域子网 | 
| AWS 弹性灾难恢复 | [使用 AWS 弹性灾难恢复 和 AWS Outposts](https://docs.aws.amazon.com/drs/latest/userguide/outposts.html) | 不可用 | 
| AWS Application Migration Service | 不可用 | 选择本地区域子网作为暂存子网 | 

## 前哨基地专用的 CLI 和 SDK
<a name="cli-sdk"></a>

AWS Outposts 有两组命令，分别 APIs 用于创建服务订单或操纵本地网关和本地网络之间的路由表。

### Outposts 订购流程
<a name="outposts-ordering-process"></a>

你可以使用[AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/outposts/index.html)或 Outposts APIs 来创建 [Outp](https://docs.aws.amazon.com/outposts/latest/APIReference/API_Operations.html) osts 站点、创建 Outposts 和创建 Outposts 订单。我们建议您在 AWS Outposts 订购过程中与混合云专家合作，以确保根据您的实施需求正确选择资源 IDs 和最佳配置。有关完整的资源 ID 列表，请参阅[AWS Outposts 机架定价](https://aws.amazon.com/outposts/rack/pricing/)页面。

### 本地网关管理
<a name="lgw-management"></a>

管理和操作 Outposts 中的本地网关 (LGW) 需要了解可用于 AWS CLI 此任务的和 SDK 命令。除其他任务外， AWS CLI 您可以使用和创建和修改 LGW 路由。 AWS SDKs 有关管理 LGW 的更多信息，请参阅以下资源：
+ [AWS CLI 适用于亚马逊 EC2](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/index.html)
+ EC2.Client 在 [AWS SDK for Python (Boto)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html)
+ Ec2Client 在 [适用于 Java 的 AWS SDK](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/ec2/Ec2Client.html)

### CloudWatch 指标和日志
<a name="cloudwatch-metrics"></a>

为 AWS 服务 此，Outposts 和 Local Zones 均可用，指标和日志的管理方式与区域相同。亚马逊 CloudWatch 提供了专门用于监控 Outposts 的以下维度的指标：


| **维度** | **说明** | 
| --- | --- | 
| `Account` | 使用容量的账户或服务 | 
| `InstanceFamily` | 实例系列 | 
| `InstanceType` | 实例类型 | 
| `OutpostId` | 前哨基地的 ID | 
| `VolumeType` | EBS 卷类型 | 
| `VirtualInterfaceId` | 本地网关或服务链路虚拟接口 (VIF) 的 ID | 
| `VirtualInterfaceGroupId` | 本地网关 VIF 的 VIF 组的 ID | 

有关更多信息，请参阅 Outp [osts 文档中的 Outposts 机架CloudWatch 指标](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-cloudwatch-metrics.html)。