スキップしてコンテンツを表示

VPC で発生する BYOIP 設定エラーをトラブルシューティングする方法を教えてください。

所要時間3分
0

Amazon Virtual Private Cloud (Amazon VPC) に Bring-Your-Own-IP (BYOIP) を設定したときに発生するエラーをトラブルシューティングしたいです。

簡単な説明

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI のエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

VPC で BYOIP を設定すると、次の問題が発生します。

  • お使いのルートオリジン認証 (ROA) が、Classless Inter-Domain Routing (CIDR) ブロックと Amazon AS 番号 (ASN) に対して有効でないか、存在しない。
  • X.509 証明書が WHOIS の備考にない。
  • IP アドレス範囲が、関連するインターネットレジストリで受け入れられている割り当てタイプを使用していない。
  • AWS が、地域インターネットレジストリ (RIR) レコードの X.509 証明書を使用して CidrAuthorizationContext 署名を検証することができない。
  • お使いの IP アドレスが pending-provision 状態のままである。

詳細については、「Amazon EC2 に自分の IP アドレスを持ち込む (BYOIP)」および「Amazon VPC のよくある質問」の「Bring Your Own IP」セクションを参照してください。

BYOIP 設定の問題を解決するには、発生したエラーに基づいて次のアクションを実行します。

解決策

CIDR ブロックと Amazon ASN に対して有効でない、または見つからない ROA のトラブルシューティング

ROA を作成して、Amazon ASN 1650914618 がお使いのアドレス範囲にアドバタイズすることを承認します。詳細については、 「RIR に ROA オブジェクトを作成する」を参照してください。

重要: ROAは以下の BYOIP 要件を満たしている必要があります。

  • ROA が使用期間中、両方の ASN で有効であることを確認してください。
  • ROA は、AWS に持ち込むアドレス範囲に固有のものでなければなりません。
  • IPv4 の場合、ROA には AWS に持ち込むアドレス範囲が含まれている必要があり、最大長を /24 に設定する必要があります。IPv6 の場合、持ち込むことができる最も具体的な範囲は、パブリックにアドバタイズ可能な CIDR 範囲の場合は /48、非公開にアドバタイズ可能な CIDR 範囲の場合は /60 です。
    重要: Amazon VPC IP Address Manager (IPAM) の ROA オブジェクトを作成する必要がある場合は、IPv4 プレフィックスの最大長を /24 に設定します。アドバタイズ可能なプールに IPv6 CIDR 範囲を追加する必要がある場合は、IP アドレスプレフィックスの最大長を /48 に設定します。IPAM に使用する BYOIP アドレスの詳細については、「チュートリアル: IP アドレスを IPAM に移行する」を参照してください。

ROA リクエストの作成について詳しくは、IP アドレス範囲を登録した場所に応じて、以下のリソースを参照してください。

重要: AWS は、お客様が ARIN、RIPE、または APNIC に登録したプレフィックスのみをサポートします。

ROAが ASN を Amazon で利用可能にするまでには最大で 24 時間かかります。ROA を作成してから 24 時間待ってから、アドレス範囲のプロビジョニングを解除して再プロビジョニングしてください。

ブラウザまたは AWS CLI で Routinator を使用して、ROA を作成し、それを ASN にマッピングしたことを確認します。詳細については、Routinator の公式ウェブサイトの「Routinator」を参照してください。

ブラウザに次の URL を入力します。

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 フィールドにあることを確認します。

エラーのトラブルシューティング

チェックが完了したら、次の手順を実行します。

  1. 証明書がない場合は、新しい証明書を作成してアップロードします。
    または、
    証明書がある場合は、改行が含まれていないことを確認してください。新しい行がある場合は、その行を削除します。次の証明書例には改行が含まれていません。

    openssl req -new -x509 -key private-key.pem -days 365 | tr -d "\n" > certificate.pem
  2. 証明書の内容を新しいファイルにコピーし、次のコマンドを実行して証明書が有効であることを確認します。

    openssl x509 -in certificate.pem -text -noout

注: "unable to load certificate" または "Could not find certificate" というエラーが表示された場合は、BEGIN CERTIFICATE の後、ENDCERTIFICATE の前に新しい行を 1 行追加してください。

それでもエラーが表示される場合は、間違ったキーペアを使用して証明書を生成しています。新しい 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 がレジストリをサポートしていることを確認します。inetnum セクションのアドレス範囲が RIR に登録されていることを確認します。

"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 証明書を作成してアップロードします。

IP アドレスが "pending-provision" 状態で停止している場合のトラブルシューティング

パブリックにアドバタイズ可能な範囲の提供プロセスが完了するまでに最大 1 週間かかります。

AWS CLI コマンド describe-byoip-cidrs を実行して進捗状況をモニタリングしてください。

aws ec2 describe-byoip-cidrs --max-items example-value --region example-region

注: example-value を、コマンドの出力に表示する必要がある項目の総数に置き換えてください。example-region を実際の AWS リージョンに置き換えてください。

ステータスが failed-provision に変わった場合は、認証メッセージを正しく作成して署名したことを確認します。次に、provision-byoip-cidr コマンドをもう一度実行します。詳細については、「AWS でパブリックにアドバタイズ可能なアドレス範囲をプロビジョニングする」を参照してください。

AWS公式更新しました 6ヶ月前
1コメント

This article was reviewed and updated on 2026-03-03.

エキスパート

応答済み 1ヶ月前

関連するコンテンツ