自分の Amazon Virtual Private Cloud (Amazon VPC) に Bring Your Own IP (BYOIP) を設定したいのですが。
簡単な説明
VPC で BYOIP を設定するときに発生する一般的なエラーは次のとおりです。
- CIDR と Amazon の AS 番号 (ASN) のルートオリジン認証 (ROA) が無効か、見つかりません。
- WHOIS のコメントに X509 証明書が見つかりませんでした。
- IP アドレス範囲は、関連するインターネットレジストリの割り当てタイプとしては適切ではありません。
- CIDRauthorizationContext 署名は、地域インターネットレジストリ (RIR) レコードの X509 証明書では検証できません。
- IP アドレスはプロビジョニング保留状態のままです。
解決策
エラー: CIDR と Amazon ASN の ROA が無効であるか、見つかりません
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新バージョンの AWS CLI を使用していることを確認してください。
ROA を作成して、Amazon ASN 16509 と 14618 がお客様のアドレス範囲をアドバタイズすることを承認してください。ROAがASNをAmazonで利用できるようになるまでには最大24時間かかります。
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 に持ち込むアドレス範囲に固有のものでなければなりません。詳細については、「Bring Your Own 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 オブジェクト (ネットワーク範囲) の備考 セクションを確認してください。証明書がアドレス範囲の備考欄にあることを確認してください。
チェックが完了したら、次のタスクを実行します。
-
証明書がない場合は、新しい証明書を作成します。次に、この記事の「解決策」セクションに記載されている手順に従ってアップロードします。
証明書がある場合は、新しい行がないことを確認してください。新しい行がある場合は、次の例に示すようにその行を削除します。
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 の 5 つがあります。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 の場合)は、前のセクションにリストされているステータスのいずれでもありません。
- このレジストリはサポートされていません。
エラー: CIDRAuthorizationContext 署名は RIR レコードの X509 証明書では検証できません
アドレス範囲をプロビジョニングする場合、AWS は API 呼び出しの署名を確認する必要があります。AWS は、証明書から取得したパブリックキーを使用して、aws ec2 provision-by ip-cidr API 呼び出しの署名を検証します。このエラーは、署名の暗号検証に失敗したことを示します。
このエラーの一般的な理由は次のとおりです。
- プロビジョニングする際、正しい署名を使用していないことになります。
- メッセージに間違ったプライベートキーで署名しました。
- RIR の RDAP レコードに間違った証明書をアップロードした
エラー: IPアドレスが「プロビジョニング待ち」状態のままになっている
一般公開可能な範囲のプロビジョニングプロセスが完了するまでに最長で 1 週間かかります。次の例に示すように、describe-byoip-cidrs コマンドを使用して進行状況を監視します。
aws ec2 describe-byoip-cidrs --max-results 5 --region us-east-1
ステータスが「プロビジョニング失敗」に変わった場合は、問題を解決した後に provision-byoip-cidr コマンドを再度実行してください。
詳細については、「一般広告されているアドレス範囲を AWS でプロビジョニングする」を参照してください。
関連情報
Amazon Elastic Compute Cloud (Amazon EC2) に独自の IP アドレス (BYOIP) を使用
独自の IP を使用