如何對 VPC 中的 BYOIP 組態錯誤進行疑難排解?
我想對為 Amazon Virtual Private Cloud (Amazon VPC) 設定自備 IP (BYOIP) 時發生的錯誤進行疑難排解。
簡短說明
注意: 如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱 Troubleshooting errors for the AWS CLI (對 AWS CLI 錯誤進行疑難排解)。此外,請務必使用最新版 AWS CLI。
在 VPC 中設定 BYOIP 時,會發生下列問題:
- 您的路由起源授權 (ROA) 對於您的無類別域間路由 (CIDR) 區塊與 Amazon 自治系統編號 (ASN) 無效或不存在。
- X.509 憑證不在 WHOIS 備註中。
- 您的 IP 位址範圍在其關聯的網際網路註冊機構中未採用接受的分配類型。
- AWS 無法使用區域網際網路註冊機構 (RIR) 記錄中的 X.509 憑證驗證 CidrAuthorizationContext 簽章。
- 您的 IP 位址卡在 pending-provision 狀態。
如需更多資訊,請參閱 Bring your own IP addresses (BYOIP) to Amazon Elastic Compute Cloud (Amazon EC2) (將您的自備 IP 位址 (BYOIP) 帶入 Amazon Elastic Compute Cloud (Amazon EC2)),以及 Amazon VPC 常見問答集的使用自有 IP 部分。
若要解決 BYOIP 組態問題,請根據您遇到的錯誤完成下列動作。
解決方法
針對 CIDR 區塊與 Amazon ASN 對無效或未找到的 ROA 進行疑難排解
建立 ROA 以授權 Amazon ASN 16509 和 14618 播送您的位址範圍。如需更多資訊,請參閱: Create a ROA object in your RIR (在您的 RIR 中建立 ROA 物件)。
重要事項: 您的 ROA 必須符合下列 BYOIP 需求:
- 檢查您的 ROA 在使用期間是否必須對兩個 ASN 均有效。
- 您的 ROA 必須專用於您帶入 AWS 的位址範圍。
- 對於 IPv4,ROA 必須包含您要帶入 AWS 的位址範圍,且您必須將最大長度設定為 /24。對於 IPv6,公開可播送的 CIDR 範圍可帶入的最特定範圍為 /48,非公開可播送的 CIDR 範圍則為 /60。
重要事項: 如果您必須為 Amazon VPC IP 位址管理器 (IPAM) 建立 ROA 物件,請將最大 IPv4 前綴長度設定為 /24。如果您必須將 IPv6 CIDR 範圍新增至可播送集區,請將 IP 位址前綴的最大長度設定為 /48。如需關於 BYOIP 位址至 IPAM 的更多資訊,請參閱 Tutorial: Bring your IP addresses to IPAM (教學課程:將自備 IP 位址帶入 IPAM)。
如需關於建立 ROA 請求的更多資訊,請根據您註冊 IP 位址範圍的位置參閱下列資源:
- ARIN: Route Origin Authorization (ROA) Overview (路由起源授權 (ROA) 概觀)
- RIPE: Using the Hosted Certification Authority (使用託管憑證授權機構)
- APNIC: Route Management (路由管理)
重要事項: AWS 僅支援您向 ARIN、RIPE 或 APNIC 註冊的前綴。
ROA 最多可能需要 24 小時,才能將 ASN 提供給 Amazon。在建立 ROA 後,請等待 24 小時,然後再取消佈建並重新佈建您的位址範圍。
使用 Routinator 透過瀏覽器或 AWS CLI 確認您已建立 ROA 並將其對應至您的 ASN。如需更多資訊,請參閱 Routinator 官方網站上的 Routinator。
在瀏覽器輸入下列網址:
https://rpki-validator.ripe.net/json?select-prefix=example-public-IP/example-prefix-length
-或-
在 AWS CLI 中,執行下列 curl 命令:
curl https://rpki-validator.ripe.net/json?select-prefix=example-public-IP/example-prefix-length
注意: 在上述範例中,請將 example-public-IP/example-prefix-length 替換為您的位址範圍。
下列範例 AWS CLI 輸出對於 ASN AS13335 與 IP 位址 1.1.1.0/24 為有效:
{ "metadata": { "generated": 1770933536, "generatedTime": "2026-02-12T21:58:56Z" }, "roas": [ { "asn": "AS**13335**", "prefix": "**1.1.1.0/24**", "maxLength": 24, "ta": "apnic" } ], "routerKeys": [], "aspas": [] }
下列範例輸出無效:
{ "metadata": { "generated": 1685008305, "generatedTime": "2023-05-25T09:51:45Z" }, "roas": [] }
如果輸出無效,請檢查您的 ROA 是否符合前述需求。
對不在 WHOIS 備註中的 X.509 憑證進行疑難排解
下列問題會導致無效的 X.509 自簽憑證:
- RIR 的註冊資料存取協定 (RDAP) 記錄中沒有憑證。
- 憑證中有換行字元。
- 憑證無效。
- 您未從有效的金鑰對產生憑證。
重要事項: 設定 BYOIP 時,您必須正確建立並上傳您的 X.509。
根據您用於註冊憑證的註冊機構驗證您的憑證是否有效,然後對錯誤進行疑難排解。
適用於 ARIN、RIPE 與 APNIC
若要驗證您註冊的憑證是否有效,請執行下列其中一個 WHOIS 命令:
whois -h whois.example-RIR.net example-public-IP
-或-
whois -h whois.example-RIR.net example-address-range
注意: 請將 example-public-IP 替換為您的 IP 位址、將 example-public-IP/example-address-range 替換為 CIDR 標記法中的位址範圍,並將 whois.example-RIR.net 替換為您使用的 RIR 主機名稱。
根據您的 RIR,在您的結果中進行下列檢查:
- ARIN: 檢查命令輸出中 NetRange (網路範圍) 的 Public Comments 部分。確認憑證是否位於您的位址範圍的 Public Comments 部分。
- APNIC: 在命令輸出中,檢查 inetnum 物件 (網路範圍) 的 remarks 部分。確認憑證是否在位址範圍的 remarks 欄位中。
- RIPE: 在命令輸出中,檢查 inetnum 物件 (網路範圍) 的 descr 部分。確認憑證是否在位址範圍的 descr 欄位中。
對錯誤進行疑難排解
完成檢查之後,請完成下列步驟:
-
如果沒有憑證,請建立並上傳新憑證。
-或-
如果有憑證,請確保憑證不包含任何換行字元。如有換行字元,請移除。下列範例憑證不包含任何換行字元:openssl req -new -x509 -key private-key.pem -days 365 | tr -d "\n" > certificate.pem -
將憑證內容複製到新檔案中,並執行下列命令以驗證憑證是否有效:
openssl x509 -in certificate.pem -text -noout
注意: 如果您收到 "unable to load certificate" 或 "Could not find certificate" 錯誤,請在 BEGIN CERTIFICATE 之後與 END CERTIFICATE 之前新增一個換行字元。
如果仍收到錯誤,表示您使用了不正確的金鑰對來產生憑證。建立並上傳新的 X.509 憑證。
針對在關聯的網際網路註冊機構中非可接受分配類型的 IP 範圍進行疑難排解
下列問題會導致此錯誤:
- 位址範圍的 RIR 分配類型錯誤。
- AWS 不支援該註冊機構。
執行下列其中一個 WHOIS 命令:
whois -h whois.iana.org example-public-IP
-或-
whois -h whois.iana.org example-public-IP/example-prefix-length
注意: 請將 example-public-IP 替換為您的 IP 位址,將 example-public-IP/example-address-range 替換為 CIDR 標記法中的位址範圍。
查看輸出中的 organization 部分,並檢查 AWS 是否支援您的註冊機構。請確保您已在 RIR 的 inetnum 部分中註冊位址範圍。
"The CidrAuthorizationContext signature can't be verified with the X509 certificates in the RIR records" 錯誤進行疑難排解
佈建位址範圍時,AWS 必須驗證 API 呼叫的簽章。AWS 使用從憑證導出的公開金鑰來驗證 provision-byoip-cidr API 操作中的簽章。此錯誤表示 AWS 無法驗證簽章。
下列問題會導致此錯誤:
- 當您佈建時,未採用正確的簽章。
- 您使用了錯誤的私密金鑰簽署訊息。
- 您在 RIR 的 RDAP 紀錄中上傳了錯誤的憑證。
若要解決此錯誤,請建立並上傳新的 X.509 憑證。
對卡在 "pending-provision" 狀態的 IP 位址進行疑難排解
公開可播送範圍的佈建程序最多需要一週的時間才能完成。
執行 describe-byoip-cidrs AWS CLI 命令以監控您的進度:
aws ec2 describe-byoip-cidrs --max-items example-value --region example-region
注意: 請將 example-value 替換為您必須在命令輸出中看到的項目總數,並將 example-region 替換為您的 AWS 區域。
如果狀態變更為 failed-provision,請確認您是否已正確撰寫並簽署您的授權訊息。接著,再次執行 provision-byoip-cidr 命令。如需更多資訊,請參閱 Provision a publicly advertisable address range in AWS (在 AWS 中佈建公開可播送的位址範圍)。
- 語言
- 中文 (繁體)

This article was reviewed and updated on 2026-03-03.
相關內容
已提問 1 年前