使用前缀 - Amazon Elastic Compute Cloud

使用前缀

在网络接口创建过程中分配前缀

如果使用自动分配选项,则可以在子网中预留 IP 地址块。AWS 会从此块中选择前缀。有关更多信息,请参阅《Amazon VPC 用户指南》中的子网 CIDR 预留

创建网络接口后,使用 attach-network-interface AWS CLI 命令将网络接口连接到您的实例。您必须配置操作系统,才能使用带有前缀的网络接口。有关更多信息,请参阅为带有前缀的网络接口配置操作系统

在网络接口创建过程中自动分配前缀

您可以使用下列方法之一在网络接口创建过程中自动分配前缀。

Console

在网络接口创建过程中自动分配前缀

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Network Interfaces(网络接口),然后选择 Create network interface(创建网络接口)。

  3. 指定网络接口的描述,选择要在其中创建网络接口的子网,并配置私有 IPv4 和 IPv6 地址。

  4. 展开 Advanced settings(高级设置),并执行以下操作:

    1. 要自动分配 IPv4 前缀,对于 IPv4 prefix delegation(IPv4 前缀委派),选择 Auto-assign(自动分配)。然后对于 Number of IPv4 prefixes(IPv4 前缀的数量),请指定要分配的前缀数。

    2. 要自动分配 IPv6 前缀,对于 IPv6 prefix delegation(IPv6 前缀委派),选择 Auto-assign(自动分配)。然后对于 Number of IPv6 prefixes(IPv6 前缀的数量),请指定要分配的前缀数。

      注意

      IPv6 prefix delegation(IPv6 前缀委派)仅当为 IPv6 启用了选定的子网时才会显示。

  5. 选择要与网络接口关联的安全组,并根据需要分配资源标签。

  6. 选择创建网络接口

AWS CLI

在网络接口创建过程中自动分配 IPv4 前缀

使用 create-network interface 命令并将 --ipv4-prefix-count 设置为您希望 AWS 分配的前缀数。在下面的示例中,AWS 分配 1 前缀。

C:\> aws ec2 create-network-interface \ --subnet-id subnet-047cfed18eEXAMPLE \ --description "IPv4 automatic example" \ --ipv4-prefix-count 1

输出示例

{ "NetworkInterface": { "AvailabilityZone": "us-west-2a", "Description": "IPv4 automatic example", "Groups": [ { "GroupName": "default", "GroupId": "sg-044c2de2c4EXAMPLE" } ], "InterfaceType": "interface", "Ipv6Addresses": [], "MacAddress": "02:98:65:dd:18:47", "NetworkInterfaceId": "eni-02b80b4668EXAMPLE", "OwnerId": "123456789012", "PrivateIpAddress": "10.0.0.62", "PrivateIpAddresses": [ { "Primary": true, "PrivateIpAddress": "10.0.0.62" } ], "Ipv4Prefixes": [ { "Ipv4Prefix": "10.0.0.208/28" } ], "RequesterId": "AIDAIV5AJI5LXF5XXDPCO", "RequesterManaged": false, "SourceDestCheck": true, "Status": "pending", "SubnetId": "subnet-047cfed18eEXAMPLE", "TagSet": [], "VpcId": "vpc-0e12f52b21EXAMPLE" } }

在网络接口创建过程中自动分配 IPv6 前缀

使用 create-network interface 命令并将 --ipv6-prefix-count 设置为您希望 AWS 分配的前缀数。在下面的示例中,AWS 分配 1 前缀。

C:\> aws ec2 create-network-interface \ --subnet-id subnet-047cfed18eEXAMPLE \ --description "IPv6 automatic example" \ --ipv6-prefix-count 1

输出示例

{ "NetworkInterface": { "AvailabilityZone": "us-west-2a", "Description": "IPv6 automatic example", "Groups": [ { "GroupName": "default", "GroupId": "sg-044c2de2c4EXAMPLE" } ], "InterfaceType": "interface", "Ipv6Addresses": [], "MacAddress": "02:bb:e4:31:fe:09", "NetworkInterfaceId": "eni-006edbcfa4EXAMPLE", "OwnerId": "123456789012", "PrivateIpAddress": "10.0.0.73", "PrivateIpAddresses": [ { "Primary": true, "PrivateIpAddress": "10.0.0.73" } ], "Ipv6Prefixes": [ { "Ipv6Prefix": "2600:1f13:fc2:a700:1768::/80" } ], "RequesterId": "AIDAIV5AJI5LXF5XXDPCO", "RequesterManaged": false, "SourceDestCheck": true, "Status": "pending", "SubnetId": "subnet-047cfed18eEXAMPLE", "TagSet": [], "VpcId": "vpc-0e12f52b21EXAMPLE" } }

在网络接口创建过程中分配特定前缀

您可以使用下列方法之一在网络接口创建过程中分配特定前缀。

Console

在网络接口创建过程中分配特定前缀

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Network Interfaces(网络接口),然后选择 Create network interface(创建网络接口)。

  3. 指定网络接口的描述,选择要在其中创建网络接口的子网,并配置私有 IPv4 和 IPv6 地址。

  4. 展开 Advanced settings(高级设置),并执行以下操作:

    1. 要分配特定 IPv4 前缀,对于 IPv4 prefix delegation(IPv4 前缀委派),选择 Custom(自定义)。然后选择 Add new prefix(添加新前缀),并输入要使用的前缀。

    2. 要分配特定 IPv6 前缀,对于 IPv6 prefix delegation(IPv6 前缀委派),选择 Custom(自定义)。然后选择 Add new prefix(添加新前缀),并输入要使用的前缀。

      注意

      IPv6 prefix delegation(IPv6 前缀委派)仅当为 IPv6 启用了选定的子网时才会显示。

  5. 选择要与网络接口关联的安全组,并根据需要分配资源标签。

  6. 选择创建网络接口

AWS CLI

在网络接口创建过程中分配特定 IPv4 前缀

使用 create-network interface 命令并设置 --ipv4-prefixes 至前缀。AWS 会从此范围中选择 IP 地址。在下面的示例中,前缀 CIDR 为 10.0.0.208/28

C:\> aws ec2 create-network-interface \ --subnet-id subnet-047cfed18eEXAMPLE \ --description "IPv4 manual example" \ --ipv4-prefixes Ipv4Prefix=10.0.0.208/28

输出示例

{ "NetworkInterface": { "AvailabilityZone": "us-west-2a", "Description": "IPv4 manual example", "Groups": [ { "GroupName": "default", "GroupId": "sg-044c2de2c4EXAMPLE" } ], "InterfaceType": "interface", "Ipv6Addresses": [], "MacAddress": "02:98:65:dd:18:47", "NetworkInterfaceId": "eni-02b80b4668EXAMPLE", "OwnerId": "123456789012", "PrivateIpAddress": "10.0.0.62", "PrivateIpAddresses": [ { "Primary": true, "PrivateIpAddress": "10.0.0.62" } ], "Ipv4Prefixes": [ { "Ipv4Prefix": "10.0.0.208/28" } ], "RequesterId": "AIDAIV5AJI5LXF5XXDPCO", "RequesterManaged": false, "SourceDestCheck": true, "Status": "pending", "SubnetId": "subnet-047cfed18eEXAMPLE", "TagSet": [], "VpcId": "vpc-0e12f52b21EXAMPLE" } }

在网络接口创建过程中分配特定 IPv6 前缀

使用 create-network interface 命令并设置 --ipv6-prefixes 至前缀。AWS 会从此范围中选择 IP 地址。在下面的示例中,前缀 CIDR 为 2600:1f13:fc2:a700:1768::/80

C:\> aws ec2 create-network-interface \ --subnet-id subnet-047cfed18eEXAMPLE \ --description "IPv6 manual example" \ --ipv6-prefixes Ipv6Prefix=2600:1f13:fc2:a700:1768::/80

输出示例

{ "NetworkInterface": { "AvailabilityZone": "us-west-2a", "Description": "IPv6 automatic example", "Groups": [ { "GroupName": "default", "GroupId": "sg-044c2de2c4EXAMPLE" } ], "InterfaceType": "interface", "Ipv6Addresses": [], "MacAddress": "02:bb:e4:31:fe:09", "NetworkInterfaceId": "eni-006edbcfa4EXAMPLE", "OwnerId": "123456789012", "PrivateIpAddress": "10.0.0.73", "PrivateIpAddresses": [ { "Primary": true, "PrivateIpAddress": "10.0.0.73" } ], "Ipv6Prefixes": [ { "Ipv6Prefix": "2600:1f13:fc2:a700:1768::/80" } ], "RequesterId": "AIDAIV5AJI5LXF5XXDPCO", "RequesterManaged": false, "SourceDestCheck": true, "Status": "pending", "SubnetId": "subnet-047cfed18eEXAMPLE", "TagSet": [], "VpcId": "vpc-0e12f52b21EXAMPLE" } }

分配前缀至现有网络接口

分配前缀后,使用 attach-network-interface AWS CLI 命令将网络接口连接到您的实例。您必须配置操作系统,才能使用带有前缀的网络接口。有关更多信息,请参阅为带有前缀的网络接口配置操作系统

自动分配前缀至现有网络接口

您可以使用下列方法之一向现有网络接口自动分配前缀。

Console

自动分配前缀至现有网络接口

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Network Interfaces(网络接口)。

  3. 选择要为其分配前缀的网络接口,然后选择 Actions(操作)、Manage prefixes(管理前缀)。

  4. 要自动分配 IPv4 前缀,对于 IPv4 prefix delegation(IPv4 前缀委派),选择 Auto-assign(自动分配)。然后对于 Number of IPv4 prefixes(IPv4 前缀的数量),请指定要分配的前缀数。

  5. 要自动分配 IPv6 前缀,对于 IPv6 prefix delegation(IPv6 前缀委派),选择 Auto-assign(自动分配)。然后对于 Number of IPv6 prefixes(IPv6 前缀的数量),请指定要分配的前缀数。

    注意

    IPv6 prefix delegation(IPv6 前缀委派)仅当为 IPv6 启用了选定的子网时才会显示。

  6. 选择保存

AWS CLI

您可以使用 assign-ipv6-addresses 命令来分配 IPv6 前缀,使用 assign-private-ip-addresses 命令将 IPv4 前缀分配给现有网络接口。

自动分配 IPv4 前缀至现有网络接口

使用 assign-private-ip-addresses 命令并将 --ipv4-prefix-count 设置为您希望 AWS 分配的前缀数。在下面的示例中,AWS 分配 1 IPv4 前缀。

C:\> aws ec2 assign-private-ip-addresses \ --network-interface-id eni-081fbb4095EXAMPLE \ --ipv4-prefix-count 1

输出示例

{ "NetworkInterfaceId": "eni-081fbb4095EXAMPLE", "AssignedIpv4Prefixes": [ { "Ipv4Prefix": "10.0.0.176/28" } ] }

自动分配 IPv6 前缀至现有网络接口

使用 assign-ipv6-addresses 命令并将 --ipv6-prefix-count 设置为您希望 AWS 分配的前缀数。在下面的示例中,AWS 分配 1 IPv6 前缀。

C:\> aws ec2 assign-ipv6-addresses \ --network-interface-id eni-00d577338cEXAMPLE \ --ipv6-prefix-count 1

输出示例

{ "AssignedIpv6Prefixes": [ "2600:1f13:fc2:a700:18bb::/80" ], "NetworkInterfaceId": "eni-00d577338cEXAMPLE" }

分配特定前缀至现有网络接口

您可以使用下列方法之一分配特定前缀至现有网络接口。

Console

分配特定前缀至现有网络接口

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Network Interfaces(网络接口)。

  3. 选择要为其分配前缀的网络接口,然后选择 Actions(操作)、Manage prefixes(管理前缀)。

  4. 要分配特定 IPv4 前缀,对于 IPv4 prefix delegation(IPv4 前缀委派),选择 Custom(自定义)。然后选择 Add new prefix(添加新前缀),并输入要使用的前缀。

  5. 要分配特定 IPv6 前缀,对于 IPv6 prefix delegation(IPv6 前缀委派),选择 Custom(自定义)。然后选择 Add new prefix(添加新前缀),并输入要使用的前缀。

    注意

    IPv6 prefix delegation(IPv6 前缀委派)仅当为 IPv6 启用了选定的子网时才会显示。

  6. 选择保存

AWS CLI

分配特定 IPv4 前缀至现有网络接口

使用 assign-private-ip-addresses 命令并设置 --ipv4-prefixes 至前缀。AWS 会从此范围中选择 IPv4 地址。在下面的示例中,前缀 CIDR 为 10.0.0.208/28

C:\> aws ec2 assign-private-ip-addresses \ --network-interface-id eni-081fbb4095EXAMPLE \ --ipv4-prefixes 10.0.0.208/28

输出示例

{ "NetworkInterfaceId": "eni-081fbb4095EXAMPLE", "AssignedIpv4Prefixes": [ { "Ipv4Prefix": "10.0.0.208/28" } ] }

分配特定 IPv6 前缀至现有网络接口

使用 assign-ipv6-addresses 命令并设置 --ipv6-prefixes 至前缀。AWS 会从此范围中选择 IPv6 地址。在下面的示例中,前缀 CIDR 为 2600:1f13:fc2:a700:18bb::/80

C:\> aws ec2 assign-ipv6-addresses \ --network-interface-id eni-00d577338cEXAMPLE \ --ipv6-prefixes 2600:1f13:fc2:a700:18bb::/80

输出示例

{ "NetworkInterfaceId": "eni-00d577338cEXAMPLE", "AssignedIpv6Prefixes": [ { "Ipv6Prefix": "2600:1f13:fc2:a700:18bb::/80" } ] }

为带有前缀的网络接口配置操作系统

Amazon Linux AMI 可能包含由 AWS 安装的其他脚本,它们称为 ec2-net-utils。这些脚本可以选择性地自动配置您的网络接口。它们仅适用于 Amazon Linux。

如果您没有使用 Amazon Linux,您可以将容器网络接口 (CNI) 用于 Kubernetes 插件或 dockerd(如果您使用 Docker 管理容器)。

查看分配至您的网络接口的前缀

您可以使用下列方法之一查看分配至您的网络接口的前缀。

Console

查看分配至现有网络接口的自动前缀

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Network Interfaces(网络接口)。

  3. 选择要查看其前缀的网络接口,然后选择 Details(详细信息)选项卡。

  4. IPv4 Prefix Delegation(IPv4 前缀委派)字段列出了分配的 IPv4 前缀,IPv6 Prefix Delegation(IPv6 前缀委派)字段列出了分配的 IPv6 前缀。

AWS CLI

您可以使用 describe-network-interfaces AWS CLI 命令查看分配给网络接口的前缀。

C:\> aws ec2 describe-network-interfaces

输出示例

{ "NetworkInterfaces": [ { "AvailabilityZone": "us-west-2a", "Description": "IPv4 automatic example", "Groups": [ { "GroupName": "default", "GroupId": "sg-044c2de2c4EXAMPLE" } ], "InterfaceType": "interface", "Ipv6Addresses": [], "MacAddress": "02:98:65:dd:18:47", "NetworkInterfaceId": "eni-02b80b4668EXAMPLE", "OwnerId": "123456789012", "PrivateIpAddress": "10.0.0.62", "PrivateIpAddresses": [ { "Primary": true, "PrivateIpAddress": "10.0.0.62" } ], "Ipv4Prefixes": [ { "Ipv4Prefix": "10.0.0.208/28" } ], "Ipv6Prefixes": [], "RequesterId": "AIDAIV5AJI5LXF5XXDPCO", "RequesterManaged": false, "SourceDestCheck": true, "Status": "available", "SubnetId": "subnet-05eef9fb78EXAMPLE", "TagSet": [], "VpcId": "vpc-0e12f52b2146bf252" }, { "AvailabilityZone": "us-west-2a", "Description": "IPv6 automatic example", "Groups": [ { "GroupName": "default", "GroupId": "sg-044c2de2c411c91b5" } ], "InterfaceType": "interface", "Ipv6Addresses": [], "MacAddress": "02:bb:e4:31:fe:09", "NetworkInterfaceId": "eni-006edbcfa4EXAMPLE", "OwnerId": "123456789012", "PrivateIpAddress": "10.0.0.73", "PrivateIpAddresses": [ { "Primary": true, "PrivateIpAddress": "10.0.0.73" } ], "Ipv4Prefixes": [], "Ipv6Prefixes": [ { "Ipv6Prefix": "2600:1f13:fc2:a700:1768::/80" } ], "RequesterId": "AIDAIV5AJI5LXF5XXDPCO", "RequesterManaged": false, "SourceDestCheck": true, "Status": "available", "SubnetId": "subnet-05eef9fb78EXAMPLE", "TagSet": [], "VpcId": "vpc-0e12f52b21EXAMPLE" } ] }

从网络接口中移除前缀

您可以使用下列方法之一从网络接口中移除前缀。

Console

从网络接口中移除前缀

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Network Interfaces(网络接口)。

  3. 选择要从中移除前缀的网络接口,然后选择 Actions(操作)、Manage prefixes(管理前缀)。

  4. 请执行下列操作之一:

    • 要移除所有分配的前缀,对于 IPv4 prefix delegation(IPv4 前缀委派)和 IPv6 prefix delegation(IPv6 前缀委派),选择 Do not assign(不分配)。

    • 要删除分配的特定前缀,为 IPv4 prefix delegation(IPv4 前缀委派)或 IPv6 prefix delegation(IPv6 前缀委派)选择 Custom(自定义),然后选择要删除的前缀旁边的 Unassign(取消分配)。

    注意

    IPv6 prefix delegation(IPv6 前缀委派)仅当为 IPv6 启用了选定的子网时才会显示。

  5. 选择保存

AWS CLI

您可以使用 unassign-ipv6-addresses 命令来移除 IPv6 前缀,使用 unassign-private-ip-addresses 命令将 IPv4 前缀从现有网络接口中移除。

从网络接口中移除 IPv4 前缀

使用 unassign-private-ip-addresses 命令并将 --ipv4-prefix 设置为要删除的地址。

C:\> aws ec2 unassign-private-ip-addresses \ --network-interface-id eni-081fbb4095EXAMPLE \ --ipv4-prefixes 10.0.0.176/28

从网络接口中移除 IPv6 前缀

使用 unassign-ipv6-addresses 命令并将 --ipv6-prefix 设置为要删除的地址。

C:\> aws ec2 unassign-ipv6-addresses \ --network-interface-id eni-00d577338cEXAMPLE \ --ipv6-prefix 2600:1f13:fc2:a700:18bb::/80