管理 EC2 实例的 IPv4 地址 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

管理 EC2 实例的 IPv4 地址

您可以在启动实例时为其分配公有 IPv4 地址。您可以在控制台中通过 Instances(实例)或 Network Interfaces(网络接口)页面查看实例的 IPv4 地址。

查看 IPv4 地址

您可以使用 Amazon EC2 控制台查看实例的公有和私有 IPv4 地址。您还可以通过使用实例元数据,从实例内确定实例的公有 IPv4 地址和私有 IPv4 地址。有关更多信息,请参阅使用实例元数据管理 EC2 实例

公有 IPv4 地址在控制台中显示为网络接口的属性,但它通过 NAT 映射到主要私有 IPv4 地址。因此,如果您检查实例网络接口的属性 (例如,通过 ifconfig [Linux] 或 ipconfig [Windows]),则不会显示公有 IPv4 地址。要从实例确定您的实例的公有 IPv4 地址,请使用实例元数据。

使用命令行查看实例的 IPv4 地址

您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

使用实例元数据确定实例的 IPv4 地址
  1. 连接到您的实例。有关更多信息,请参阅 连接到您的 EC2 实例

  2. 使用以下命令访问私有 IP 地址。

    IMDSv2
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/local-ipv4
    IMDSv1
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/local-ipv4
    Tools for Windows PowerShell
    PS C:\> Invoke-RestMethod http://169.254.169.254/latest/meta-data/local-ipv4
  3. 使用以下命令访问公有 IP 地址。如果弹性 IP 地址与实例相关联,则返回的值是弹性 IP 地址。

    IMDSv2
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-ipv4
    IMDSv1
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/public-ipv4
    Tools for Windows PowerShell
    PS C:\> Invoke-RestMethod http://169.254.169.254/latest/meta-data/public-ipv4

在实例启动期间分配公有 IPv4 地址

所有子网都有一个属性可确定在子网中启动的实例是否分配了公有 IP 地址。默认情况下,非默认子网的此属性设置为 false,默认子网的此属性设置为 true。启动实例时,您也可以通过公有 IPv4 寻址功能来控制是否为实例分配公有 IPv4 地址;您可以覆盖子网 IP 寻址属性的默认行为。公有 IPv4 地址从 Amazon 的公有 IPv4 地址池进行分配,并分配给设备索引为 eth0 的网络接口。此功能取决于启动实例时的特定条件。

注意事项
  • 启动后,您可以通过管理与网络接口关联的 IP 地址来将实例的公有 IP 地址取消分配。有关公有 IPv4 地址的更多信息,请参阅公有 IPv4 地址

  • 如果您指定多个网络接口,则不能自动分配公有 IP 地址。此外,如果您将某个现有网络接口指定为 eth0,则无法使用自动分配公有 IP 功能覆盖子网设置。

  • 无论您是否在启动时为实例分配了公有 IP 地址,您都可以在启动后将弹性 IP 地址与实例相关联。有关更多信息,请参阅 弹性 IP 地址。您还可以修改子网的公有 IPv4 寻址行为。有关更多信息,请参阅修改子网的公有 IPv4 寻址属性

在实例启动期间使用控制台分配公有 IPv4 地址

请按照步骤启动实例,并在配置网络设置时选择 Auto-assign Public IP(自动分配公有 IP)。

使用命令行启用或禁用公有 IP 寻址功能

您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

  • --associate-public-ip-address--no-associate-public-ip-address 选项与 run-instances 命令 (Amazon CLI) 结合使用

  • -AssociatePublicIp 参数与 New-EC2Instance 命令 (Amazon Tools for Windows PowerShell) 结合使用