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 便已如下图所示配置。

创建子网

为您的 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 网关

AWS中的Internet 网关的更多相关文章

  1. aws中的路由表

    参考官方文档: 由表中包含一系列被称为路由的规则,可用于判断网络流量的导向目的地. 在您的 VPC 中的每个子网必须与一个路由表关联:路由表控制子网的路由.一个子网一次只能与一个路由表关联,但您可以将 ...

  2. 腾讯云VS AWS :云存储网关性能谁更优?

    p { text-indent: 2em }    随着企业规模的扩大及业务的扩展,现有IT基础设施特别是存储设备无法满足爆炸性的数据增长,企业 IT 部门为了解决该问题,往往面临市场上多种存储产品及 ...

  3. AWS中,如果使用了ELB,出现outofservice

    平台:亚马逊AWS EC2 出现状况: 我创建了弹性平衡负载,也注册了实例,但是实例的状态一直是outofservice.为什么? 为什么会出现这个问题呢? 1:实例有问题: 2:负载平衡器创建的有问 ...

  4. 在远程桌面服务中配置RD网关直接访问内网

    原文地址:http://wangchunhai.blog.51cto.com/225186/1139388/ 远程桌面网关(RD 网关)是一项角色服务,使授权远程用户可以从任何连接到 Internet ...

  5. 在AWS中创建NAT节点

    NAT, Network Address Translation,即网络地址转换.当内部网络的主机想要访问外网,但是又不想直接暴露给公网,可以通过NAT节点来访问外网.这样做有两个好处,第一是内网的主 ...

  6. 在AWS中部署OpenShift平台

    OpenShift是RedHat出品的PAAS平台.OpenShift做为PAAS平台最大的特点是它是完全容器化的PAAS平台,底层封装了Docker和Kubernetes,上层暴露了对开发者友好的接 ...

  7. 谈谈微服务中的 API 网关(API Gateway)

    前言 又是很久没写博客了,最近一段时间换了新工作,比较忙,所以没有抽出来太多的时间写给关注我的粉丝写一些干货了,就有人问我怎么最近没有更新博客了,在这里给大家抱歉. 那么,在本篇文章中,我们就一起来探 ...

  8. 微服务中的 API 网关(API Gateway)

    API 网关(API Gateway)提供高性能.高可用的 API 托管服务,帮助用户对外开放其部署在 ECS.容器服务等云产品上的应用,提供完整的 API 发布.管理.维护生命周期管理.用户只需进行 ...

  9. 服务中的 API 网关(API Gateway)

    我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 Rest Api ...

随机推荐

  1. Codeforces Round #466 (Div. 2) 题解

    人生中第三次\(CF\)... 考试中切了\(A\)~\(E\) \(F\)题会做没时间写 题解 A:Points on the line 题意 给定一个数列,删最小的数,使最大差不大于一个定值 So ...

  2. 《Master Bitcoin》学习笔记02——比特币的交易模型

    比特币的交易模型 模型基本描述 前面一篇学习笔记01提到了一个交易模型(第三章的内容),在第五章中,除了对这个模型做个详细介绍之外,其实和我上一篇理解的交易模型差不多,一个交易包含输入与输出,比特币是 ...

  3. 笔记:基于DCNN的图像语义分割综述

    写在前面:一篇魏云超博士的综述论文,完整题目为<基于DCNN的图像语义分割综述>,在这里选择性摘抄和理解,以加深自己印象,同时达到对近年来图像语义分割历史学习和了解的目的,博古才能通今!感 ...

  4. js如何开发游戏(聊天篇)

    公司最近有这方面的需求,期望我们能搞出点有趣的小游戏来帮助公司进行推广,公司没有专门做游戏开发的员工,很不幸这件事情掉到了前端头上. 我记得我以前在学习的时候曾经见过一些厉害的前端工程师编写过一些网页 ...

  5. 打印Java异常堆栈信息

    背景 在开发Java应用程序的时候,遇到程序抛异常,我们通常会把抛异常时的运行时环境保存下来(写到日志文件或者在控制台中打印出来).这样方便后续定位问题. 需要记录的运行时环境包含两部分内容:抛异常时 ...

  6. token的时限多长才合适?

    在使用JWT时,一个让人纠结的问题就是"Token的时限多长才合适?".对此,Stormpath的这篇文章给出了一个可供参考的建议: 面对极度敏感的信息,如钱或银行数据,那就根本不 ...

  7. 22.jQuery(实例)

    1.开关灯效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  8. oracle 12c 安装指南(各种问题总结)

    下一学期要学习数据库的知识,趁着敲代码之余,安装著名的oracle来放松一下 1.首先从官网下载安装包http://www.oracle.com/technetwork/database/enterp ...

  9. HandsonTable日期控件的汉化

    由于项目的需要,想把HandsonTable自带的日期中英文替换成中文.其实这个不难,只要在库文件中替换下就可以了,替换的效果对比如下:         如果有需要的同学,可以在此处下载 By QJL

  10. DataX通过纯Java代码启动

    DataX是阿里巴巴团队开发的一个很好开源项目,但是他们对如何使用只提供了python命令启动方式,这种方式对于只是想简单的用下DataX的人来说很是友好,仅仅需要几行代码就可以运行,但是如果你需要在 ...