

# REL02-BP03 确保 IP 子网分配考虑扩展和可用性
<a name="rel_planning_network_topology_ip_subnet_allocation"></a>

 Amazon VPC IP 地址范围必须足够大，能够满足工作负载要求，包括考虑未来的扩展以及跨可用区为子网分配 IP 地址。这包括负载均衡器、EC2 实例和基于容器的应用程序。

 当您规划网络拓扑时，第一步是定义 IP 地址空间本身。应（按照 RFC 1918 准则）为每个 VPC 分配私有 IP 地址范围。作为此流程的一部分，要满足以下要求：
+ 在每个区域中为多个 VPC 留出 IP 地址空间。
+ 在 VPC 内，为多个子网留出空间，这样您就可以跨多个可用区。
+ 请考虑在 VPC 内保留未使用的 CIDR 块空间以用于未来扩展。
+ 确保 IP 地址空间足以满足可能使用的任何 Amazon EC2 实例临时性队列的需求，如适用于机器学习的竞价型实例集、Amazon EMR 集群或 Amazon Redshift 集群。若是 Amazon Elastic Kubernetes Service（Amazon EKS）等 Kubernetes 集群，也应考虑这些因素。因为默认情况下，每个 Kubernetes 容器组（pod）都会从 VPC CIDR 块中分配一个可路由的地址。
+ 注意，每个子网 CIDR 块中的前四个 IP 地址和最后一个 IP 地址将被预留，无法供您使用。
+ 注意，最初被分配到您 VPC 的 VPC CIDR 块无法被更改或删除，但可以向 VPC 添加额外的非重叠的 CIDR 块。虽然无法更改子网 IPv4 CIDR，但可以更改 IPv6 CIDR。
+ 可以使用的最大 VPC CIDR 块为 /16，最小为 /28。
+ 考虑其他互联网络（VPC、本地部署或其他云提供商），并确保 IP 地址空间不重叠。有关更多信息，请参阅 [REL02-BP05 在互相连接的所有私有地址空间中强制实施非重叠的私有 IP 地址范围。](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_network_topology_non_overlap_ip.html)

 **期望结果：**可扩展的 IP 子网有助于您适应未来的增长，并避免不必要的浪费。

 **常见反模式：**
+ 没有考虑未来的增长，导致 CIDR 块过小且需要重新配置，这可能会造成停机。
+ 错误估计弹性负载均衡器可以使用的 IP 地址数量。
+ 在相同子网中部署多个高流量负载均衡器。
+ 使用自动扩缩机制，但未能监控 IP 地址使用情况。
+ 定义过大的 CIDR 范围，远远超出未来的增长预期，这会导致地址范围重叠，难以与其他网络建立对等连接。

 **建立此最佳实践的好处：**这可确保您能适应工作负载增长要求，并在纵向扩展过程中继续提供可用性。

 **在未建立这种最佳实践的情况下暴露的风险等级：**中 

## 实施指导
<a name="implementation-guidance"></a>

规划您的网络以适应增长、符合监管合规性以及实现与其他服务的集成。如果没有合理的规划，则增长可能会被低估、监管合规性可能会发生变化并且购置或私有网络连接可能难以实施。
+  根据您服务、延迟、法规和灾难恢复（DR）要求，选择相关 AWS 账户 和区域。
+  确定对区域 VPC 部署的需求。
+  确定 VPC 的大小。
  +  确定是否要部署多 VPC 连接。
    +  [What Is a Transit Gateway?](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html)
    +  [Single Region Multi-VPC Connectivity](https://aws.amazon.com/answers/networking/aws-single-region-multi-vpc-connectivity/) 
  +  确定是否需要隔离网络来满足法规要求。
  + 使用适当大小的 CIDR 块创建 VPC，满足当前和未来的需求。
    + 如果增长预测不明朗，则可能需要偏向更大的 CIDR 块，降低未来重新配置的可能性
  + 在双堆栈 VPC 中，考虑对子网使用 [IPv6 寻址](https://aws.amazon.com/vpc/ipv6/)。IPv6 非常适合用于包含大量临时实例集或临时容器集的私有子网，因此需要大量 IPv4 地址。

## 资源
<a name="resources"></a>

 **相关的 Well-Architected 最佳实践：**
+  [REL02-BP05 在互相连接的所有私有地址空间中强制实施非重叠的私有 IP 地址范围](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_network_topology_non_overlap_ip.html) 

 **相关文档：**
+  [APN 合作伙伴：可帮助规划联网的合作伙伴](https://aws.amazon.com/partners/find/results/?keyword=network) 
+  [AWS Marketplace for Network Infrastructure](https://aws.amazon.com/marketplace/b/2649366011) 
+  [Amazon Virtual Private Cloud Connectivity Options 白皮书](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/introduction.html) 
+  [多数据中心 HA 网络连接](https://aws.amazon.com/answers/networking/aws-multiple-data-center-ha-network-connectivity/) 
+  [Single Region Multi-VPC Connectivity](https://aws.amazon.com/answers/networking/aws-single-region-multi-vpc-connectivity/) 
+  [什么是 Amazon VPC？](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) 
+  [ 上的 IPv6AWS](https://aws.amazon.com/vpc/ipv6) 
+  [IPv6 on reference architectures](https://d1.awsstatic.com/architecture-diagrams/ArchitectureDiagrams/IPv6-reference-architectures-for-AWS-and-hybrid-networks-ra.pdf) 
+  [Amazon Elastic Kubernetes Service launches IPv6 support](https://aws.amazon.com/blogs/containers/amazon-eks-launches-ipv6-support/) 
+ [Recommendations for your VPC - Classic Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-backend-instances.html#set-up-ec2)
+ [Availability Zone subnets - Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#availability-zones)
+ [Availability Zones - Network Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#availability-zones)

 **相关视频：**
+  [AWS re:Invent 2018: Advanced VPC Design and New Capabilities for Amazon VPC (NET303)](https://youtu.be/fnxXNZdf6ew) 
+  [AWS re:Invent 2019: AWS Transit Gateway reference architectures for many VPCs (NET406-R1)](https://youtu.be/9Nikqn_02Oc) 
+  [AWS re:Invent 2023: AWS Ready for what's next? Designing networks for growth and flexibility (NET310)](https://www.youtube.com/watch?v=FkWOhTZSfdA) 