网络基础知识

入门指南

简介

如果你刚开始接触云网络,可能会觉得有些不知所措。特别是如果您已经习惯了使用传统的本地方式预配硬件以及管理和配置网络。充分了解 IP 寻址、TCP 通信、IP 路由、安全性和虚拟化等核心网络概念将有助于您开始熟悉 AWS 上的云网络。在以下部分中,我们将回答有关云网络的常见问题并探索关于在 AWS 上构建基础设施的最佳实践。

  • 与传统的本地网络类似,通过云网络,可以跨所有云环境以及分布式云和边缘站点构建、管理、操作和安全连接网络。云网络支持构建具有弹性和高可用性的基础设施,可帮助您根据需要更快、大规模地部署应用程序,并部署在离终端用户更近的位置。

  • 当您打开网站或使用应用程序时,数据和请求需要从您的计算机或手机传输到托管网站或应用程序的服务器,然后再传输回。这通常通过组合使用不同的媒体来完成,例如通过 Wi-Fi 传输到家里的路由器,再通过光纤、电缆、ADSL、5G 等方式传输到 ISP。到达 ISP 后,又连接到更大的网络。有时候,您的数据很可能通过众多海底光缆中的一条传输。光速决定了通过这些电缆可能达到的最快速度,从而限制了最快的响应速度,电缆内部的光在传播时也会从侧面反射,因此传播的总距离比电缆本身要长。例如,日本和美国西海岸之间的一条电缆全长 21,000km,这意味着以 299,792,458 米/秒的速度传播的光需要约 70 毫秒才能穿过电缆全长,由于多次调用来回进行,这会减慢网站或应用程序的速度。在极端情况下,所用时间可能会长得多,不仅是因为传输的距离,还因为沿途各点之间会出现网络拥塞,响应需要数秒才能完成。

    通过云服务,您可以在数分钟内完成新地理区域的扩展和全球部署。例如,由于 AWS 的基础设施遍布全球,开发人员只需轻点几下鼠标便能实现在多个物理位置部署应用程序。将应用程序部署在离终端用户更近的位置,可减少延迟并改善用户体验。

    AWS 云基础设施围绕 AWS 区域和可用区而建。区域是指全球范围内的某个物理位置,每个区域由多个可用区组成。一个可用区由一个或多个分散的数据中心组成,每个数据中心都有冗余电源、网络和连接,位于单独的设施中。可用区能够提高生产应用程序和数据库的运行效率,使其比单个数据中心具有更强的可用性、容错能力以及可扩展性。

    AWS 全球基础设施讲解视频 | Amazon Web Services
  • 使用 Amazon Virtual Private Cloud (Amazon VPC),可以预配 AWS 云的逻辑隔离部分,然后可以在其中通过定义的虚拟网络启动 AWS 资源。您可以完全控制虚拟网络环境,包括选择自己的 IP 地址范围、创建子网以及配置路由表和网络网关。您还可以在公司数据中心和 VPC 之间创建硬件虚拟专用网络 (VPN) 连接,这样可以将两者之间的服务器连接起来,就像在同一个网络中一样。

    您可以根据自己的需求,轻松自定义 VPC 的网络配置。VPC 跨越整个区域,使用子网指定区域内可用区中的 IP 地址范围,分配给虚拟机和其他服务。例如,您可以为 Web 服务器创建一个公有子网以便能够访问互联网,而将后端系统(如数据库或应用程序服务器)放置在无法访问互联网的私有子网中。您可以使用多层安全措施(包括安全组和网络访问控制列表),帮助控制对每个子网中 Amazon EC2 实例的访问。
    以下功能可帮助您配置 VPC,以提供应用程序所需的连接:

    功能 说明
    VPC VPC 是一种虚拟网络,与您在自己的数据中心中运行的传统网络非常相似。创建 VPC 后,可以添加子网。
    子网 子网是 VPC 中的 IP 地址范围。一个子网必须位于一个可用区中。添加子网后,可以在 VPC 中部署 AWS 资源。
    IP 寻址 可以将 IPv4 地址和 IPv6 地址分配给您的 VPC 和子网。还可以将公有 IPv4 和 IPv6 GUA(全球单播地址)带到 AWS,并将其分配给 VPC 中的资源,例如 EC2 实例、NAT 网关和网络负载均衡器。
    路由 使用路由表确定来自子网或网关的网络流量定向到的位置。
    网关和端点 网关用于将您的 VPC 连接到另一个网络。例如,使用互联网网关将您的 VPC连接到互联网。使用 VPC 端点以私有方式连接 AWS 服务,而无需使用互联网网关或 NAT 设备。
    对等连接 使用 VPC 对等连接在两个 VPC 中的资源之间路由流量。
    流量监控 从网络接口复制网络流量,并将其发送到安全和监控设备进行深度数据包检查。
    中转网关 使用中转网关(充当中央集线器)在您的 VPC、VPN 连接和 AWS Direct Connect 连接之间路由流量。
    VPC 流日志 流日志用于记录 VPC 中进出网络接口的 IP 流量信息。
    VPN 连接 使用 AWS 虚拟专用网络 (AWS VPN) 将您的 VPC 连接到本地网络。

    开始使用 Amazon VPC

    您的 AWS 账户在每个 AWS 区域中都包含一个默认 VPC。默认 VPC 已配置为可以立即启动并连接到 EC2 实例。有关更多信息,请参见 Amazon VPC 入门

  • 通过 VPC,能够完全控制虚拟网络环境,包括资源放置、连接和安全性。首先,在 AWS 管理控制台中设置 VPC。接下来,向其中添加资源,例如,Amazon EC2 和 Amazon Relational Database Service (Amazon RDS) 实例。最后,定义 VPC 如何跨账户、可用区或区域相互通信。

    在 VPC 中,可以同时使用 IPv4 地址和 IPv6 地址。使用 IPv4 时,可以选择并分配 VPC CIDR(无类别域间路由)块,最大大小为 /16,最小大小为 /28。可以使用所拥有的任何公有地址(在选定的区域中)。我们建议使用私有 RFC 1918 地址。为 VPC 分配 CIDR 后,便可以定义子网。子网的大小介于 /16 到 /28 之间,并且受可用区限制。每个 VPC 子网都必须关联一个子网路由表。

    创建子网时,必须将其与主 VPC 路由表相关联。默认情况下,此路由表只包含 VPC 的本地 IPv4 和 IPv6 CIDR。一个子网只能与一个子网路由表相关联。一个路由表可以有多个子网关联。路由表用于控制离开子网的流量。每个子网都有一个 VPC 路由器。VPC 内不存在单个设备。VPC 软件负责执行路由。您可以添加更具体的路由,对东西向流量进行流量筛选。

  • 您可以将 VPC 连接到其他网络,例如,其他 VPC、互联网或您的本地网络。可以将 Amazon VPC 连接到:
    如何连接 说明
    互联网(通过互联网网关) 互联网网关是一个横向扩展、冗余、高度可用的 VPC 组件,用于在 VPC 与互联网之间建立通信。它支持 IPv4 和 IPv6 流量,不会对网络流量带来可用性风险或带宽限制。如果公有子网中的资源(如 EC2 实例)具有公有 IPv4 地址或 IPv6 地址,则可通过互联网网关将该资源连接到互联网。同样,互联网上的资源可以使用公有 IPv4 地址或 IPv6 地址发起与子网中资源的连接。例如,可以通过互联网网关使用本地计算机连接到 AWS 中的 EC2 实例。互联网网关为互联网可路由流量提供了 VPC 路由表中的一个目标。使用 IPv4 进行通信时,互联网网关还执行网络地址转换 (NAT)。使用 IPv6 进行通信时,不需要执行 NAT,因为 IPv6 地址是公有地址。
    您的企业数据中心,使用 AWS Site-to-Site VPN 连接(通过虚拟私有网关) 默认情况下,您在 Amazon VPC 中启动的实例无法与您自己的(远程)网络通信。您可以通过创建 AWS Site-to-Site VPN (Site-to-Site VPN) 连接并将路由配置为通过该连接传输流量,从而从您的 VPC 访问远程网络。 
    注意:将 VPC 连接到公用本地网络时,我们建议对网络使用不重叠 CIDR 块。
    互联网和企业数据中心(同时使用互联网网关和虚拟私有网关) VPC 连接了一个虚拟私有网关,您的本地(远程)网络包括一个客户网关设备,您必须进行配置才能实现 Site-to-Site VPN 连接。您需要设置路由,以便从 VPC 到您网络的任何流量都路由到虚拟私有网关。
    NAT 实例 使用 NAT 实例,私有子网中的资源可以连接到互联网、其他 VPC 或本地网络。这些实例可以与 VPC 之外的服务进行通信,但无法接收未经请求的连接请求。
    NAT 网关 NAT 网关是一种网络地址转换 (NAT) 服务。使用 NAT 网关,私有子网中的实例可以连接到 VPC 之外的服务,但外部服务无法发起与这些实例的连接。创建 NAT 网关时,指定以下连接类型之一:

    公有 –(默认)私有子网中的实例可以通过公有 NAT 网关连接到互联网,但无法接收来自互联网的未经请求的入站连接。您可以在公有子网中创建公有 NAT 网关,并且在创建时必须将弹性 IP 地址与该 NAT 网关相关联。可以将流量从 NAT 网关路由到 VPC 的互联网网关。或者,也可以使用公有 NAT 网关连接到其他 VPC 或本地网络。在这种情况下,您可以通过中转网关或虚拟私有网关路由来自 NAT 网关的流量。

    私有 – 私有子网中的实例可以通过私有 NAT 网关连接到其他 VPC 或本地网络。您可以通过中转网关或虚拟私有网关路由来自 NAT 网关的流量。无法将弹性 IP 地址与私有 NAT 网关相关联。可以使用私有 NAT 网关将互联网网关连接到 VPC,但如果将流量从私有 NAT 网关路由到互联网网关,互联网网关会丢弃流量。

    NAT 网关将实例的源 IP 地址替换为 NAT 网关的 IP 地址。对于公有 NAT 网关,这是 NAT 网关的弹性 IP 地址。对于私有 NAT 网关,这是 NAT 网关的专有 IP 地址。向实例发送响应流量时,NAT 设备会将地址转换回原始源 IP 地址。
    AWS Direct Connect 虽然基于互联网的 VPN 是一种不错的快速上手方式,但对于生产流量而言,互联网连接可能不可靠。许多客户因此选择了 AWS Direct Connect。AWS Direct Connect 是一种网络服务,可替代互联网连接到 AWS。使用 AWS Direct Connect,以前通过互联网传输的数据将通过您的设施与 AWS 之间的私有网络连接传送。在许多情况下,与基于互联网的连接相比,私有网络连接可以降低成本、增加带宽,并提供更一致的网络体验。要了解更多信息,请参见 Building a Scalable and Secure Multi-VPC AWS Network Infrastructure 白皮书。
    其他 Amazon VPC(通过 VPC 对等连接) VPC 对等连接是两个 VPC 之间的一种网络连接,支持在其间以私有方式路由流量。任何一个 VPC 中的实例可以相互通信,就像在同一个网络中一样。您可以在自己的 VPC 之间、与另一个 AWS 账户中的 VPC 或与不同 AWS 区域中的 VPC 创建 VPC 对等连接。AWS 使用 VPC 的现有基础设施创建 VPC 对等连接;既不是网关,也不是 AWS Site-to-Site VPN 连接,并且不依赖于单独的物理硬件。通信不存在单点故障,也没有带宽瓶颈。
  • 可以,假设其他 VPC 的所有者接受您的对等连接请求,您就可以与不同账户中的其他 VPC 建立对等连接。

    VPC 共享

    如果团队之间的网络隔离不需要由 VPC 所有者严格管理,但账户级别的用户和权限必须严格管理,则共享 VPC 将非常有用。通过共享 VPC,多个 AWS 账户可在共享、集中管理的 Amazon VPC 中创建自己的应用程序资源(如 EC2 实例)。在该模型中,拥有 VPC 的账户(所有者)与其他帐户(参与者)共享一个或多个子网。共享子网后,参与者可以在共享的子网中查看、创建、修改和删除自己的应用程序资源。参与者无法查看、修改或删除属于其他参与者或 VPC 所有者的资源。可以使用安全组、网络访问控制列表 (NACL) 或通过在子网之间设置防火墙,管理共享 VPC 中资源之间的安全性。

    AWS PrivateLink 在 VPC、AWS 服务和您的本地网络之间提供私有连接,而不会将您的流量公开到公共互联网上。通过 AWS PrivateLink,可以轻松地跨不同的账户和 VPC 连接服务,从而显著简化您的网络架构。客户可以通过此方式将位于一个 VPC(服务提供商)中的服务/应用程序以私有方式提供给 AWS 区域内的其他 VPC(消费者),且只有消费者 VPC 才能发起与服务提供商 VPC 的连接。例如,您的私有应用程序能够访问服务提供商 API。

    AWS Transit Gateway

    AWS Transit Gateway 使客户能够连接数千个 VPC。您可以将所有混合连接(VPN 和 Direct Connect 连接)连接到单个 Transit Gateway 实例,从而将您组织的整个 AWS 路由配置整合在一起并集中控制。Transit Gateway 使用路由表控制流量在所有连接的分支网络之间的路由。这种中心辐射型模式简化了管理并降低了运营成本,因为 VPC 只连接到 Transit Gateway 实例即可访问连接的网络。

    中转 VPC 解决方案

    中转 VPC 可以弥补 VPC 对等连接的一些不足之处,这种解决方案引入了中心辐射型设计来实现 VPC 间的连接。在中转 VPC 网络中,一个中央 VPC(中心 VPC)通过 VPN 连接(通常使用 BGP over IPsec)与每个其他 VPC(分支 VPC)连接。中央 VPC 包含运行软件设备的 EC2 实例,这些软件设备使用 VPN 覆盖网络将传入流量路由到其目标。中转 VPC 对等连接具有以下优点:

    • 使用 VPN 覆盖网络实现可中转路由,从而简化了中心辐射型设计。
    • 在中心中转 VPC 中的 EC2 实例上使用第三方供应商软件时,可以使用供应商提供的高级安全功能,例如第 7 层防火墙/入侵防御系统 (IPS)/入侵检测系统 (IDS)。如果客户在本地使用相同的软件,他们将享有统一的运营/监控体验。
    • 中转 VPC 架构可实现在某些使用场景中可能需要的连接。例如,可以将 AWS GovCloud 实例和商业区 VPC 或 Transit Gateway 实例连接到中转 VPC,并在两个区域之间建立 VPC 间连接。考虑使用此方法时,请评估您的安全性和合规性要求。要加强安全性,可以使用本白皮书后面介绍的设计模式部署集中式检查模型。

    注意:使用中转 VPC 也会带来一些问题,例如根据实例大小/系列,在 Amazon EC2 上运行第三方供应商虚拟设备的成本更高;每个 VPN 连接的吞吐量有限(每个 VPN 隧道最高 1.25 Gbps);以及额外的配置、管理和恢复开销(客户需要负责管理运行第三方供应商虚拟设备的 EC2 实例的高可用性和冗余性)。

  • 以下最佳实践是一般指导准则,并不代表完整的安全解决方案。这些最佳实践可能对您的环境不适合或不充分,因此请将其视为有益的考虑因素,而不是解放方案。

    • 将子网添加到 VPC 以托管应用程序时,请在多个可用区中创建子网。可用区是一个 AWS 区域中一个或多个具有冗余电源、网络和连接的分散数据中心。使用多个可用区可使您的生产应用程序具有高可用性、容错性和可扩展性。
    • 使用网络 ACL 控制对子网的访问,并使用安全组控制传入子网中 EC2 实例的流量。
    • 使用 AWS Identity and Access Management (IAM) 身份联合验证、用户和角色管理对 Amazon VPC 资源和 API 的访问。
    • 使用 Amazon CloudWatch 和 VPC 流日志监控进出 VPC 中网络接口的 IP 流量。

    有关 VPC 安全性的常见问题解答,请参见 Amazon VPC 常见问题中的 Security and Filtering(安全与筛选)部分。

  • 只含一个公有子网的 VPC

    该方案的配置包括:VPC 只有一个公有子网并使用互联网网关实现互联网通信。如果您需要运行单层、面向公众的 Web 应用程序,如博客或简单网站,则建议使用此配置。也可以选择将此方案配置为使用 IPv6。在公有子网中启动的实例可以接收 IPv6 地址,并使用 IPv6 进行通信。

    VPC 具有公有子网和私有子网 (NAT)

    该方案的配置包括:VPC 既有公有子网也有私有子网。如果您需要运行面向公众的 Web 应用程序,同时维护不可公开访问的后端服务器,则建议使用此方案。一个常见示例是多层网站,即 Web 服务器位于公有子网中,数据库服务器位于私有子网中。可以设置安全性和路由,以便 Web 服务器可以与数据库服务器通信。

    公有子网中的实例可以将出站流量直接发送到互联网,而私有子网中的实例则不能。私有子网中的实例可以通过使用位于公有子网中的网络地址转换 (NAT) 网关访问互联网。数据库服务器可以使用 NAT 网关连接到互联网进行软件更新,但互联网无法与数据库服务器建立连接。

    也可以选择将此方案配置为使用 IPv6。在子网中启动的实例可以接收 IPv6 地址,并使用 IPv6 进行通信。私有子网中的实例可以使用仅出口互联网网关通过 IPv6 连接到互联网,但互联网无法通过 IPv6 与私有实例建立连接。

    VPC 具有公有子网和私有子网,同时支持 AWS Site-to-Site VPN 访问

    此方案的配置包括:VPC 既有公有子网也有私有子网,并使用虚拟私有网关通过 IPsec VPN 隧道与自己的网络进行通信。如果您需要将网络扩展到云,同时直接从 VPC 访问互联网,则建议使用此方案。利用此方案,可以在公有子网中运行具有可扩展 Web 前端的多层应用程序,并将数据存储在私有子网中,且该私有子网通过 IPsec AWS Site-to-Site VPN 连接与您的网络进行连接。

    也可以选择将此方案配置为使用 IPv6。在子网中启动的实例可以接收 IPv6 地址。我们不支持使用虚拟私有网关通过 Site-to-Site VPN 连接进行 IPv6 通信;但是,VPC 中的实例可以通过 IPv6 相互进行通信,公有子网中的实例也可以通过 IPv6 在互联网上进行通信。

    VPC 只有私有子网,同时支持 AWS Site-to-Site VPN 访问

    此方案的配置包括:VPC 只有一个私有子网,并使用虚拟私有网关通过 IPsec VPN 隧道与自己的网络进行通信。没有互联网网关,无法实现互联网通信。如果您需要使用 AWS 基础设施将网络扩展到云,而不将网络与互联网进行连接,则建议使用此方案。

    也可以选择将此方案配置为使用 IPv6。在子网中启动的实例可以接收 IPv6 地址。我们不支持使用虚拟私有网关通过 AWS Site-to-Site VPN 连接进行 IPv6 通信;但是,VPC 中的实例可以通过 IPv6 相互进行通信。

后续步骤

您现在就可以使用 AWS Free Tier 以及我们的实践教程入门指南库在 AWS 上开始构建。

此页内容对您是否有帮助?