如何疑難排解 VPC 中常見的 BYOIP 組態錯誤?
我想為 Amazon Virtual Private Cloud (Amazon VPC) 設定自備 IP (BYOIP)。
簡短說明
以下是您在 VPC 中設定 BYOIP 時發生的常見錯誤:
- 路由來源授權 (ROA) 無效,或是找不到適用於 CIDR 和自治系統編號 (ASN) 的路由來源授權。
- 在 WHOIS 備註中找不到 X509 憑證。
- 在相關聯網際網路登錄機構中,IP 範圍不是可接受的分配類型。
- 無法使用區域網際網路登錄機構 (RIR) 記錄中的 X509 憑證來驗證 CidrAuthorizationContext 簽章。
- 您的 IP 地址卡在待佈建狀態。
解決方法
錯誤: ROA 無效或找不到適用於 CIDR 和 Amazon ASN 的 ROA
**注意:**如果在執行 AWS Command Line Interface (AWS CLI) 指令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI。
建立 ROA 以授權 Amazon ASN 16509 和 14618 公告您的地址範圍。ROA 最多可能需要 24 小時,才能將 ASN 提供給 Amazon。
若要確認 ROA 建立和 ASN 映射,請使用 RIPE 的 rpki-validator。使用瀏覽器或命令列中的 curl 來完成確認。
瀏覽器範例
**
**注意:**在上面的範例中,將 X.X.X.X/{prefix-length} 替換為您的地址範圍。
命令列範例
curl https://rpki-validator.ripe.net/json?select-prefix=X.X.X.X/{prefix-length}
**注意:**在上面的範例中,將 X.X.X.X/{prefix-length} 替換為您的地址範圍。
有效輸出範例:
{ "metadata": { "generated": 1685008213, "generatedTime": "2023-05-25T09:50:13Z" }, "roas": [ { "asn": "AS14618", "prefix": "X.X.X.X/{prefix-length}", "maxLength": X, "ta": "arin" }, { "asn": "AS16509", "prefix": "X.X.X.X/{prefix-length}", "maxLength": X, "ta": "arin" } ] }
無效輸出範例:
{ "metadata": { "generated": 1685008305, "generatedTime": "2023-05-25T09:51:45Z" }, "roas": [ ] }
若要避免此錯誤,請完成下列任務:
- 在使用期間內,ROA 必須對兩個 ASN 都有效。它也必須專用於您加入到 AWS 的地址範圍。如需詳細資訊,請參閱自備 IP (BYOIP) 簡介中的「準備您的 IP 地址範圍」一節。
- 建立 ROA 後,請等待 24 小時,然後再重新佈建。
錯誤: 在 WHOIS 備註中找不到 X509 憑證
此錯誤的常見原因包括:
- RIR 的 RDAP 記錄中沒有憑證。
- 憑證中有新行字元。
- 憑證無效。
- 憑證不是從有效的金鑰對產生。
確保正確建立和上傳憑證。如需詳細資訊,請參閱建立 AWS 身分驗證的金鑰對。
若要疑難排解此錯誤,請確認上傳的憑證是否有效。使用 WHOIS 檢查 RIR 中網路範圍的記錄。
針對 ARIN:
whois -a <Public IP>
檢查 NetRange (網路範圍) 的註解區段。將憑證新增至地址範圍的公開註解區段。
針對 RIPE:
whois -r <Public IP>
在 WHOIS 顯示畫面中,檢查 inetnum 物件 (網路範圍) 的 descr 部分。將憑證新增至地址範圍的 desc 欄位。
針對 APNIC:
whois -A <Public IP>
在 WHOIS 顯示畫面中,檢查 inetnum 物件 (網路範圍) 的 remarks 部分。確認憑證在您地址範圍的 remarks 欄位中。
完成檢查之後,請完成下列任務:
-
如果沒有憑證,請建立新憑證。然後,按照本文「解決方法」一節中概述的步驟進行上傳。
如果有憑證,請確保沒有新行。如果有任何新行,請移除這些行,如下列範例所示:openssl req -new -x509 -key private.key -days 365 | tr -d "\n" > publickey.cer
-
確認憑證有效。若要執行此操作,請將憑證內容複製至新檔案中,然後執行以下命令:
openssl x509 -in example.crt -text -noout
如果您收到無法載入憑證錯誤,請在 BEGIN CERTIFICATE 之後新增一行,並在 END CERTIFICATE 之前新增另一行。
-
如果以上都不適用,則表示憑證是使用不正確的金鑰對所產生。
錯誤: 在相關聯網際網路登錄機構中,IP 範圍不是可接受的分配類型
以下是導致此錯誤的原因:
- 地址範圍的 RIR 分配類型錯誤。
- 不支援該登錄機構。
有五個區域網際網路登錄機構 (RIR): AFRINIC、ARIN、APNIC、LACNIC 和 RIPE。AWS 支援 ARIN、RIPE 和 APNIC 註冊的前綴。
若要驗證 RIR,請使用 WHOIS:
whois <public ip>
針對 RIPE: 確認狀態為 ALLOCATED PA、LEGACY 或 ASSIGNED PI。
針對 ARIN: 確認 NetType 為 Direct Allocation 或 Direct Assignment。
針對 APNIC: 確認狀態為 ALLOCATED PORTABLE 或 ASSIGNED PORTABLE。
注意:某些註解可能指出此區塊中的地址不可移植。此註釋進一步確認 RIR 無法佈建該地址範圍。
發生上述錯誤的原因如下:
- 狀態 (適用於 RIPE 和 APNIC) 或 NetType (適用於 ARIN) 不是上一節中列出的任何狀態。
- 不支援該登錄機構。
錯誤: 無法使用 RIR 記錄中的 X509 憑證來驗證 CidrAuthorizationContext 簽章
佈建地址範圍時,AWS 必須驗證 API 調用的簽章。AWS 使用從憑證衍生的公有金鑰來驗證 aws ec2 provision-byoip-cidr API 調用中的簽章。此錯誤表示無法加密驗證簽章。
造成此錯誤的常見原因如下:
- 佈建時,您沒有使用正確的簽章。
- 您使用錯誤的私有金鑰簽署訊息。
- 您上傳了 RIR 的 RDAP 記錄中的錯誤憑證
錯誤: 您的 IP 地址卡在「待佈建」狀態
最長需要一週時間,才能完成可公開公告範圍的佈建程序。如下列範例所示,請使用 describe-byoip-cidrs 命令來監控進度:
aws ec2 describe-byoip-cidrs --max-results 5 --region us-east-1
如果狀態變更為 failed-provision,請在解決問題後再次執行 provision-byoip-cidr 命令。
如需詳細資訊,請參閱在 AWS 中佈建公開公告的地址範圍。
相關資訊
在 Amazon Elastic Compute Cloud (Amazon EC2) 中自備 IP 地址 (BYOIP)
相關內容
- 已提問 1 年前lg...
- 已提問 5 個月前lg...
- 已提問 2 年前lg...
- 已提問 2 年前lg...
- AWS 官方已更新 2 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 3 年前