チュートリアル: BYOIP プレフィックスの委任 RPKI を設定する
このチュートリアルでは、すべての BGP ルート保護機能をエンドツーエンドで説明します。任意のステップで止まって、それまでに設定したものを使用できます。ステップ 1 と 2 では、RIR の操作は必要ありません。ステップ 3 以降では、RIR で 1 回限りのセットアップが必要です。BGP ルート保護の概念、階層要件、サポートされている RIR については、「BGP ルート保護のモニタリング」を参照してください。
前提条件
Advanced Tier で作成された IPAM。
IPAM プールにプロビジョニングされた 1 つ以上の BYOIP プレフィックス。
地域インターネットレジストリアカウント (ARIN、RIPE、APNIC、または LACNIC) へのアクセス。
ステップ 1: BGP ルートを表示する
BYOIP プレフィックスを IPAM にプロビジョニングしたら、一元的なダッシュボードでアドバタイズされたすべてのルートを表示します。
ステップ 2: ルート保護の検出結果を確認する
Advanced Tier のお客様の場合、IPAM は公開された ROA データに対してルートを評価し、get-ipam-route-protection-findings を使用して検出結果を表示します。
注記
get-ipam-route-protection-findings には Advanced Tier が必要です。無料利用枠のお客様には UnsupportedOperation エラーが表示されます。
すべての検出結果を一覧表示します。
aws ec2 get-ipam-route-protection-findings \ --ipam-id ipam-0a1b2c3d4e5f6g7h8無効な ROA または欠落している ROA をフィルタリングします。
aws ec2 get-ipam-route-protection-findings \ --ipam-id ipam-0a1b2c3d4e5f6g7h8 \ --filters "Name=rpki-status,Values=invalid,unknown"特定のリージョンのステータスでフィルタリングします。
aws ec2 get-ipam-route-protection-findings \ --ipam-id ipam-0a1b2c3d4e5f6g7h8 \ --filters "Name=rpki-status,Values=invalid" "Name=resource-region,Values=us-west-2"
以下は出力の例です。
{ "IpamId": "ipam-0a1b2c3d4e5f6g7h8", "RouteProtectionFindings": [ { "ResourceOwnerId": "123456789012", "ResourceRegion": "us-west-2", "IpamPoolId": "ipam-pool-0da89c821626f1e4b", "Cidr": "203.0.113.0/24", "State": "advertised", "AdvertisementType": "regional", "NetworkBorderGroup": "us-west-2", "PoolId": "ipv4pool-ec2-0a1b2c3d4e5f6g7h8", "Asn": "64512", "RpkiStatus": "valid", "RpkiStrength": "strict", "Roas": [ { "Asn": "64512", "Prefix": "203.0.113.0/24", "MaxLength": 24, "Match": true, "Expiration": "2027-06-15T00:00:00Z" } ], "RouteOverlaps": [ { "Prefix": "203.0.113.128/25", "Asn": "64513", "DetectedAt": "2026-03-10T15:45:00+00:00" } ], "SampleTime": "2026-03-10T15:30:00+00:00", "RoaSampleTime": "2026-03-10T16:00:00+00:00" } ] }
有効なフィルター名は、cidr、account-id、resource-region、byoip-cidr-state、advertisement-type、network-border-group、ipam-pool-id、rpki-status、asn です。これらの EC2-style フィルター名は、返されるフィールドと常に一致するとは限りません。例えば、account-id でフィルタリングするとレスポンスは ResourceOwnerId を返し、byoip-cidr-state でフィルタリングするとフィールドは State です。ROA の強度はフィルタリングできません。
ステップ 3: 委任 RPKI を設定する
委任 RPKI を使用すると、AWS がユーザーに代わって ROA を管理することを認可できます。
-
インターネットレジストリの関連付けを作成します。
aws ec2 create-ipam-internet-registry-association --region us-east-1 \ --ipam-id ipam-0de83dba6694560a9 \ --rir ARIN --org-handle my-arin-org以下は出力の例です。
{ "IpamInternetRegistryAssociation": { "IpamInternetRegistryAssociationId": "ipam-internet-registry-assoc-036486dfa6af58ee0", "State": "create-in-progress" } }状態が
pending-enableに達するまで、次のコマンドを実行します。aws ec2 describe-ipam-internet-registry-associations --region us-east-1 \ --ipam-internet-registry-association-ids ipam-internet-registry-assoc-036486dfa6af58ee0ChildRequestXml は RIR に送信する準備が整ったら状態が
pending-enableになります。IPAM は、パブリック VRP (Validated ROA Payload) データに基づいて ROA をステージングします。これらは保留中で、インターネットレジストリの関連付けが有効になるとアクティブ化されます。 -
ステージングされた ROA を確認します。
aws ec2 get-ipam-route-origin-authorizations --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0以下は出力の例です。
{ "Roas": [ { "prefix": "18.96.0.0/14", "asn": "77221", "maxLength": "24", "state": "pending-activate" } ] } -
インターネットレジストリの関連付けを有効化します。
ChildRequestXml を RIR ポータルに持ち込み、委任リクエストを送信します。RIR は親レスポンス XML を返します。そのレスポンスからRpkiVersion、ServiceUri、ChildHandle、ParentHandle、ParentBpkiTa の各フィールドを抽出します。次に、以下のコマンドを呼び出します。
aws ec2 enable-ipam-internet-registry-association --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0 \ --rpki-version "..." \ --service-uri "..." \ --child-handle "..." \ --parent-handle "..." \ --parent-bpki-ta "..."以下は出力の例です。
{ "IpamInternetRegistryAssociation": { "IpamInternetRegistryAssociationId": "ipam-internet-registry-assoc-036486dfa6af58ee0", "State": "enable-in-progress" } }状態が
enable-completeに達するまで、次のコマンドを実行します。aws ec2 describe-ipam-internet-registry-associations --region us-east-1 \ --ipam-internet-registry-association-ids ipam-internet-registry-assoc-036486dfa6af58ee0状態が
enable-completeになると、ステージングされた ROA はcreate-completeに移行します。AWS は、この関連付けの下にあるすべての CIDR の ROA ライフサイクルを管理するようになります。 -
関連付けられた CIDR を表示します。
aws ec2 get-ipam-internet-registry-association-cidrs --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0以下は出力の例です。
{ "IpamInternetRegistryAssociationCidrs": [ { "Cidr": "18.96.0.0/14", "LastObservedAt": "2026-07-30T18:00:00.000Z" } ] } -
関連付けられた ASN を表示します。
aws ec2 get-ipam-internet-registry-association-asns --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0以下は出力の例です。
{ "IpamInternetRegistryAssociationAsns": [ { "Asn": "77221", "LastObservedAt": "2026-07-30T18:00:00.000Z" } ] }
ステップ 4: 自動 ROA 作成を使用して BYOIP をプロビジョニングする
委任 RPKI をアクティブにすると、プロビジョニングが簡素化されます。
| 前 (委任 RPKI なし) | 後 (委任 RPKI あり) |
|---|---|
--cidr-authorization-context を指定する必要があります |
引き続き --cidr-authorization-context が渡されますが、Message="CoveredByInternetRegistryAssociation",Signature="" が追加されます。署名付きメッセージは不要です |
| WHOIS または DNS TXT レコードを使用して検証する必要があります | 不要。IPAM は関連付け CIDR に対して検証します |
| アドバタイズする前に RIR で ROA を手動で作成する必要があります | プロビジョニング時に ROA が自動作成されます |
| 有効期限が切れる前に ROA を手動で更新する必要があります | AWS による自動更新。操作は不要です |
aws ec2 provision-ipam-pool-cidr \ --cidr 18.97.16.0/24 \ --ipam-pool-id ipam-pool-0da89c821626f1e4b \ --cidr-authorization-context Message="CoveredByInternetRegistryAssociation",Signature="" \ --region us-east-1
IPAM はインターネットレジストリの関連付けを通じて所有権を検証し、プールのロケールと ASN に一致する厳格な ROA を作成します。手動での ROA ステップはありません。
ステップ 5: オンプレミスプレフィックスの ROA を管理する
AWS に持ち込まれない IP スペースの場合は、ルーティングポリシー登録 (RPR) を使用します。
-
RPR を作成します。
aws ec2 create-ipam-routing-policy-registration --region us-east-1 \ --ipam-id ipam-0de83dba6694560a9 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0 \ --cidr 18.96.0.0/14 --asns 77221,13446 \ --permit-more-specific-announcements以下は出力の例です。
{ "deltaId": "0130c368-1f8c-4283-8f16-66e67e633086", "state": "PENDING" } -
デルタステータスをチェックします。変更によって既存のルートが無効になる場合、エラーで失敗します。
--forceを使用して上書きします。aws ec2 get-ipam-routing-policy-registration-deltas --region us-east-1 \ --ipam-id ipam-0de83dba6694560a9 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0 \ --delta-id 0130c368-1f8c-4283-8f16-66e67e633086 -
バッチ更新 (アトミック) を実行します。バッチ更新はアトミックに成功または失敗します。部分的な適用はありません。
aws ec2 batch-modify-ipam-routing-policy-registrations --region us-east-1 \ --ipam-id ipam-0de83dba6694560a9 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0 \ --delta-json file://delta.jsondelta.jsonには以下が含まれています。{ "Add": [ { "prefix": "18.96.0.0/14", "asns": ["77221", "13446"], "permit-more-specific-announcements": "false" } ], "Delete": [ { "prefix": "18.97.16.0/24", "asns": ["77221", "13446"], "permit-more-specific-announcements": "false" } ] } -
関連付けのすべての登録を表示します。
aws ec2 get-ipam-routing-policy-registrations --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0以下は出力の例です。
{ "IpamRoutingPolicyRegistrations": [ { "Cidr": "18.96.0.0/14", "Asns": ["77221", "13446"], "PermitMoreSpecificAnnouncements": false, "MaxLength": 14, "LatestDeltaId": "0130c368-1f8c-4283-8f16-66e67e633086", "State": "create-complete" }, { "Cidr": "18.97.16.0/24", "Asns": ["77221", "13446"], "PermitMoreSpecificAnnouncements": false, "MaxLength": 24, "LatestDeltaId": "0130c368-1f8c-4283-8f16-66e67e633086", "State": "create-complete" } ] } -
特定のプレフィックスにフィルタリングします。
aws ec2 get-ipam-routing-policy-registrations --region us-east-1 \ --ipam-internet-registry-association-id ipam-internet-registry-assoc-036486dfa6af58ee0 \ --cidr 18.96.0.0/14
ステップ 6: ルート異常の CloudWatch アラームを設定する
IPAM は、各 BYOIP ルートの CloudWatch メトリクスをグローバル IPAM アカウントに発行します。RoaExpiration メトリクスは、Cidr、RoaPrefix、Asn、MaxLength の各ディメンションを使用して AWS/IPAM 名前空間に発行されます。
| タイプ | 名前 | 説明 |
|---|---|---|
| メトリクス | RoaExpiration | ROA の有効期限が切れるまでの日数 |
| ディメンション | Asn | プレフィックスの ASN |
| ディメンション | Cidr | BYOIP 経由で持ち込まれた CIDR |
| ディメンション | MaxLength | ROA の MaxLength |
| ディメンション | RoaPrefix | ROA のプレフィックス |
RoaExpiration は ROA の有効期限が切れるまでの残り日数を報告するため、値がしきい値以下になったときにアラームを発します。単一の ROA をターゲットとする 4 つのディメンションをすべて指定します。メトリクスが公開されているのと同じアカウントとリージョンにアラームを作成します。
aws cloudwatch put-metric-alarm --region us-east-1 \ --alarm-name "IPAM-RoaExpiration-203.0.113.0-24" \ --alarm-description "Alert when the ROA for 203.0.113.0/24 is within 30 days of expiration" \ --namespace "AWS/IPAM" \ --metric-name RoaExpiration \ --dimensions Name=Cidr,Value=203.0.113.0/24 Name=RoaPrefix,Value=203.0.113.0/24 Name=Asn,Value=64512 Name=MaxLength,Value=24 \ --statistic Minimum \ --period 86400 \ --evaluation-periods 1 \ --threshold 30 \ --comparison-operator LessThanOrEqualToThreshold \ --treat-missing-data notBreaching \ --alarm-actions arn:aws:sns:us-east-1:123456789012:roa-expiry-notifications
クリーンアップ
委任された RPKI リソースを削除するには:
すべてのルーティングポリシー登録を削除します。
インターネットレジストリの関連付けを解除します。
(オプション) RIR ポータルでの認可を削除します。
重要
インターネットレジストリの関連付けを削除すると、その関連付けの AWS マネージド ROA がすべて削除されます。関連付けを解除する前に、ルートに代替 ROA カバレッジがあることを確認してください。