管理 EC2 執行個體的 IPv6 地址 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理 EC2 執行個體的 IPv6 地址

如果已建立 VPC 和子網與 IPv6 CIDR 區塊的關聯,您可以在啟動期間或之後將 IPv6 地址指派給執行個體。您可以在主控台中透過執行個體頁面或網路介面頁面存取執行個體的 IPv6 位址。下列任務會設定執行個體的 IP 位址。若要改為設定網路介面的 IP 位址,請參閱 管理網路介面的 IP 位址:

將 IPv6 地址指派給執行個體

您可以指定子網路 IPv6 位址範圍中的 IPv6 位址,或讓 Amazon EC2 為您選擇一個。此地址會指派給主要網路介面。請注意,下列執行個體類型不支援 IPv6 地址:C1、M1、M2、M3 和 T1。

Console
若要在啟動時指派 IPv6 位址

請遵循該程序來啟動執行個體。當您設定網路設定時,請選擇自動指派 IPv6 IP 的選項。如果沒有看到此選項,則選取的子網路沒有相關聯的 IPv6 CIDR 區塊。

在啟動之後指派 IPv6 地址
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體,然後選取 Actions (動作)Networking (聯網)Manage IP addresses (管理 IP 地址)

  4. 展開網路介面。在 IPv6 addresses (IPv6 地址) 下選擇 Assign new IP address (指派新 IP 地址)

  5. 輸入子網路範圍中的 IPv6 位址,或將欄位保留空白,讓 Amazon EC2 為您選擇 IPv6 位址。如果沒有看到此選項,則執行個體子網路沒有相關聯的 IPv6 CIDR 區塊。

  6. 選擇儲存

AWS CLI
若要在啟動時指派 IPv6 位址

請使用 --ipv6-addresses 選項並搭配 run-instances 命令。下列範例會指派兩個 IPv6 位址。

--ipv6-addresses Ipv6Address=2001:db8::1234:5678:1.2.3.4 Ipv6Address=2001:db8::1234:5678:5.6.7.8

若要讓 Amazon EC2 選擇 IPv6 位址,請改用 --ipv6-address-count 選項。下列範例會指派兩個 IPv6 位址。

--ipv6-address-count 2
在啟動之後指派 IPv6 地址

使用 assign-ipv6-addresses 命令。下列範例會指派兩個 IPv6 位址。

aws ec2 assign-ipv6-addresses \ --network-interface-id eni-1234567890abcdef0 \ --ipv6-addresses 2001:db8::1234:5678:1.2.3.4 2001:db8::1234:5678:5.6.7.8

若要讓 Amazon EC2 選擇 IPv6 位址,請改用 --ipv6-address-count 選項。下列範例會指派兩個 IPv6 位址。

aws ec2 assign-ipv6-addresses \ --network-interface-id eni-1234567890abcdef0 \ --ipv6-address-count 2
PowerShell
若要在啟動時指派 IPv6 位址

使用 New-EC2Instance cmdlet 搭配 -Ipv6Address 參數。下列範例會指派兩個 IPv6 位址。

-Ipv6Address $ipv6addr1,$ipv6addr2

定義 IPv6 位址,如下所示。

$ipv6addr1 = New-Object Amazon.EC2.Model.InstanceIpv6Address $ipv6addr1.Ipv6Address = "2001:db8::1234:5678:1.2.3.4" $ipv6addr2 = New-Object Amazon.EC2.Model.InstanceIpv6Address $ipv6addr2.Ipv6Address = "2001:db8::1234:5678:5.6.7.8"

若要讓 Amazon EC2 選擇 IPv6 位址,請改用 -Ipv6AddressCount 參數。下列範例會指派兩個 IPv6 位址。

-Ipv6AddressCount 2
在啟動之後指派 IPv6 地址

使用 Register-EC2Ipv6AddressList cmdlet。下列範例會指派兩個 IPv6 位址。

Register-EC2Ipv6AddressList ` -NetworkInterfaceId eni-1234567890abcdef0 ` -Ipv6Address "2001:db8::1234:5678:1.2.3.4","2001:db8::1234:5678:5.6.7.8"

若要讓 Amazon EC2 選擇 IPv6 位址,請改用 -Ipv6AddressCount 參數。下列範例會指派兩個 IPv6 位址。

Register-EC2Ipv6AddressList ` -NetworkInterfaceId eni-1234567890abcdef0 ` -Ipv6AddressCount 2

檢視執行個體的 IPv6 位址

您可檢視執行個體的 IPv6 位址。

Console
若要檢視執行個體的 IPv6 位址
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇執行個體

  3. 選取實例。

  4. Networking (聯網) 標籤上,找出 IPv6 addresses (IPv6 地址)

AWS CLI
若要檢視執行個體的 IPv6 位址

使用 describe-instances 命令。

aws ec2 describe-instances \ --instance-ids i-1234567890abcdef0 \ --query "Reservations[*].Instances[].Ipv6Address" \ --output text

下列為範例輸出。

2001:db8::1234:5678:1.2.3.4
PowerShell
若要檢視執行個體的 IPv6 位址

使用 Get-EC2Instance cmdlet。

(Get-EC2Instance ` -InstanceId i-1234567890abcdef0).Instances.Ipv6Address

下列為範例輸出。

2001:db8::1234:5678:1.2.3.4

使用執行個體中繼資料來檢視 IPv6 位址

連線至執行個體後,可以使用執行個體中繼資料來擷取 IPv6 位址。首先,必須從 http://169.254.169.254/latest/meta-data/network/interfaces/macs/ 中取得執行個體的 MAC 位址。

IMDSv2
Linux

透過 Linux 執行個體執行下面的命令。

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/network/interfaces/macs/mac-address/ipv6s
Windows

透過 Windows 執行個體執行下面的 cmdlet。

[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} ` -Method PUT -Uri http://169.254.169.254/latest/api/token
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} ` -Method GET -Uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
IMDSv1
Linux

透過 Linux 執行個體執行下面的命令。

curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
Windows

透過 Windows 執行個體中執行下列 cmdlet。

Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s

從執行個體取消指派 IPv6 地址

您可以隨時從執行個體取消指派 IPv6 地址。

Console
從執行個體取消指派 IPv6 地址
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體,然後選取 Actions (動作)Networking (聯網)Manage IP addresses (管理 IP 地址)

  4. 展開網路介面。在 IPv6 addresses (IPv6 地址) 下,選擇 IPv6 地址旁的 Unassign (取消指派)

  5. 選擇儲存

AWS CLI
從執行個體取消指派 IPv6 地址

使用 unassign-ipv6-addresses 命令。

aws ec2 unassign-ipv6-addresses \ --network-interface-id eni-1234567890abcdef0 \ --ipv6-addresses 2001:db8::1234:5678:1.2.3.4
PowerShell
從執行個體取消指派 IPv6 地址

使用 Unregister-EC2Ipv6AddressList cmdlet。

Unregister-EC2Ipv6AddressList ` -NetworkInterfaceId eni-1234567890abcdef0 ` -Ipv6Address 2001:db8::1234:5678:1.2.3.4