Amazon Elastic Compute Cloud(Amazon EC2)에서 탄력적 IP 주소를 사용합니다. IP 주소를 다른 AWS 계정으로 이전하려고 합니다.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
동일한 AWS 리전의 계정 간에 탄력적 IP 주소를 이전하려면 Amazon EC2 콘솔 또는 AWS CLI를 사용하십시오. AWS CLI를 사용하는 경우 한 번에 하나의 탄력적 IP 주소만 전송할 수 있습니다.
탄력적 IP 주소를 이전할 때는 소스 계정과 이전 계정 간에 2단계 핸드셰이크가 이루어집니다. 소스 계정은 표준 계정 또는 AWS Organizations 계정일 수 있습니다. 소스 계정에서 이전을 시작하면 이전 계정은 7일 이내에 이를 수락해야 합니다. 그렇지 않으면 탄력적 IP 주소가 원래 소유자에게 반환됩니다.
AWS에서는 이전 계정에 보류 중인 탄력적 IP 주소 이전 요청을 알리지 않습니다. 소스 계정 소유자는 이전 계정 소유자에게 요청을 전달해야 합니다.
Amazon EC2 콘솔
Amazon EC2 콘솔을 사용하여 탄력적 IP 주소를 이전합니다. 이전 요청을 보낸 후 이전 계정 소유자가 탄력적 IP 주소를 수락하는지 확인합니다.
AWS CLI
참고: 다음 명령에서 ELASTIC_IP를 탄력적 IP 주소로, us-east-1을 AWS 리전으로 바꾸십시오. 또한 eipalloc-source-account를 탄력적 IP 주소 AllocationId로, transfer-account를 이전 계정 ID로 바꾸십시오.
AWS CLI를 사용하여 탄력적 IP 주소를 이전하려면 다음 단계를 완료합니다.
-
탄력적 IP 주소 AllocationId를 가져오려면 describe-addresses 명령을 실행합니다.
aws ec2 describe-addresses --filters "Name=public-ip,Values=ELASTIC_IP" --region us-east-1
출력 예시:
{
"Addresses": [
{
"PublicIp": "ELASTIC_IP",
"AllocationId": "eipalloc-source-account",
"Domain": "vpc",
"PublicIpv4Pool": "amazon",
"NetworkBorderGroup": "us-east-1"
}
]
}
-
소스 계정의 탄력적 IP 주소에 대해 기존 또는 보류 중인 주소 이전이 있는지 확인하려면 describe-address-transfer 명령을 실행합니다.
aws ec2 describe-address-transfers --query "AddressTransfers[?AllocationId=='eipalloc-source-account']" --region us-east-1
다음과 같이 출력되면 기존 또는 보류 중인 주소 이전이 없으므로 새 이전을 진행할 수 있습니다.
[ ]
-
탄력적 IP 주소를 이전 계정으로 이전하려면 enable-address-transfer 명령을 실행합니다.
aws ec2 enable-address-transfer --allocation-id eipalloc-source-account --transfer-account-id transfer-account --region us-east-1
출력 예시:
"AddressTransfer": {
"PublicIp": "3.",
"AllocationId": "eipalloc-source-account",
"TransferAccountId": "transfer-account",
"TransferOfferExpirationTimestamp": "2022-10-28T08:44:41+00:00",
"AddressTransferStatus": "pending"
}
}
-
이전 계정 소유자에게 탄력적 IP 주소 이전이 보류 상태임을 알립니다.
-
이전을 수락하려면 이전 계정 소유자가 accept-address-transfer 명령을 실행해야 합니다.
aws ec2 accept-address-transfer --address ELASTIC_IP --region us-east-1
출력 예시:
"AddressTransfer": {
"PublicIp": "ELASTIC_IP",
"AllocationId": "eipalloc-source-account",
"TransferAccountId": "transfer-account",
"TransferOfferExpirationTimestamp": "2022-10-28T08:44:41+00:00",
"AddressTransferStatus": "accepted"
}
}
참고: 이전 계정에서는 보류 상태인 탄력적 IP 주소를 볼 수 없습니다. 실수로 잘못된 계정으로 IP 주소를 보낸 경우에 대비한 보안 기능입니다. 이 경우 다른 계정에서 IP 주소를 확인하기 전에 이전을 취소할 수 있습니다.
수락에 실패하면 다음 오류 중 하나가 표시됩니다.
AddressLimitExceeded
InvalidTransfer.AddressCustomPtrSet
InvalidTransfer.AddressAssociated
위의 오류를 해결하려면 이전된 탄력적 IP 주소 수락을 참조하십시오.
-
탄력적 IP 주소가 이전되었는지 확인하려면 계정 소유자를 기반으로 다음 명령을 실행합니다.
이전 계정에서 describe-address 명령을 실행합니다.
aws ec2 describe-addresses --filters "Name=public-ip,Values=ELASTIC_IP" --region us-east-1
출력 예시:
{
"Addresses": [
{
"PublicIp": "ELASTIC_IP",
"AllocationId": "eipalloc-transfer-account22222",
"Domain": "vpc",
"PublicIpv4Pool": "amazon",
"NetworkBorderGroup": "us-east-1"
}
]
}
중요: 이전에 성공하면 이전 소유자 계정의 탄력적 IP 주소에 대한 새 AllocationId가 생성됩니다.
소스 계정에서 describe-address-transfers 명령을 실행합니다.
aws ec2 describe-address-transfers --query
출력 예시:
"AddressTransfers[?AllocationId=='eipalloc-source-account']" --region us-east-1 [
{
"PublicIp": "ELASTIC_IP",
"AllocationId": "eipalloc-source-account",
"TransferAccountId": "transfer-account",
"TransferOfferExpirationTimestamp": "2022-10-28T10:44:41+00:00",
"AddressTransferStatus": "accepted"
}
]