Amazon EC2 執行個體 IP 定址 - Amazon Elastic Compute Cloud

Amazon EC2 執行個體 IP 定址

Amazon EC2 和 Amazon VPC 同時支援 IPv4 和 IPv6 定址通訊協定。Amazon EC2 和 Amazon VPC 預設會使用 IPv4 定址通訊協定;您無法停用此行為。當您建立 VPC 時,必須指定 IPv4 CIDR 區塊 (私有 IPv4 地址的範圍)。您可以選擇將 IPv6 CIDR 區塊指派給 VPC 和子網路,並將 IPv6 地址從該區塊指派給子網路中的執行個體。IPv6 地址可以透過網際網路存取。如需 IPv6 的詳細資訊,請參閱Amazon VPC 使用者指南中的您 VPC 中的 IP 定址

私有 IPv4 位址和內部 DNS 主機名稱

私有 IPv4 地址是無法透過網際網路存取的 IP 地址。您可以在相同 VPC 的執行個體之間使用私有 IPv4 地址進行通訊。如需私有 IPv4 地址標準和規格的詳細資訊,請參閱 RFC 1918。我們會使用 DHCP 將私有 IPv4 地址配置給執行個體。

注意

您可以建立具有可公開路由 CIDR 區塊的 VPC,而此 CIDR 區塊不在 RFC 1918 所指定的私有 IPv4 地址範圍內。不過,基於本文件的目的,我們會將私有 IPv4 地址 (或「私有 IP 地址」) 參照為 VPC 之 IPv4 CIDR 範圍內的 IP 地址。

當您啟動執行個體時,我們會配置執行個體的主要私有 IPv4 地址。每個執行個體也都會指派到解析為主要私有 IPv4 地址的內部 DNS 主機名稱 (例如 ip-10-251-50-12.ec2.internal)。您可以使用內部 DNS 主機名稱以在相同 VPC 的執行個體之間通訊,但我們無法在 VPC 外部解析內部 DNS 主機名稱。

執行個體會接收子網路 IPv4 地址範圍中的主要私有 IP 地址。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的 VPC 和子網路規模調整。如果您未在啟動執行個體時指定主要私有 IP 地址,我們會在子網路的 IPv4 範圍中選取可用 IP 地址。每個執行個體皆會有獲指派之主要私有 IPv4 地址的預設網路介面 (eth0)。您也可以指定其他私有 IPv4 地址 (稱為次要私有 IPv4 地址)。與主要私有 IP 地址不同,輔助私有 IP 地址可從原執行個體重新指派至別的執行個體。如需更多詳細資訊,請參閱 多個 IP 位址

私有 IPv4 地址,無論是主要或次要地址,在執行個體停止和啟動時或休眠和啟動時都會維持與網路介面的關聯,而會在執行個體終止時予以釋出。

公有 IPv4 位址和外部 DNS 主機名稱

公有 IP 地址是可從網際網路存取的 IPv4 地址。您可以使用公有地址,在執行個體與網際網路之間通訊。

每個接收公有 IP 地址的執行個體也都會獲得外部 DNS 主機名稱 (例如 ec2-203-0-113-25.compute-1.amazonaws.com)。我們會將外部 DNS 主機名稱解析為 VPC 外部之執行個體的公有 IP 地址,以及解析為 VPC 內執行個體的私有 IPv4 地址。公有 IP 地址會透過網路地址轉譯 (NAT) 映射至主要私有 IP 地址。如需詳細資訊,請參閱 RFC 1631: The IP Network Address Translator (NAT)

當您在預設 VPC 中啟動執行個體時,預設會將公有 IP 地址指派給它。當您將執行個體啟動到非預設 VPC 時,子網路的屬性可判定啟動到該子網路的執行個體是否接收公有 IPv4 地址集區中的公有 IP 地址。根據預設,我們不會將公有 IP 地址指派給非預設子網路中啟動的執行個體。

您可以控制您的執行個體是否接收公有 IP 地址,如下所示:

公有 IP 地址會從 Amazon 的公有 IPv4 地址集區指派給您的執行個體,且不會建立與您的 AWS 帳戶的關聯。取消公有 IP 地址與您執行個體的關聯後,會將之釋出回公有 IPv4 地址集區,且您將無法重複使用之。

您無法手動建立或取消公有 IP (IPv4) 地址與您執行個體的關聯。相反的,在特定情況下,我們會從執行個體釋出公有 IP 地址,或將新的公有 IP 地址指派給執行個體:

  • 當您的執行個體停止、休眠或終止時,我們會釋出其公有 IP 地址。啟動您已停止或休眠的執行個體時,其會收到新的公有 IP 地址。

  • 當您將彈性 IP 地址與執行個體建立關聯時,我們會釋出該執行個體的公有 IP 地址。當您取消彈性 IP 地址與執行個體的關聯時,執行個體收到新的公有 IP 地址。

  • 如果釋放 VPC 中執行個體的公有 IP 地址,若有多個網路介面連接至執行個體,則不會收到新的公有 IP 地址。

  • 當您的執行個體具有與彈性 IP 地址相關聯的次要私有 IP 地址時,如果釋放該執行個體的公有 IP 地址,則執行個體不會接收新的公有 IP 地址。

如果您需要可建立和取消與執行個體之關聯的持久性公有 IP 地址,請改用彈性 IP 地址。

如果您使用動態 DNS 將現有 DNS 名稱映射至新執行個體的公有 IP 地址,則最多可能需要 24 個小時,IP 地址才會傳播到整個網際網路。因此,已終止的執行個體還會持續收到請求,而新的執行個體可能尚未開始接收流量。若要解決此問題,請使用彈性 IP 地址。您可以配置自己的彈性 IP 地址,並建立地址與您執行個體的關聯。如需更多詳細資訊,請參閱 彈性 IP 地址

如果您將彈性 IP 地址指派給執行個體,則此執行個體會在 DNS 主機名稱啟用時收到 IPv4 DNS 主機名稱。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的將 DNS 用於您的 VPC

注意

透過公有 NAT IP 地址存取其他執行個體的執行個體,會根據其是否位在相同的區域,而收取地區或網際網路資料傳輸的費用。

彈性 IP 地址 (IPv4)

彈性 IP 地址是您可以配置給您帳戶的公有 IPv4 地址。您可以根據需要將其關聯,並將其與例證取消關聯。在您選擇釋放之前,它會分配給您的帳戶。如需彈性 IP 地址和其使用方式的詳細資訊,請參閱彈性 IP 地址

我們不支援 IPv6 的彈性 IP 地址。

Amazon DNS 伺服器

Amazon 所提供的 DNS 伺服器可將 Amazon 提供的 IPv4 DNS 主機名稱解析為 IPv4 地址。Amazon DNS 伺服器位於 VPC 網路範圍基礎加 2。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的 Amazon DNS 伺服器

IPv6 地址

您可以選擇建立 IPv6 CIDR 區塊與 VPC 的關聯,並建立 IPv6 CIDR 區塊與子網路的關聯。VPC 的 IPv6 CIDR 區塊會自動從 Amazon 的 IPv6 地址集區指派;您無法自行選擇範圍。如需詳細資訊,請參閱 Amazon VPC 使用者指南 中的下列主題:

IPv6 地址是全域唯一的,因此可透過網際網路存取。如果建立 IPv6 CIDR 區塊與 VPC 和子網路的關聯,以及符合下列其中一項,則您的執行個體會收到 IPv6 地址:

  • 在啟動期間,您的子網路會設定為自動將 IPv6 地址指派給執行個體。如需詳細資訊,請參閱修改子網路的 IPv6 定址屬性

  • 在啟動期間,您將 IPv6 地址指派給您的執行個體。

  • 在啟動之後,您將 IPv6 地址指派給執行個體的主要網路介面。

  • 在啟動之後,您將 IPv6 地址指派給相同子網路中的網路介面,並將網路介面連接至執行個體。

當您的執行個體在啟動期間收到 IPv6 地址時,會建立該地址與執行個體之主要網路介面 (eth0) 的關聯。您可以取消 IPv6 地址與網路介面的關聯。我們不支援執行個體的 IPv6 DNS 主機名稱。

IPv6 地址會在您停止和啟動或休眠和啟動執行個體時持續保留,並在您終止執行個體時予以釋放。若 IPv6 地址已經指派給另一個網路介面,您無法重新指派該 IPv6 地址 (您必須先將之取消指派)。—

您可以將其他 IPv6 地址指派給執行個體,方法是將其他地址指派給連接至執行個體的網路介面。您可指派給網路介面的 IPv6 地址數目以及您可連接至執行個體的網路介面數目,會根據執行個體類型而不同。如需更多詳細資訊,請參閱 每個執行個體類型每網路界面的 IP 位址

使用執行個體的 IPv4 地址

您可以在啟動執行個體時,將公有 IPv4 地址指派給該執行個體。您可以在主控台中透過 Instances (執行個體) 頁面或 Network Interfaces (網路介面) 頁面檢視您的 IPv4 地址。

檢視 IPv4 地址

您可以使用 Amazon EC2 主控台檢視執行個體的私有 IPv4 地址、公有 IPv4 地址和彈性 IP 地址。您也可以使用執行個體中繼資料,來從執行個體內判定執行個體的公有 IPv4 和私有 IPv4 地址。如需更多詳細資訊,請參閱 執行個體中繼資料與使用者資料

公有 IPv4 地址會顯示為主控台中網路介面的屬性,但會透過 NAT 映射至主要私有 IPv4 地址。因此,如果您檢查執行個體上網路介面的屬性 (例如,透過 ifconfig (Linux) 或 ipconfig (Windows)),則不會顯示公有 IPv4 地址。若要從執行個體判定執行個體的公有 IPv4 地址,請使用執行個體中繼資料。

New console

使用主控台檢視執行個體的 IPv4 地址

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體),然後選取您的執行個體。

  3. Networking (聯網) 標籤上提供下列資訊:

    • Public IPv4 address (公有 IPv4 地址) — 公有 IPv4 地址。如果您將彈性 IP 地址與執行個體或主要網路介面建立關聯,則此為彈性 IP 地址。

    • Public IPv4 DNS (公有 IPv4 DNS) — 外部 DNS 主機名稱。

    • Private IPv4 addresses (私有 IPv4 地址) — 私有 IPv4 地址。

    • Private IPv4 DNS (公用 IPv4 DNS) — 內部 DNS 主機名稱。

    • Secondary private IPv4 addresses (次要私有 IPv4 地址) — 任何次要私有 IPv4 地址。

    • Elastic IP addresses (彈性 IP 地址) — 任何相關聯的彈性 IP 地址。

  4. 或者,在 Networking (聯網) 標籤上的 Network interfaces (網路介面) 下,選擇主要網路介面的介面 ID (例如,eni-123abc456def78901)。下列有效資訊:

    • Private DNS (IPv4) (私有 DNS (IPv4)) — 內部 DNS 主機名稱。

    • Primary private IPv4 IP (主要私有 IPv4 IP) — 主要私有 IPv4 地址。

    • Secondary private IPv4 IPs (次要私有 IPv4 IP) — 任何次要私有 IPv4 地址。

    • Public DNS (公 用 DNS) — 外部 DNS 主機名稱。

    • IPv4 Public IP (IPv4 公有 IP) — 公有 IPv4 地址。如果您將彈性 IP 地址與執行個體或主要網路介面建立關聯,則此為彈性 IP 地址。

    • Elastic IPs (彈性 IP) — 任何相關聯的彈性 IP 地址。

Old console

使用主控台檢視執行個體的 IPv4 地址

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體),然後選取您的執行個體。

  3. Description (描述) 標籤上提供下列資訊:

    • Private DNS (私有 DNS) — 內部 DNS 主機名稱。

    • Private IPs (私有 IP) — 私有 IPv4 地址。

    • Secondary private IPs (次要私有 IP) — 任何次要私有 IPv4 地址。

    • Public DNS (公 用 DNS) — 外部 DNS 主機名稱。

    • IPv4 Public IP (IPv4 公有 IP) — 公有 IPv4 地址。如果您將彈性 IP 地址與執行個體或主要網路介面建立關聯,則此為彈性 IP 地址。

    • Elastic IPs (彈性 IP) — 任何相關聯的彈性 IP 地址。

  4. 或者,您可以使用主要網路介面檢視執行個體的 IPv4 地址。在 Description (描述) 標籤上的 Network interfaces (網路介面) 下,選擇 eth0,然後選擇介面 ID (例如,eni-123abc456def78901)。下列有效資訊:

    • Private DNS (IPv4) (私有 DNS (IPv4)) — 內部 DNS 主機名稱。

    • Primary private IPv4 IP (主要私有 IPv4 IP) — 主要私有 IPv4 地址。

    • Secondary private IPv4 IPs (次要私有 IPv4 IP) — 任何次要私有 IPv4 地址。

    • Public DNS (公 用 DNS) — 外部 DNS 主機名稱。

    • IPv4 Public IP (IPv4 公有 IP) — 公有 IPv4 地址。如果您將彈性 IP 地址與執行個體或主要網路介面建立關聯,則此為彈性 IP 地址。

    • Elastic IPs (彈性 IP) — 任何相關聯的彈性 IP 地址。

使用命令行檢視執行個體的 IPv4 地址

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 存取 Amazon EC2

使用執行個體中繼資料判定執行個體的 IPv4 地址

  1. 連線到您的 執行個體。如需詳細資訊,請參閱 連接至您的 Linux 執行個體

  2. 使用下列命令存取私有 IP 地址:

    IMDSv2
    [ec2-user ~]$ 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" -v http://169.254.169.254/latest/meta-data/local-ipv4
    IMDSv1
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/local-ipv4
  3. 使用下列命令存取公有 IP 地址:

    IMDSv2
    [ec2-user ~]$ 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" -v http://169.254.169.254/latest/meta-data/public-ipv4
    IMDSv1
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/public-ipv4

    如果建立彈性 IP 地址與執行個體的關聯,傳回的值即為彈性 IP 地址的值。

在啟動執行個體期間指派公有 IPv4 地址

每一個子網路都會有一個屬性,以判定是否將公有 IP 地址指派至啟動到該子網路的執行個體。非預設子網路預設會將此屬性設定為 false,而預設子網路會將此屬性設定為 true。當您啟動執行個體時,也可以使用公有 IPv4 定址功能控制是否將公有 IPv4 地址指派至執行個體;您可以覆寫子網路之 IP 定址屬性的預設行為。公有 IPv4 地址會從 Amazon 的公有 IPv4 地址集區指派,並會指派給具有裝置索引 eth0 的網路介面。此功能取決於啟動執行個體時的特定條件。

Considerations

  • 在啟動之後,您無法手動取消公有 IP 地址與執行個體的關聯。在特定情況下反而會自動予以釋出,之後您即無法重複使用之。如需更多詳細資訊,請參閱 公有 IPv4 位址和外部 DNS 主機名稱。如果需要可讓您自由建立關聯或取消關聯的持久性公有 IP 地址,請改為在啟動之後將彈性 IP 地址指派給執行個體。如需更多詳細資訊,請參閱 彈性 IP 地址

  • 如果您指定多個網路介面,則無法自動指派公有 IP 地址。此外,如果您為 eth0 指定現有網路介面,則無法使用自動指派公有 IP 功能覆寫子網路設定。

  • 公有 IP 定址功能只有在啟動期間才能使用。不過,不論您是否在啟動期間將公有 IP 地址指派給執行個體,在啟動執行個體之後,都可以建立彈性 IP 地址與執行個體的關聯。如需更多詳細資訊,請參閱 彈性 IP 地址。您也可以修改子網路的公有 IPv4 定址行為。如需詳細資訊,請參閱修改子網路的公有 IPv4 定址屬性

使用主控台啟用或停用公有 IP 定址功能

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 選擇 Launch Instance (啟動執行個體)

  3. 選取 AMI 和執行個體類型,然後選擇 Next: Configure Instance Details (下一步:設定執行個體詳細資訊)

  4. Configure Instance Details (設定執行個體詳細資訊) 頁面的 Network (網路) 上,選取 VPC。即會顯示 Auto-assign Public IP (自動指派公有 IP) 清單。選擇 Enable (啟用)Disable (停用) 覆寫子網路的預設設定。

  5. 遵循精靈接下來的步驟頁面,完成執行個體設定。如需精靈組態選項的詳細資訊,請參閱使用啟動執行個體精靈啟動執行個體。。在最終 Review Instance Launch (檢閱執行個體啟動) 頁面上,檢閱設定,然後選擇 Launch (啟動) 以選擇金鑰對並啟動執行個體。

  6. Instances (執行個體) 頁面上,選取新的執行個體,然後在詳細資訊窗格的 IPv4 Public IP (IPv4 公有 IP) 欄位中檢視其公有 IP 地址。

使用命令列啟用或停用公有 IP 定址功能

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 存取 Amazon EC2

  • 使用 --associate-public-ip-address--no-associate-public-ip-address 選項並搭配 run-instances 命令 (AWS CLI)

  • 使用 -AssociatePublicIp 參數與 New-EC2Instance 命令 (AWS Tools for Windows PowerShell) 搭配

使用執行個體的 IPv6 地址

您可以檢視指派給執行個體的 IPv6 地址、將公有 IPv6 地址指派給執行個體,或從執行個體取消指派 IPv6 地址。您可以在主控台中透過 Instances (執行個體) 頁面或 Network Interfaces (網路介面) 頁面檢視這些地址。

檢視 IPv6 地址

您可以使用 Amazon EC2 主控台、AWS CLI 和執行個體中繼資料來檢視執行個體的 IPv6 地址。

New console

使用主控台檢視執行個體的 IPv6 地址

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 選取實例。

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

  5. 或者,在 Networking (聯網) 標籤上的 Network interfaces (網路介面) 下,選擇網路介面的介面 ID (例如,eni-123abc456def78901)。找出 IPv6 IPs

Old console

使用主控台檢視執行個體的 IPv6 地址

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 選取實例。

  4. Networking (聯網) 標籤上,找出 IPv6 IPs

  5. 或者,在 Description (描述) 標籤上的 Network interfaces (網路介面) 下,選擇 eth0,然後選擇介面 ID (例如,eni-123abc456def78901)。找出 IPv6 IPs

使用命令行檢視執行個體的 IPv6 地址

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 存取 Amazon EC2

使用執行個體中繼資料檢視執行個體的 IPv6 地址

  1. 連線到您的 執行個體。如需詳細資訊,請參閱 連接至您的 Linux 執行個體

  2. 使用下列命令檢視 IPv6 地址 (您可以從 http://169.254.169.254/latest/meta-data/network/interfaces/macs/ 取得 MAC 地址)。

    IMDSv2
    [ec2-user ~]$ 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" -v http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
    IMDSv1
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s

將 IPv6 地址指派給執行個體

如果已建立 VPC 和子網路與 IPv6 CIDR 區塊的關聯,您可以在啟動期間或之後將 IPv6 地址指派給執行個體。IPv6 地址會從子網路的 IPv6 地址範圍指派,並會指派給具有裝置索引 eth0 的網路介面。

在啟動期間將 IPv6 地址指派給執行個體

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 選取 AMI 和支援 IPv6 的執行個體類型,然後選擇 Next: Configure Instance Details (下一步:設定執行個體詳細資訊)

  3. Configure Instance Details (設定執行個體詳細資訊) 頁面上,針對 Network (網路),選取 VPC 並針對 Subnet (子網路),選取子網路。針對 Auto-assign IPv6 IP (自動指派 IPv6 IP),選擇 Enable (啟用)

  4. 遵循精靈中的其餘步驟,以啟動執行個體。

在啟動之後將 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 地址)。輸入子網路範圍中的 IPv6 地址,或將欄位保留空白,讓 Amazon 為您選擇 IPv6 地址。

  5. 選擇 Save (儲存)。

使用命令列指派 IPv6 地址

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 存取 Amazon EC2

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

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

使用主控台從執行個體取消指派 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. 選擇 Save (儲存)。

使用命令列從執行個體取消指派 IPv6 地址。

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 存取 Amazon EC2