Amazon Elastic Compute Cloud
Linux 인스턴스용 사용 설명서

고유 IP 주소 가져오기(BYOIP)

온프레미스 네트워크에서 AWS 계정으로 모든 퍼블릭 IPv4 주소 범위의 일부 또는 전체를 가져올 수 있습니다. 주소 범위를 계속해서 소유할 수 있지만 AWS에서는 인터넷에 대한 이러한 주소 범위를 알립니다. 주소 범위를 AWS로 가져오고 나면 이러한 주소가 계정에 주소 풀로 나타납니다. 주소 풀에서 탄력적 IP 주소를 생성하여 AWS 리소스(예: EC2 인스턴스, NAT 게이트웨이 및 Network Load Balancer)와 함께 사용할 수 있습니다.

중요

BYOIP는 일부 리전에서는 사용할 수 없습니다. 지원되는 리전 목록은 고유 IP 주소 가져오기에 대한 FAQ를 참조하십시오.

요구 사항

  • 주소 범위는 ARIN(미국 인터넷 번호 등록 협회) 또는 RIPE(Réseaux IP Européens Network Coordination Centre) 등과 같은 RIR(지역 인터넷 등록 기관)에 등록되어 있어야 합니다. 사업체 또는 기관에 등록되어야 하면 개인에게 등록할 수는 없습니다.

  • ARIN의 경우 지원되는 네트워크 유형은 "직접 할당" 및 "직접 지정"입니다.

  • RIPE의 경우 지원되는 할당 상태는 "ALLOCATED PA", "LEGACY" 및 "ASSIGNED PI"입니다.

  • 지정 가능한 가장 구체적인 주소 범위는 /24입니다.

  • 한 번에 하나의 리전으로 개별 주소 범위를 가져올 수 있습니다.

  • AWS 계정에는 리전당 5개의 주소 범위를 가져올 수 있습니다.

  • IP 주소 범위의 주소에는 명확한 기록이 있어야 합니다. 당사는 IP 주소의 평판을 조사할 수 있으며, 평판이 안 좋거나 악의적인 동작과 연관된 IP 주소가 포함된 IP 주소 범위는 거부할 권한을 보유합니다.

AWS 계정으로 주소 범위를 가져오도록 준비하기

나 자신만 AWS 계정으로 주소 범위를 가져올 수 있도록 하려면 Amazon에 주소 범위를 알릴 수 있는 권한을 부여하고 해당 주소 범위를 소유하고 있음을 입증해야 합니다.

ROA(Route Origin Authorization)는 RIR을 통해 작성할 수 있는 문서입니다. 이 문서에는 주소 범위, 주소 범위를 알리도록 허용된 ASN과 만료 날짜가 포함되어 있습니다. ROA는 Amazon에 특정 AS 번호로 주소 범위를 알릴 수 있는 권한을 부여합니다. 그러나 사용자의 AWS 계정에는 AWS에 주소 범위를 가져올 수 있는 권한을 부여하지 않습니다. AWS 계정에 AWS로 주소 범위를 가져올 수 있는 권한을 부여하려면 주소 범위에 대한 RDAP 설명에 자체 서명된 X509 인증서를 게시해야 합니다. 이 인증서에는 제공한 권한 부여-컨텍스트 서명을 확인하기 위해 AWS가 사용하는 퍼블릭 키가 포함되어 있습니다. 프라이빗 키는 안전하게 보관해야 하고, 권한 부여-컨텍스트 메시지에 서명하는 데 사용됩니다.

다음 절차의 명령을 사용하려면 OpenSSL 버전 1.0.2 이상이 필요합니다.

AWS 계정으로 주소 범위를 가져오기 위해 준비하려면

  1. ROA를 생성하여 Amazon ASN 16509 및 14618이 주소 범위를 광고하도록 승인하고 현재 주소 범위의 광고 권한이 있는 ASN이 주소 범위를 광고하도록 승인하십시오. 가져오려는 가장 작은 접두사 크기에 대한 최대 길이를 설정해야 합니다(예: /24). Amazon이 ROA를 사용할 수 있을 때까지 최대 24시간이 걸릴 수 있습니다. 자세한 내용은 다음 단원을 참조하십시오.

  2. 다음과 같이 RSA 2048비트 키 페어를 생성합니다.

    openssl genrsa -out private.key 2048
  3. 다음 명령을 사용하여 키 페어에서 퍼블릭 X509 인증서를 생성합니다. 이 예제에서 인증서는 365일이 지나면 만료되므로, 이 기간이 지난 후에는 신뢰할 수 없습니다. 따라서 만료 날짜를 적절하게 설정해야 합니다. 정보를 입력하라는 메시지가 표시되면 기본값을 수락할 수 있습니다.

    openssl req -new -x509 -key private.key -days 365 | tr -d "\n" > publickey.cer
  4. 접두사 및 AWS 계정에 대한 권한 부여 메시지를 서명하여 작성하십시오. 메시지 형식은 다음과 같으며, 여기서 날짜는 메시지의 만료 날짜입니다.

    1|aws|account|cidr|YYYYMMDD|SHA256|RSAPSS

    다음 명령은 예제 계정 번호, 주소 범위 및 만료 날짜를 사용하여 일반 텍스트 권한 부여 메시지를 생성하고 이를 text_message 이름의 변수에 저장합니다.

    text_message="1|aws|123456789012|198.51.100.0/24|20191201|SHA256|RSAPSS"

    다음 명령은 생성한 키 페어를 사용하여 text_message의 권한 부여 메시지에 서명한 다음 signed_message 이름의 변수에 저장합니다.

    signed_message=$(echo $text_message | tr -d "\n" | openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -sign private.key -keyform PEM | openssl base64 | tr -- '+=/' '-_~' | tr -d "\n")
  5. X509 인증서로 RIR에 대한 RDAP 레코드를 업데이트합니다. 인증서에서 -----BEGIN CERTIFICATE----------END CERTIFICATE-----를 복사합니다. 이전 단계에서 tr -d "\n" 명령을 사용해 아직 제거하지 않은 경우에는 줄바꿈 문자를 제거해야 합니다. 인증서를 보려면 다음 명령을 실행합니다.

    cat publickey.cer

    ARIN의 경우 주소 범위의 "공개 주석" 섹션에 인증서를 추가합니다.

    RIPE의 경우 주소 범위의 새 "설명" 필드에 인증서를 추가합니다.

AWS에서 사용할 수 있도록 주소 범위 프로비저닝

AWS에서 사용할 수 있도록 주소 범위를 프로비저닝하는 경우 주소 범위를 소유하고 있고 Amazon에 해당 주소 범위를 알리도록 권한을 부여했는지 확인합니다. 당사에서는 사용자가 주소 범위를 소유하고 있는지도 확인합니다.

주소 범위를 프로비저닝하려면 다음 provision-byoip-cidr 명령을 사용합니다. --cidr-authorization-context 파라미터는 ROA 메시지가 아니라 이전 섹션에서 생성한 변수를 사용합니다.

aws ec2 provision-byoip-cidr --cidr address-range --cidr-authorization-context Message="$text_message",Signature="$signed_message"

주소 범위 프로비저닝은 비동기 작업이므로, 호출이 즉시 반환되지만 주소 범위는 상태가 pending-provision에서 provisioned로 변경되어야 사용할 준비가 된 것입니다. 프로비저닝 프로세스를 완료하는 데 최대 5일이 걸릴 수 있습니다. 프로비저닝한 주소 범위의 상태를 모니터링하려면 다음 describe-byoip-cidrs 명령을 사용하십시오.

aws ec2 describe-byoip-cidrs --max-results 5

AWS를 통해 주소 범위 알리기

주소 범위가 프로비저닝되면 알릴 준비가 된 것입니다. 프로비저닝한 정확한 주소 범위를 알려야 합니다. 프로비저닝한 주소 범위의 일부만 알릴 수 없습니다.

AWS를 통해 알리기 전에 다른 위치에서 주소 범위 알리기를 중지하는 것이 좋습니다. 다른 위치에서 IP 주소 범위 알리기를 계속하면 당사가 해당 주소 범위를 안정적으로 지원하지 못하거나 문제를 제대로 해결하지 못할 수 있습니다. 특히, 해당 주소 범위로의 트래픽이 당사 네트워크로 들어오는지 보장할 수 없습니다.

가동 중지 시간을 최소화하기 위해 주소를 알리기 전에 주소 풀의 주소를 사용하도록 AWS 리소스를 구성하고, 동시에 현재 위치에서 주소 알리기를 중지한 다음 AWS를 통해 주소 알리기를 시작할 수 있습니다. 주소 풀의 탄력적 IP 주소 할당에 대한 자세한 내용은 탄력적 IP 주소 할당 단원을 참조하십시오.

주소 범위를 알리려면 다음 provision-byoip-cidr 명령을 사용합니다.

aws ec2 advertise-byoip-cidr --cidr address-range

중요

매번 다른 주소 범위를 지정하더라도 최소 10초마다 advertise-byoip-cidr 명령을 실행할 수 있습니다.

주소 범위 알리기를 중지하려면 다음 withdraw-byoip-cidr 명령을 사용합니다.

aws ec2 withdraw-byoip-cidr --cidr address-range

중요

매번 다른 주소 범위를 지정하더라도 최소 10초마다 withdraw-byoip-cidr 명령을 실행할 수 있습니다.

주소 범위 프로비저닝 취소

AWS에서 주소 범위 사용을 중지하려면 주소 풀에서 할당된 탄력적 IP 주소를 모두 릴리스하고, 주소 범위 알리기를 중지하고, 주소 범위 프로비저닝을 취소합니다.

각 탄력적 IP 주소를 릴리스하려면 다음 release-address 명령을 사용하십시오.

aws ec2 release-address --allocation-id eipalloc-12345678

주소 범위 알리기를 중지하려면 다음 withdraw-byoip-cidr 명령을 사용합니다.

aws ec2 withdraw-byoip-cidr --cidr address-range

주소 범위를 프로비저닝 취소하려면 다음 deprovision-byoip-cidr 명령을 사용합니다.

aws ec2 deprovision-byoip-cidr --cidr address-range