了解网络设计

在没有使用默认参数进行适当规划的情况下构建的 OCI 网络基础设施组件(例如 VCN、子网和网关)可能会导致部署后出现问题,这很难解决。精心规划的网络设计有助于成功实施,使您的团队和组织易于使用。

尽早进行网络设计

在部署之前完全设计您的网络,以便您尽早发现问题并消除成功部署的障碍。虽然以后可以更改一些 OCI 网络设计元素,但这可能需要大量工作,并会暂时中断业务流。

Oracle 建议您采用以下 OCI 网络设计:

  1. 规划合适的时间,并在项目计划中分配足够的资源来正确设计 OCI 网络。
  2. 包括布局、拓扑、VCN 和子网的大小调整、域名服务 (Domain Name Service,DNS) 以及与内部部署或其他 CSP 的任何外部网络连接。
  3. 考虑与您的 Oracle 客户团队合作,了解 Oracle 是否可以提供 OCI 网络专家来帮助您。

下面是网络设计图的示例。

提示:

搜索要用作起点的特定部署的相关参考架构。例如,Oracle 在 Oracle Architecture Center 中为常见 Oracle OCI 部署(例如 Oracle E-Business Suite 、Siebel 和 ExaCS)提供了许多参考架构。

考虑 Hub-and-Spoke VCN 设计

对于大多数 OCI 部署,Oracle 的优秀实践和建议是利用 DRG 进行连接,在中心和辐条拓扑中使用多个 VCN 设计。

以下是使用 DRG 的多个 VCN 中心和辐条式设计的优势:

  • 隔离和细分不同的环境。
  • 在中心 VCN 内提供所有分支 VCN 可以共享的公共服务,例如日志服务器、DNS、文件共享。
  • DRG 可帮助您轻松扩展网络,至多可连接 300 个 VCN。通过中心辐射型 VCN 设计,可以轻松地添加其他 VCN。
  • 将网络安全设备(如防火墙)放置在中心 VCN 中,以检查发往分支 VCN 或源自分支 VCN 的流量。

下图显示了使用集线器和辐条网络体系结构的示例:

Oracle 建议执行以下操作:

  • 确定划分不同网络环境的方式和位置,并考虑将每个环境放入自己的 VCN 中。以下是为环境使用单独 VCN 的常见客户示例:
    • 生产环境和非生产环境
    • 内部或外部客户
  • 如果您有一个非常简单或小的 OCI 部署,例如概念验证 (POC),并且不需要此处讨论的任何优势,则使用单个 VCN 是一种很好的方法。即使使用单个 VCN,将来也始终可以将环境放置到其他 VCN 中,以便利用这些建议。

使用标准 OCI 命名约定

在 OCI 中预配必要的网络资源(例如 VCN、子网、安全列表和动态路由网关 (Dynamic Routing Gateways,DRG) 时,系统将提示您输入资源名称。对 OCI 资源使用标准命名约定可帮助您和其他 OCI 用户了解资源的用途和位置,并指明资源与其他资源的区别。

其中一些资源名称可以稍后更改,但有些资源名称不能更改,例如 DNS 标签。必须使用命令行界面 (command-line interface,CLI) 更改 VCN 名称等其他名称。

Oracle 建议执行以下操作:

  1. 在名称的某个位置使用描述性缩写来描述资源的用途。例如:
    • vcn VCN 名称中的某个位置(VCN 名称:vcn-prod-ashburn
    • drg 在 DRG 名称中的某个位置(DRG 名称:drg-ashburn
    • sl 安全列表名称中的某个位置(安全列表名称:web-sn-sl
  2. 确保 OCI 网络资源命名约定是整个 OCI 资源命名约定的一部分。
  3. 考虑使用标记向资源添加元数据信息。

使用 OCI 专用 DNS 设计混合 DNS

OCI 的默认行为仅限于使用 oraclevcn.com 作为默认域对 VCN 执行内部 DNS 解析。这可能会导致以后出现连接问题,因为您无法解析其他 VCN 或内部部署环境中资源的 DNS 名称。

OCI 专用 DNS 服务支持在 OCI 与本地部署基础设施之间无缝解析 DNS:

  • 在 VCN 中创建和维护定制 DNS 域和记录(例如 oci.customer.com)。
  • 将跨 VCN 的 DNS 解析与内部部署 DNS 以及其他环境(例如 CSP 或可信合作伙伴 DNS)集成。

Oracle 建议执行以下操作:

  • 在早期的网络设计中包括 DNS,并让 DNS 管理员参与进来。
  • 考虑您希望无缝解析 DNS 名称的所有环境(内部部署环境、OCI VCN、其他 CSP 等),并使用 OCI 专用 DNS 启用混合 DNS 解决方案。
  • 请提前考虑警告并确定要继续执行的方向。确定是要使用默认 oraclevcn.com 域名还是定制域名。

下图显示了使用专用 DNS 解析器解析具有定制域名的本地内部资源的定制域名的示例体系结构:

下面介绍了 architecture-deploy-private-dns.png
插图 architecture-deploy-private-dns.png 的说明

提示:

使用定制 OCI 域名时,需要手动管理定制区域和记录。默认 oraclevcn.com 为自动。

在预配之前决定子网类型

VCN CIDR 必须细分为一个或多个子网来组织资源。子网可以是特定于区域或可用性域 (Availability Domain,AD) 的子网,也可以是公共子网或专用子网。

以后无法更改有关区域与 AD 特定子网以及公共与专用子网的决定。在初始预配时,请确保这些属性是正确的,以便以后尽可能减少中断和复杂性。

Oracle 建议执行以下操作:

  • 在创建公共子网或专用子网之前,请先确定它们。考虑潜在的流量流以及流量来源或目的地。
  • 将对入站互联网连接有特定要求的资源放在公共子网中,并将所有其他资源放在专用子网中。
  • 预配区域子网,除非您需要使用特定于 AD 的子网。

提示:

要稍后进行更改,必须终止子网,然后重新预配子网。还必须终止在子网中部署的资源,然后重新预配新子网中的资源。

设计和调整子网大小

设计子网并调整其大小,以满足当前和未来的要求。在设计期间适当调整 VCN 和子网的大小将有助于:

  • 为未来的增长和扩张做好准备
  • 使用连续且可汇总的 IP 寻址空间来简化 IP 分配

Oracle 建议执行以下操作:

  • 创建 VCN 之前,根据您计划在 VCN 中部署的资源和子网数确定所需的 CIDR 块数和每个块的大小。
  • 确保允许子网和 VCN 内部出现一定量的未来增长。
  • 最好倾向于创建大于太小的 CIDR。
  • 您可以向 VCN 添加多达五个 CIDR,但是,以后再添加更多 CIDR 以适应增长可能会导致不连续的 CIDR,具体取决于您的 IP 地址分配。
    • 例如,您为 VCN 分配了 10.0.0.0/24 以开始测试工作负载。测试成功后,如果要将工作负载扩展到更多 VM,则需要更多 IP 和子网。但是,下一个 IP 块 10.0.1.0/24 在您的 IP 地址工具中分配了其他用途。因此,您不得不将非连续 CIDR 添加到 VCN。
  • 如果可能,请使用标准 RFC 1918 专用 IP 地址空间内的 CIDR 块。
  • 避免使用 169.254.0.0/16 IP 地址空间。许多提供商(包括 Oracle)在其网络中使用相同的 IP 空间,这可能会导致问题。
  • 选择与任何其他网络(在 OCI、内部部署数据中心或其他 CSP 中)不重叠的唯一 CIDR 块。
  • 设计子网时,请考虑流量和安全要求。将特定层或角色中的所有资源连接到同一子网。

使用每个子网的定制路由表和安全列表

预配子网时,系统会提示您选择要用于每个子网的 VCN 路由表和安全列表。

OCI 提供默认路由表和默认安全列表,如果使用,则与与其关联的所有子网共享。对于包含多个子网的生产设计,使用默认选项有利于简单部署或快速入门,但不是推荐的方法。使用特定于每个子网的 VCN 路由表和安全列表,您可以对各个子网维护细粒度的路由和安全控制,而不必让他们共享这些资源。

例如:

  • 您可能希望专用子网具有到 NAT 网关的默认路由,而公共子网具有到互联网网关的默认路由,因此需要使用单独的 VCN 路由表。
  • 您可能希望允许特定流量流向一个子网,但不允许流向另一个子网,这需要有单独的安全列表

Oracle 建议执行以下操作:

  • 为每个子网创建和关联唯一的 VCN 路由表
  • 为每个子网创建和关联唯一的安全列表

提示:

预配子网时,可以创建和关联这些唯一的 VCN 路由表和安全列表,因为以后相比默认路由表和安全列表,更改起来会更加困难。