多个 IP 地址
您可以为实例指定多个私有 IPv4 和 IPv6 地址。您可为实例指定的网络接口和私有 IPv4 和 IPv6 地址的数量取决于该实例的类型。有关更多信息,请参阅每种实例类型的每个网络接口的 IP 地址数。
在执行以下操作时,为 VPC 中的实例分配多个 IP 地址会非常有用:
-
在单个服务器上使用多个 SSL 证书,并为每个证书关联一个指定的 IP 地址,以在单个服务器上托管多个网站。
-
操作每个网络接口有多个 IP 地址的网络应用,如防火墙或负载均衡器。
-
当实例发生故障时,可将内部流量重定向到备用实例,方法是为备用实例重新分配辅助 IP 地址。
多个 IP 地址的工作方式
下表说明了多个 IP 地址如何与网络接口配合工作:
-
您可以为任何网络接口分配辅助私有 IPv4 地址。网络接口不需要附加到实例。
-
您可以将多个 IPv6 地址分配给拥有关联 IPv6 CIDR 块的子网中的网络接口。
-
您必须从子网的 IPv4 CIDR 块范围内为网络接口选择辅助 IPv4 地址。
-
您必须从子网的 IPv6 CIDR 块范围内为网络接口选择辅助 IPv6。
-
将安全组与网络接口关联,而不是与各 IP 地址关联。因此,网络接口中指定的每个 IP 地址均受其网络接口的安全组约束。
-
可将多个 IP 地址分配给附加到正在运行或已停止实例的网络接口,也可以取消分配操作。
-
如果您明确允许,已分配给某个网络接口的辅助私有 IPv4 地址可重新分配给其他网络接口。
-
无法将 IPv6 地址重新分配给其他网络接口;您必须先取消分配给现有网络接口的 IPv6 地址。
-
当使用命令行工具或 API 将多个 IP 地址分配给某个网络接口时,如果其中有一个 IP 地址无法分配,整个操作都会失败。
-
当网络接口与实例分离或附加到实例时,主要私有 IPv4 地址、辅助私有 IPv4 地址、弹性 IP 地址以及 IPv6 地址将仍然属于此辅助网络接口。
-
尽管您无法从实例分离主要网络接口,但是您可以将主要网络接口的辅助私有 IPv4 地址重新分配给另一个网络接口。
下表说明了如何将多个 IP 地址与弹性 IP 地址配合使用 (仅限 IPv4):
-
每个私有 IPv4 地址只能与一个弹性 IP 地址关联,反之亦然。
-
当辅助私有 IPv4 地址重新分配给其他接口时,该辅助私有 IPv4 地址会保留与弹性 IP 地址的相关性。
-
当您取消分配给接口的辅助私有 IPv4 地址时,相关的弹性 IP 地址会自动取消与该辅助私有 IPv4 地址的关联。
使用多个 IPv4 地址
您可以将一个辅助私有 IPv4 地址分配给实例,将弹性 IPv4 地址与辅助私有 IPv4 地址关联,并且取消分配辅助私有 IPv4 地址。
分配辅助私有 IPv4 地址
您可以在启动实例时或在实例运行后为实例的网络接口分配辅助私有 IPv4 地址。本节包括以下过程。
使用命令行在启动期间分配辅助 IPv4 地址
您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
用于
--secondary-private-ip-addressesrun-instances 命令 (Amazon CLI) 的 选项 -
使用 New-EC2Instance 命令 (
-NetworkInterface) 定义PrivateIpAddresses并指定 Amazon Tools for Windows PowerShell 参数。
-
为网络接口分配辅助私有 IPv4 地址
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces,然后选择附加到实例的网络接口。
-
依次选择 Actions、Manage IP Addresses。
-
在 IPv4 Addresses 下,选择 Assign new IP。
-
输入一个处于实例子网范围内的特定 IPv4 地址,或者将该字段保留空白,以便让 Amazon 为您选择一个 IP 地址。
-
(可选) 选择 Allow reassignment,以允许已分配到另一个网络接口的辅助私有 IP 地址能够重新分配。
-
选择是,请更新。
或者,您也可以为实例分配辅助私有 IPv4 地址。在导航窗格中选择实例,选择相应实例,然后依次选择操作、联网、管理 IP 地址。您可以按上述步骤进行操作,以配置相同的内容。该 IP 地址将分配给实例的主网络接口 (eth0)。
使用命令行为现有实例分配辅助私有 IPv4
您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
assign-private-ip-addresses (Amazon CLI)
-
Register-EC2PrivateIpAddress (Amazon Tools for Windows PowerShell)
-
在实例上配置操作系统以识别辅助私有 IPv4 地址
为实例分配辅助私有 IPv4 地址后,您需要在实例上配置操作系统,以识别辅助私有 IP 地址。
-
如果您使用的是 Amazon Linux,ec2-net-utils 包可以在此步骤上为您提供帮助。它能在实例运行期间配置您附加的其他网络接口,在 DHCP 租约续订期间更新辅助 IPv4 地址,并更新相关的路由规则。您可以使用
sudo service network restart命令立即刷新接口列表,然后使用ip addr li查看最新列表。如果您需要手动控制网络配置,可以删除 ec2-net-utils 包。有关更多信息,请参阅使用 ec2-net-utils 为 Amazon Linux 配置网络接口。 -
如果您正在使用其他 Linux 分配,请参阅有关 Linux 分配的文档。您可以搜索有关配置其他网络接口和辅助 IPv4 地址的信息。如果实例在同一子网中有两个或更多接口,请搜索有关利用路由规则解决非对称路由的信息。
有关配置 Windows 实例的信息,请参阅 Amazon EC2 用户指南(适用于 Windows 实例) 中的为 VPC 中的 Windows 实例配置辅助私有 IP 地址。
将弹性 IP 地址与辅助私有 IPv4 地址关联
将弹性 IP 地址与辅助私有 IPv4 地址关联
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Elastic IPs。
-
选择 Actions,然后选择 Associate address。
-
对于 Network interface,选择网络接口,然后从 Private IP 列表中选择辅助 IP 地址。
-
选择 Associate。
使用命令行将弹性 IP 地址与辅助私有 IPv4 地址关联
您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
associate-address (Amazon CLI)
-
Register-EC2Address (Amazon Tools for Windows PowerShell)
-
查看辅助私有 IPv4 地址
查看分配给网络接口的私有 IPv4 地址
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces(网络接口)。
-
选择您要查看其私有 IP 地址的网络接口。
-
在详细信息窗格中的 Details 选项卡上,查看 Primary private IPv4 IP 和 Secondary private IPv4 IP 字段,了解分配给该网络接口的主要私有 IPv4 地址和任何辅助私有 IPv4 地址。
查看分配给实例的私有 IPv4 地址
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择要查看其私有 IPv4 地址的实例。
-
在详细信息窗格的 Description 选项卡上,查看 Private IPs 和 Secondary private IPs 字段,了解通过实例的网络接口分配给实例的主要私有 IPv4 地址和任何辅助私有 IPv4 地址。
取消分配辅助私有 IPv4 地址
如果您不再需要辅助私有 IPv4 地址,则可取消分配给实例或网络接口的这类地址。当取消分配给网络接口的辅助私有 IPv4 地址后,弹性 IP 地址 (如果存在) 也会断开相关联系。
取消分配给实例的辅助私有 IPv4 地址
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择实例,然后依次选择操作、联网和管理 IP 地址。
-
在 IPv4 Addresses 下,选择要取消分配的 IPv4 地址对应的 Unassign。
-
选择是,请更新。
取消分配给网络接口的辅助私有 IPv4 地址
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces(网络接口)。
-
选择网络接口,然后依次选择 Actions、Manage IP Addresses。
-
在 IPv4 Addresses 下,选择要取消分配的 IPv4 地址对应的 Unassign。
-
选择是,请更新。
使用命令行取消分配辅助私有 IPv4 地址
您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
unassign-private-ip-addresses (Amazon CLI)
-
Unregister-EC2PrivateIpAddress (Amazon Tools for Windows PowerShell)
-
使用多个 IPv6 地址
您可以将多个 IPv6 地址分配给实例、查看分配给实例的 IPv6 地址以及取消分配给实例的 IPv6 地址。
分配多个 IPv6 地址
您可以在启动期间或之后将一个或多个 IPv6 地址分配给实例。要将 IPv6 地址分配给实例,您在其中启动实例的 VPC 和子网都必须有一个关联的 IPv6 CIDR 块。有关更多信息,请参阅《Amazon VPC 用户指南》中的 IPv6 地址。
您可以使用 Amazon EC2 控制台的 Instances (实例) 屏幕将多个 IPv6 地址分配给现有实例。该做法可将 IPv6 地址分配给实例的主网络接口 (eth0)。要将特定 IPv6 地址分配给实例,请确保 IPv6 地址尚未分配给其他实例或网络接口。
将多个 IPv6 地址分配给现有实例
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择您的实例,然后依次选择 Actions (操作)、Networking (联网) 和 Manage IP Addresses (管理 IP 地址)。
-
在 IPv6 Addresses 下,选择您要添加的每个 IPv6 地址对应的 Assign new IP。您可以指定一个处于子网范围内的 IPv6 地址,也可以保留 Auto-assign 值,从而让 Amazon 为您选择一个 IPv6 地址。
-
选择是,请更新。
或者,您可以将多个 IPv6 地址分配给现有网络接口。网络接口必须是在具有关联的 IPv6 CIDR 块的子网中创建的。要将特定 IPv6 地址分配给网络接口,请确保该 IPv6 地址尚未分配给其他网络接口。
将多个 IPv6 地址分配给网络接口
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces(网络接口)。
-
选择您的网络接口,然后依次选择 Actions、Manage IP Addresses。
-
在 IPv6 Addresses 下,选择您要添加的每个 IPv6 地址对应的 Assign new IP。您可以指定一个处于子网范围内的 IPv6 地址,也可以保留 Auto-assign 值,从而让 Amazon 为您选择一个 IPv6 地址。
-
选择是,请更新。
CLI 概览
您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
在启动期间分配 IPv6 地址:
-
将
--ipv6-addresses或--ipv6-address-count选项与 run-instances 命令 (Amazon CLI) 结合使用 -
使用 New-EC2Instance 命令 (
-NetworkInterface) 定义Ipv6Addresses并指定Ipv6AddressCount或 Amazon Tools for Windows PowerShell 参数。
-
-
将 IPv6 地址分配给网络接口:
-
assign-ipv6-addresses (Amazon CLI)
-
Register-EC2Ipv6AddressList (Amazon Tools for Windows PowerShell)
-
查看您的 IPv6 地址
您可以查看实例或网络接口的 IPv6 地址。
查看分配给实例的 IPv6 地址
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择实例。在详细信息窗格中,查看 IPv6 IPs 字段。
查看分配给网络接口的 IPv6 地址
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces(网络接口)。
-
选择您的网络接口。在详细信息窗格中,查看 IPv6 IPs 字段。
CLI 概览
您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
查看实例的 IPv6 地址:
-
describe-instances (Amazon CLI)
-
Get-EC2InstanceAmazon Tools for Windows PowerShell
-
-
查看网络接口的 IPv6 地址:
-
describe-network-interfaces (Amazon CLI)
-
Get-EC2NetworkInterface (Amazon Tools for Windows PowerShell)
-
取消分配 IPv6 地址
您可以取消分配给实例主网络接口的 IPv6 地址,也可以取消分配给网络接口的 IPv6 地址。
取消分配给实例的 IPv6 地址
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 在导航窗格中,选择实例。
-
选择您的实例,然后依次选择 Actions (操作)、Networking (联网) 和 Manage IP Addresses (管理 IP 地址)。
-
在 IPv6 Addresses 下,选择要取消分配的 IPv6 地址对应的 Unassign。
-
选择是,请更新。
取消分配给网络接口的 IPv6 地址
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 在导航窗格中,选择 Network Interfaces(网络接口)。
-
选择您的网络接口,然后依次选择 Actions、Manage IP Addresses。
-
在 IPv6 Addresses 下,选择要取消分配的 IPv6 地址对应的 Unassign。
-
选择 Save。
CLI 概览
您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2。
-
unassign-ipv6-addresses (Amazon CLI)
-
Unregister-EC2Ipv6AddressList (Amazon Tools for Windows PowerShell)。