使用前缀 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用前缀

您只能使用 Amazon CLI 来分配和配置前缀。

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

您可以使用 create-network interface Amazon CLI 命令在创建过程中将前缀分配给新的网络接口。

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

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

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

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

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

$ 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 设置为您希望 Amazon 分配的前缀数。在下面的示例中,Amazon 分配 1 前缀。

$ 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" } }

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

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

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

$ 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 至前缀。Amazon 会从此范围中选择 IP 地址。在下面的示例中,前缀 CIDR 为 2600:1f13:fc2:a700:1768::/80

$ 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" } }

分配前缀至现有网络接口

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

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

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

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

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

$ 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 设置为您希望 Amazon 分配的前缀数。在下面的示例中,Amazon 分配 1 IPv6 前缀。

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

输出示例

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

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

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

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

$ 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.176/28" } ] }

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

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

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

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

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

您可以使用 describe-network-interfaces Amazon 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" } ] }

从网络接口中移除前缀

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

从网络接口中移除 IPv4 前缀

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

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

从网络接口中移除 IPv6 前缀

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

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