EC2“弹性IP”和“IPv4公共IP”之间的区别

时间:2017-05-29 20:27:54

标签: amazon-web-services amazon-ec2

我想了解分配给EC2实例的弹性IP IPv4公共IP 之间的区别及其重要性。

我一直在尝试从我在新VPC中创建的新公共子网内启动的EC2实例连接到Internet。我创建了一个新的Internet网关,一个新的路由表,一个新的网络ACL和一个新的安全组,并对它们进行了适当的配置。

但是,我无法从EC2实例连接到Internet,即使我能够远程连接到它。

通过互联网论坛,我了解到,对于从公有子网连接到Internet的EC2实例,该实例应该具有弹性IP。我创建的实例有 IPv4公共IP ,但不是弹性IP。有人可以解释是否需要弹性IP

以下是复制此问题的步骤:

  1. 创建新的VPC(服务 - >网络和内容交付 - > VPC - >虚拟私有云 - >您的VPC)。
    IPv4 CIDR:10.0.0.0/16。
    设置编辑DNS主机名 - >是。
  2. 在上面的VPC中创建一个新的子网(虚拟私有云 - >子网) IPv4 CIDR:10.0.0.0/24。
    设置修改自动分配IP设置 - >启用自动分配公共IPv4地址。
  3. 创建新的Internet网关(虚拟私有云 - > Internet网关)。 附加到VPC 并选择新的VPC。
  4. 创建新的路由表(虚拟私有云 - >路由表)并将其与新的VPC相关联 路线标签 - >编辑 - >添加另一条路线 - >目的地:0.0.0.0/0和目标:Internet网关上方 子网关联 - >助理 - >选择之前创建的新子网 - >保存。
  5. 创建新的网络ACL(虚拟私有云 - >安全性 - >网络ACL)并将其与新的VPC相关联。
    入站规则 - >编辑 - >
    规则#类型协议端口范围源允许/拒绝
    100 SSH(22)TCP(6)22 0.0.0.0/0允许
    200 HTTP(80)TCP(6)80 0.0.0.0/0允许
    300 HTTPS(443)TCP(6)443 0.0.0.0/0允许

    出站规则 - >编辑 - >
    规则#类型协议端口范围源允许/拒绝
    100 ALL ALL ALL ALL 0.0.0.0/0 ALLOW

    子网关联 - >与新子网相关联 - >保存

  6. 创建新的安全组(虚拟私有云 - >安全 - >安全组)并将其与新的VPC关联。
    入站规则 - >编辑 - >
    类型协议端口范围源
    HTTP(80)TCP(6)80 0.0.0.0/0
    SSH(22)TCP(6)22 0.0.0.0/0
    HTTPS(443)TCP(6)443 0.0.0.0/0

    出境规则(无变更,如下)
    类型协议端口范围源
    ALL Traffic ALL ALL 0.0.0.0/0

  7. 启动新的Ubuntu Server 16.04 LTS EC2实例 配置实例 - >网络 - >新建/创建的VPC
    配置实例 - >子网 - >新建/创建的子网(自动选择)
    配置安全组 - >选择现有的安全组 - >新建/创建的安全组 - >审核并启动 在EC2实例说明中,Elastic IPs将为空,并且IPv4 Public IP将被填充(这种差异导致了我的问题)。
  8. 使用login登录到新的Ubuntu EC2实例:ubuntu 运行$ sudo apt-get update并且没有回复。
  9. 我不确定EC2实例需要做什么才能访问互联网,或者我犯了哪个错误。由于实例位于VPC的公共子网中,我不认为将其移至私有子网并通过NAT连接将是一个不错的选择。我想要的只是从EC2实例直接连接到Internet。

    (感谢John提供格式化帮助以及所有回复的人)

2 个答案:

答案 0 :(得分:2)

如果要在停止/启动后保留IP,则需要弹性IP。如果实例没有弹性IP,则在停止/启动后将获得新的IP。

在您的情况下,您应该能够连接到互联网。您是否修改了安全组的默认出站规则?如果没有,请发布traceroutelft的输出,这将说明问题所在。

您是手动创建VPC还是使用VPC向导?如果您使用VPC Wizard,则会自动设置所有内容。

答案 1 :(得分:1)

就您的问题而言,相对于IpV4 Public IP,添加弹性IP的次数并不多。最后,两者都是IP。

同意@helloV提到的内容

我建议你重新审视你的双向互联网网关配置。并阅读VPC(Internet网关配置)