使用前缀
您可以将前缀与网络接口结合使用,如下所示。
在网络接口创建过程中分配前缀
如果使用自动分配选项,则可以在子网中预留 IP 地址块。AWS 会从此块中选择前缀。有关更多信息,请参阅《Amazon VPC 用户指南》中的子网 CIDR 预留。
创建网络接口后,使用 attach-network-interface AWS CLI 命令将网络接口连接到您的实例。您必须配置操作系统,才能使用带有前缀的网络接口。有关更多信息,请参阅为带有前缀的网络接口配置操作系统。
在网络接口创建过程中自动分配前缀
您可以使用下列方法之一在网络接口创建过程中自动分配前缀。
- Console
-
在网络接口创建过程中自动分配前缀
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces(网络接口),然后选择 Create network interface(创建网络接口)。
-
指定网络接口的描述,选择要在其中创建网络接口的子网,并配置私有 IPv4 和 IPv6 地址。
-
展开 Advanced settings(高级设置),并执行以下操作:
-
要自动分配 IPv4 前缀,对于 IPv4 prefix delegation(IPv4 前缀委派),选择 Auto-assign(自动分配)。然后对于 Number of IPv4 prefixes(IPv4 前缀的数量),指定要分配的前缀数。
-
要自动分配 IPv6 前缀,对于 IPv6 prefix delegation(IPv6 前缀委派),选择 Auto-assign(自动分配)。然后对于 Number of IPv6 prefixes(IPv6 前缀的数量),指定要分配的前缀数。
注意
IPv6 prefix delegation(IPv6 前缀委派)仅当为 IPv6 启用了选定的子网时才会显示。
-
-
选择要与网络接口关联的安全组,并根据需要分配资源标签。
-
选择创建网络接口。
-
- AWS CLI
-
在网络接口创建过程中自动分配 IPv4 前缀
使用 create-network interface 命令并将
--ipv4-prefix-count
设置为您希望 AWS 分配的前缀数。在下面的示例中,AWS 分配1
前缀。$
aws ec2 create-network-interface \ --subnet-idsubnet-047cfed18eEXAMPLE
\ --description "IPv4 automatic example
" \ --ipv4-prefix-count1
输出示例
{ "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
前缀。$
aws ec2 create-network-interface \ --subnet-idsubnet-047cfed18eEXAMPLE
\ --description "IPv6 automatic example
" \ --ipv6-prefix-count1
输出示例
{ "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
-
在网络接口创建过程中分配特定前缀
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces(网络接口),然后选择 Create network interface(创建网络接口)。
-
指定网络接口的描述,选择要在其中创建网络接口的子网,并配置私有 IPv4 和 IPv6 地址。
-
展开 Advanced settings(高级设置),并执行以下操作:
-
要分配特定 IPv4 前缀,对于 IPv4 prefix delegation(IPv4 前缀委派),选择 Custom(自定义)。然后选择 Add new prefix(添加新前缀),并输入要使用的前缀。
-
要分配特定 IPv6 前缀,对于 IPv6 prefix delegation(IPv6 前缀委派),选择 Custom(自定义)。然后选择 Add new prefix(添加新前缀),并输入要使用的前缀。
注意
IPv6 prefix delegation(IPv6 前缀委派)仅当为 IPv6 启用了选定的子网时才会显示。
-
-
选择要与网络接口关联的安全组,并根据需要分配资源标签。
-
选择创建网络接口。
-
- AWS CLI
-
在网络接口创建过程中分配特定 IPv4 前缀
使用 create-network interface 命令并设置
--ipv4-prefixes
至前缀。AWS 会从此范围中选择 IP 地址。在下面的示例中,前缀 CIDR 为10.0.0.208/28
。$
aws ec2 create-network-interface \ --subnet-idsubnet-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
。$
aws ec2 create-network-interface \ --subnet-idsubnet-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
-
自动分配前缀至现有网络接口
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces(网络接口)。
-
选择要为其分配前缀的网络接口,然后选择 Actions(操作)、Manage prefixes(管理前缀)。
-
要自动分配 IPv4 前缀,对于 IPv4 prefix delegation(IPv4 前缀委派),选择 Auto-assign(自动分配)。然后对于 Number of IPv4 prefixes(IPv4 前缀的数量),指定要分配的前缀数。
-
要自动分配 IPv6 前缀,对于 IPv6 prefix delegation(IPv6 前缀委派),选择 Auto-assign(自动分配)。然后对于 Number of IPv6 prefixes(IPv6 前缀的数量),指定要分配的前缀数。
注意
IPv6 prefix delegation(IPv6 前缀委派)仅当为 IPv6 启用了选定的子网时才会显示。
-
选择 Save(保存)。
-
- AWS CLI
-
您可以使用 assign-ipv6-addresses 命令来分配 IPv6 前缀,使用 assign-private-ip-addresses 命令将 IPv4 前缀分配给现有网络接口。
自动分配 IPv4 前缀至现有网络接口
使用 assign-private-ip-addresses 命令并将
--ipv4-prefix-count
设置为您希望 AWS 分配的前缀数。在下面的示例中,AWS 分配1
IPv4 前缀。$
aws ec2 assign-private-ip-addresses \ --network-interface-ideni-081fbb4095EXAMPLE
\ --ipv4-prefix-count1
输出示例
{ "NetworkInterfaceId": "eni-081fbb4095EXAMPLE", "AssignedIpv4Prefixes": [ { "Ipv4Prefix": "10.0.0.176/28" } ] }
自动分配 IPv6 前缀至现有网络接口
使用 assign-ipv6-addresses 命令并将
--ipv6-prefix-count
设置为您希望 AWS 分配的前缀数。在下面的示例中,AWS 分配1
IPv6 前缀。$
aws ec2 assign-ipv6-addresses \ --network-interface-ideni-00d577338cEXAMPLE
\ --ipv6-prefix-count1
输出示例
{ "AssignedIpv6Prefixes": [ "2600:1f13:fc2:a700:18bb::/80" ], "NetworkInterfaceId": "eni-00d577338cEXAMPLE" }
分配特定前缀至现有网络接口
您可以使用下列方法之一分配特定前缀至现有网络接口。
- Console
-
分配特定前缀至现有网络接口
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces(网络接口)。
-
选择要为其分配前缀的网络接口,然后选择 Actions(操作)、Manage prefixes(管理前缀)。
-
要分配特定 IPv4 前缀,对于 IPv4 prefix delegation(IPv4 前缀委派),选择 Custom(自定义)。然后选择 Add new prefix(添加新前缀),并输入要使用的前缀。
-
要分配特定 IPv6 前缀,对于 IPv6 prefix delegation(IPv6 前缀委派),选择 Custom(自定义)。然后选择 Add new prefix(添加新前缀),并输入要使用的前缀。
注意
IPv6 prefix delegation(IPv6 前缀委派)仅当为 IPv6 启用了选定的子网时才会显示。
-
选择 Save(保存)。
-
- AWS CLI
-
分配特定 IPv4 前缀至现有网络接口
使用 assign-private-ip-addresses 命令并设置
--ipv4-prefixes
至前缀。AWS 会从此范围中选择 IPv4 地址。在下面的示例中,前缀 CIDR 为10.0.0.208/28
。$
aws ec2 assign-private-ip-addresses \ --network-interface-ideni-081fbb4095EXAMPLE
\ --ipv4-prefixes10.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
。$
aws ec2 assign-ipv6-addresses \ --network-interface-ideni-00d577338cEXAMPLE
\ --ipv6-prefixes2600: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
-
查看分配至现有网络接口的自动前缀
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces(网络接口)。
-
选择要查看其前缀的网络接口,然后选择 Details(详细信息)选项卡。
-
IPv4 Prefix Delegation(IPv4 前缀委派)字段列出了分配的 IPv4 前缀,IPv6 Prefix Delegation(IPv6 前缀委派)字段列出了分配的 IPv6 前缀。
-
- AWS CLI
-
您可以使用 describe-network-interfaces AWS CLI 命令查看分配给网络接口的前缀。
$
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
-
从网络接口中移除前缀
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Network Interfaces(网络接口)。
-
选择要从中移除前缀的网络接口,然后选择 Actions(操作)、Manage prefixes(管理前缀)。
-
请执行下列操作之一:
-
要移除所有分配的前缀,对于 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 启用了选定的子网时才会显示。
-
-
选择 Save(保存)。
-
- AWS CLI
-
您可以使用 unassign-ipv6-addresses 命令来移除 IPv6 前缀,使用 unassign-private-ip-addresses 命令将 IPv4 前缀从现有网络接口中移除。
从网络接口中移除 IPv4 前缀
使用 unassign-private-ip-addresses 命令并将
--ipv4-prefix
设置为要删除的地址。$
aws ec2 unassign-private-ip-addresses \ --network-interface-ideni-081fbb4095EXAMPLE
\ --ipv4-prefixes10.0.0.176/28
从网络接口中移除 IPv6 前缀
使用 unassign-ipv6-addresses 命令并将
--ipv6-prefix
设置为要删除的地址。$
aws ec2 unassign-ipv6-addresses \ --network-interface-ideni-00d577338cEXAMPLE
\ --ipv6-prefix2600:1f13:fc2:a700:18bb::/80