AWS中的Internet 网关

nternet 网关是一种横向扩展、支持冗余且高度可用的 VPC 组件,可实现 VPC 中的实例与 Internet 之间的通信。因此它不会对网络流量造成可用性风险或带宽限制。

Internet 网关有两个用途,一个是在 VPC 路由表中为 Internet 可路由流量提供目标,另一个是为已经分配了公有 IP 地址的实例执行网络地址转换 (NAT)。

启用 Internet 访问

要为 VPC 子网中的实例开启 Internet 访问,您必须执行以下操作:

  • 将 Internet 网关连接到 VPC。

  • 确保您的子网的路由表指向 Internet 网关。

  • 确保您的子网中的实例具有公有 IP 地址或弹性 IP 地址。

  • 确保您的网络访问控制和安全组规则允许相关流量在您的实例中流入和流出。

要使用 Internet 网关,子网的路由表必须包含将 Internet 绑定流量定向到该 Internet 网关的路由。您可以将路由范围设定为路由表未知的所有目标 (0.0.0.0/0),也可以将路由范围设定为一个较小的 IP 地址范围,例如,公司在 AWS 以外的公有终端节点的公有 IP 地址,或 VPC 以外的其他 Amazon EC2 实例的弹性 IP 地址。如果您的子网与包含指向 Internet 网关的路由的路由表相关联,该子网就是所谓的公有子网。有关公有子网和私有子网的更多信息,请参阅VPC 和子网基础知识

要使公有子网中的实例能够与 Internet 通信,该实例必须具有与实例上的私有 IP 地址相关联的公有 IP 地址或弹性 IP 地址。实例只了解 VPC 和子网内定义的私有(内部)IP 地址空间。Internet 网关以逻辑方式代表您的实例提供一对一 NAT,这样一来,当流量离开 VPC 子网并流向 Internet 时,回复地址字段将设置为实例的公有 IP 地址或弹性 IP 地址,而不是私有 IP 地址。相反,指定发往实例的公有 IP 地址或弹性 IP 地址的流量会先将其目标地址转换为实例的私有 IP 地址,然后再传输到 VPC。

对默认和非默认 VPC 的 Internet 访问

您的默认 VPC 带有一个 Internet 网关,而且默认情况下,在默认子网内启动的实例会获得一个公有 IP 地址,除非您在启动时指定了地址,或是您修改子网的公有 IP 地址属性。因此,您在默认子网中启动的实例可以自动与 Internet 通信。有关更多信息,请参阅 您的默认 VPC 和子网

启动至非默认子网中的实例不一定能够与 Internet 通信,具体取决于您创建和配置 VPC 的方式。例如,如果您使用 VPC 向导创建 VPC,VPC 向导会根据您选择的选项为 VPC 添加一个 Internet 网关并更新路由表,使您的实例就可以与 Internet 通信。有关使用 VPC 向导以创建有 Internet 网关的子网的更多信息,请参阅场景 1:带单个公有子网的 VPC场景 2:带有公有子网和私有子网 (NAT) 的 VPC。默认情况下,在非默认子网中启动的实例不会获得公有 IP 地址(除非在启动时特意分配一个,或是您修改子网的公有 IP 地址属性),因此无法与 Internet 通信。有关在启动时分配公有 IP 地址的详细信息,请参阅在启动时分配一个公有 IP 地址。有关如何修改子网公有 IP 寻址属性的更多信息,请参阅修改您子网的公有 IP 寻址行为

当您在 VPC 中添加新子网时,您必须为子网设置您需要的路由和安全性。

创建带有 Internet 网关的 VPC

以下部分说明了如何手动创建一个公有子网来支持 Internet 访问。

当您完成子网设置时,您的 VPC 便已如下图所示配置。

使用 Internet 网关

创建子网

为您的 VPC 添加子网

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Subnets,然后选择 Create Subnet。

  3. 在 Create Subnet 对话框中,选择 VPC,选择可用区,指定子网的 CIDR 范围,然后选择 Yes, Create。

有关子网的更多信息,请参阅您的 VPC 和子网

连接 Internet 网关

创建 Internet 网关,并将其连接至您的 VPC

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Internet Gateways,然后选择 Create Internet Gateway。

  3. 在 Create Internet Gateway 对话框中,您可以选择命名您的 Internet 网关,然后选择 Yes, Create。

  4. 选择您刚刚创建的 Internet 网关,然后选择 Attach to VPC。

  5. 在 Attach to VPC 对话框中,从列表中选择您的 VPC,然后选择 Yes, Attach。

创建自定义路由表

当您创建子网时,我们会自动将其与 VPC 的主路由表关联。主路由表在默认情况下不会包含通往 Internet 网关的路径。以下步骤为您演示如何创建自定义路由表,使其中有可以将目标为 VPC 外的数据流发送到 Internet 网关的路由,以及如何将自定义路由表与您的子网相关联。

创建自定义路由表

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Route Tables,然后选择 Create Route Table。

  3. 在 Create Route Table 对话框中,可以选择命名您的路由表,选择您的 VPC,然后选择 Yes, Create。

  4. 选择您刚刚创建的自定义路由表。详细信息窗格中会显示选项卡,以供您使用其路径、关联和路线传播。

  5. 在 Routes 选项卡中,选择 Edit,在 Destination 框中指定 0.0.0.0/0,从 Target 列表中选择 Internet 网关 ID,然后选择 Save。

  6. 在 Subnet Associations 选项卡上,选择 Edit,选中子网的 Associate 复选框,然后选择Save。

有关路由表的更多信息,请参见路由表

更新安全组规则

您的 VPC 带有默认的安全组。您在 VPC 中启动的每项实例都会自动与其默认安全组关联。默认安全组的默认设置不允许来自 Internet 的任何入站数据流量,但允许通往 Internet 的所有出站数据流量。因此,为使您的实例能够与 Internet 通信,您需要创建允许公用实例访问 Internet 的新安全组。

创建新的安全组,并将其与您的实例关联

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Security Groups,然后选择 Create Security Group。

  3. 在“Create Security Group”对话框中,为您的安全组指定名称和描述。从 VPC 列表中选择您的 VPC 的 ID,然后选择 Yes, Create。

  4. 选择安全组。详细信息窗格内会显示此安全组的详细信息,以及可供您使用入站规则和出站规则的选项卡。

  5. 在 Inbound Rules 选项卡上,选择 Edit。选择 Add Rule,然后填写所需信息。例如,从Type (类型) 列表中选择 HTTP 或 HTTPS,然后为 Source (源) 输入 0.0.0.0/0。完成此操作后,选择 Save。

  6. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  7. 在导航窗格中,选择 Instances。

  8. 依次选择实例、Actions、Networking 和 Change Security Groups。

  9. 在 Change Security Groups (更改安全组) 对话框中,清除当前所选安全组的复选框,然后选中一个新的复选框。选择 Assign Security Groups。

有关安全组的更多信息,请参阅 您的 VPC 的安全组

添加弹性 IP 地址

当您在子网中启动实例之后,若您希望可以从 Internet 中访问该实例,则必须为其分配一个 Internet.

Note

如果您在启动过程中向您的实例分配了公有 IP 地址,则您的实例可从 Internet 进行访问,您无需向它分配弹性 IP 地址。想要了解更多有关您实例的 IP 寻址的信息,请参阅 您的 VPC 中的 IP 地址

使用控制台分配弹性 IP 地址并将其分配给一个实例

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Elastic IPs。

  3. 选择 Allocate New Address。

  4. 选择 Yes, Allocate。

    Note

    如果您的账户支持 EC2-Classic,请首先从 Network platform 列表中选择 EC2-VPC。

  5. 从列表中选择弹性 IP 地址,选择 Actions,然后选择 Associate Address。

  6. 在 Associate Address (关联地址) 对话框的 Associate with (关联对象) 列表中选择 Instance (实例) 或 Network Interface (网络接口),然后选择实例或网络接口 ID。从 Private IP address 列表中选择要与弹性 IP 地址关联的私有 IP 地址,然后选择 Yes, Associate。

有关弹性 IP 地址的更多信息,请参阅弹性 IP 地址

将 Internet 网关与您的 VPC 断开

如果您不再需要通过 Internet 访问在非默认 VPC 中启动的实例,则可将 Internet 网关与 VPC 断开。如果该 VPC 的某些实例具有关联的弹性 IP 地址,则无法断开 Internet 网关。

断开 Internet 网关

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Elastic IPs。

  3. 依次选择 IP 地址、Actions 和 Disassociate Address。选择 Yes, Disassociate。

  4. 在导航窗格中,选择 Internet Gateways。

  5. 选择相应的 Internet 网关,然后选择 Detach from VPC。

  6. 在 Detach from VPC 对话框中,选择 Yes, Detach。

删除 Internet 网关

若您不再需要某一 Internet 网关,则可将其删除。您无法删除仍与 VPC 关联的 Internet 网关。

删除 Internet 网关

  1. 打开 Amazon VPC 控制台 https://console.amazonaws.cn/vpc/

  2. 在导航窗格中,选择 Internet Gateways。

  3. 选择相应的 Internet 网关,然后选择 Delete。

  4. 在 Delete Internet Gateway 对话框中,选择 Yes, Delete。

API 和命令概览

您可以使用命令行或 API 执行此页面上所说明的任务。有关命令行接口的更多信息以及可用 API 操作的列表,请参阅访问 Amazon VPC

创建 Internet 网关

将 Internet 网关附加到 VPC

说明 Internet 网关

从 VPC 断开 Internet 网关

删除 Internet 网关

原文地址:https://www.cnblogs.com/mrchige/p/5916674.html