View a markdown version of this page

튜토리얼: BYOIP 프리픽스에 대한 위임된 RPKI 설정 - Amazon Virtual Private Cloud

튜토리얼: BYOIP 프리픽스에 대한 위임된 RPKI 설정

이 튜토리얼에서는 모든 BGP 경로 보호 기능을 처음부터 끝까지 상세히 다룹니다. 어느 단계에서든 작업을 중단하더라도 설정한 항목을 그대로 사용할 수 있습니다. 1단계 및 2단계에서는 RIR 작업이 필요하지 않습니다. 3단계 이후부터는 해당 RIR과의 일회성 초기 설정 작업이 필요합니다. BGP 경로 보호 개념, 티어 요구 사항 및 지원 대상 RIR에 관한 자세한 내용은 BGP 경로 보호 모니터링을(를) 참조하세요.

사전 조건

  • 고급 티어에서 생성된 IPAM.

  • IPAM 풀에 프로비저닝된 1개 이상의 BYOIP 프리픽스.

  • 리전 인터넷 레지스트리 계정(ARIN, RIPE, APNIC 또는 LACNIC) 접근 권한.

1단계: BGP 경로 확인

BYOIP 프리픽스를 IPAM에 프로비저닝한 후, 중앙 대시보드에서 전파된 모든 경로를 확인할 수 있습니다.

AWS Management Console
BGP 경로를 확인하는 방법
  1. https://console.aws.amazon.com/ipam/에서 IPAM 콘솔을 엽니다.

  2. 탐색 탐색창에서 IPAM을(를) 선택한 다음 대상 IPAM을 선택합니다.

  3. 모니터링에서 라우팅 모니터링을(를) 선택합니다.

대시보드에는 프리픽스, 로캘, 전파 상태, ASN, RPKI 유효성, ROA 강도 및 경로 중복 정보를 포함한 모든 BYOIP 경로가 표시됩니다.

Command line

get-ipam-discovered-routes 명령어를 사용하여 발견된 경로를 확인합니다. 이 명령어는 프리 티어 및 고급 티어 고객 모두 이용 가능합니다.

aws ec2 get-ipam-discovered-routes \ --ipam-resource-discovery-id ipam-res-disco-0365d2977fc1672fe \ --resource-region us-west-2

다음은 예제 출력입니다.

{ "IpamDiscoveredRoutes": [ { "IpamResourceDiscoveryId": "ipam-res-disco-0365d2977fc1672fe", "ResourceRegion": "us-west-2", "ResourceOwnerId": "123456789012", "Cidr": "203.0.113.0/24", "Asn": "64512", "State": "advertised", "AdvertisementType": "regional", "NetworkBorderGroup": "us-west-2", "PoolId": "ipv4pool-ec2-0a1b2c3d4e5f6g7h8", "IpamPoolId": "ipam-pool-0da89c821626f1e4b", "SampleTime": "2026-03-10T15:30:00+00:00" } ] }

2단계: 라우팅 보호 조사 결과 검토

고급 티어 고객의 경우, IPAM이 게시된 ROA 데이터를 바탕으로 경로를 평가하고 get-ipam-route-protection-findings 명령어을 통해 결과를 출력합니다.

참고

get-ipam-route-protection-findings 명령을 사용하려면 고급 티어가 필요합니다. 프리 티어 고객에게는 UnsupportedOperation 오류가 발생합니다.

  1. 모든 검색 결과를 조회합니다.

    aws ec2 get-ipam-route-protection-findings \ --ipam-id ipam-0a1b2c3d4e5f6g7h8
  2. 유효하지 않거나 누락된 ROA 조건으로 필터링합니다.

    aws ec2 get-ipam-route-protection-findings \ --ipam-id ipam-0a1b2c3d4e5f6g7h8 \ --filters "Name=rpki-status,Values=invalid,unknown"
  3. 특정 리전 내 상태 값에 따라 필터링합니다.

    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 스타일의 필터 이름이 반환되는 필드명과 항상 일치하지는 않습니다. account-id 조건으로 필터링하더라도 응답에는 ResourceOwnerId 필드가 반환되고, byoip-cidr-state 조건으로 필터링하지만 실제 필드명은 State입니다. ROA 강도 항목은 필터링할 수 없습니다.

3단계: 위임된 RPKI 구성

위임된 RPKI를 사용하면 AWS에 사용자를 대리하여 ROA를 관리할 권한을 부여할 수 있습니다.

  1. 인터넷 레지스트리 연결 생성.

    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-036486dfa6af58ee0

    pending-enable 상태로 바뀌면 ChildRequestXml을 RIR에 제출할 준비가 완료된 것입니다. IPAM은 공개된 VRP(검증된 ROA 페이로드) 데이터를 기반으로 ROA를 스테이징합니다. 해당 항목은 보류 상태이며 인터넷 레지스트리 연결이 활성화되면 적용됩니다.

  2. 스테이징된 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" } ] }
  3. 인터넷 레지스트리 연결 활성화.

    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 라이프사이클을 관리합니다.

  4. 연결된 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" } ] }
  5. 연결된 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)을 사용합니다.

  1. 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" }
  2. 델타 상태 확인 변경으로 인해 기존 경로가 무효화되는 경우 오류를 반환하며 실패합니다. 강제로 적용하려면 --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
  3. 배치 업데이트(원자성 보장). 배치 업데이트는 트랜잭션 단위로 일괄 성공하거나 일괄 실패합니다. 부분 적용은 지원되지 않습니다.

    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.json

    delta.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" } ] }
  4. 연결의 모든 등록 항목 확인.

    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" } ] }
  5. 특정 프리픽스로 필터링.

    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 지표(Metrics)를 글로벌 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 리소스를 제거하는 방법:

  1. 모든 라우팅 정책 등록을 삭제합니다.

  2. 인터넷 레지스트리 연결을 연결 해제합니다.

  3. (선택 사항) 해당 RIR 포털에서 위임 권한을 제거합니다.

중요

인터넷 레지스트리 연결을 삭제하면 해당 연결과 관련된 모든 AWS 관리형 ROA가 삭제됩니다. 연결을 해제하기 전에 해당 경로를 보호할 대체 ROA 설정이 마련되어 있는지 반드시 확인하세요.