EC2 인스턴스의 IPv6 주소 관리

EC2 인스턴스의 IPv6 주소 관리 (Manage the IPv6 addresses for your EC2 instances)

VPC와 서브넷에 IPv6 CIDR 블록이 연결되어 있으면, 시작 시점 또는 시작 후에 인스턴스에 IPv6 주소를 할당할 수 있어요. 콘솔의 Instances 페이지나 Network Interfaces 페이지에서 인스턴스의 IPv6 주소에 접근할 수 있어요. 다음 작업은 인스턴스에 대한 IP 주소를 구성해요. 네트워크 인터페이스에 대한 IP 주소를 구성하려면 네트워크 인터페이스의 IP 주소 관리를 참고하세요.

출처: 문서

본문

인스턴스에 IPv6 주소 할당 (Assign an IPv6 address to an instance)

서브넷의 IPv6 주소 범위에서 IPv6 주소를 지정하거나 Amazon EC2가 하나를 선택하도록 할 수 있어요. 이 주소는 기본 네트워크 인터페이스에 할당돼요. 다음 인스턴스 유형은 IPv6 주소를 지원하지 않는다는 점에 유의하세요: C1, M1, M2, M3, T1.

콘솔 (Console)

시작 시 IPv6 주소 할당하기: 인스턴스 시작 절차를 따라요. Network Settings를 구성할 때 Auto-assign IPv6 IP 옵션을 선택해요. 이 옵션이 보이지 않으면 선택한 서브넷에 연결된 IPv6 CIDR 블록이 없는 것이에요.

시작 후 IPv6 주소 할당하기: Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다. 탐색 창에서 Instances를 선택해요. 인스턴스를 선택하고 Actions, Networking, Manage IP addresses를 선택해요. 네트워크 인터페이스를 펼쳐요. IPv6 addresses 아래에서 Assign new IP address를 선택해요. 서브넷의 범위에서 IPv6 주소를 입력하거나, Amazon EC2가 IPv6 주소를 선택하도록 필드를 비워 두세요. 이 옵션이 보이지 않으면 인스턴스 서브넷에 연결된 IPv6 CIDR 블록이 없는 것이에요. Save를 선택해요.

AWS CLI

시작 시 IPv6 주소 할당하기: --ipv6-addresses 옵션과 함께 run-instances 명령을 사용해요. 다음 예시는 IPv6 주소 두 개를 할당해요.

--ipv6-addresses Ipv6Address=2001:db8::1234:5678:1.2.3.4 Ipv6Address=2001:db8::1234:5678:5.6.7.8

Amazon EC2가 IPv6 주소를 선택하도록 하려면 --ipv6-address-count 옵션을 대신 사용해요. 다음 예시는 IPv6 주소 두 개를 할당해요.

--ipv6-address-count 2

시작 후 IPv6 주소 할당하기: assign-ipv6-addresses 명령을 사용해요. 다음 예시는 IPv6 주소 두 개를 할당해요.

aws ec2 assign-ipv6-addresses \
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-addresses 2001:db8::1234:5678:1.2.3.4 2001:db8::1234:5678:5.6.7.8

Amazon EC2가 IPv6 주소를 선택하도록 하려면 --ipv6-address-count 옵션을 대신 사용해요. 다음 예시는 IPv6 주소 두 개를 할당해요.

aws ec2 assign-ipv6-addresses \
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-address-count 2

PowerShell

시작 시 IPv6 주소 할당하기: -Ipv6Address 파라미터와 함께 New-EC2Instance cmdlet을 사용해요. 다음 예시는 IPv6 주소 두 개를 할당해요.

-Ipv6Address $ipv6addr1,$ipv6addr2

IPv6 주소를 다음과 같이 정의해요.

$ipv6addr1 = New-Object Amazon.EC2.Model.InstanceIpv6Address
$ipv6addr1.Ipv6Address = "2001:db8::1234:5678:1.2.3.4"
$ipv6addr2 = New-Object Amazon.EC2.Model.InstanceIpv6Address
$ipv6addr2.Ipv6Address = "2001:db8::1234:5678:5.6.7.8"

Amazon EC2가 IPv6 주소를 선택하도록 하려면 -Ipv6AddressCount 파라미터를 대신 사용해요. 다음 예시는 IPv6 주소 두 개를 할당해요.

-Ipv6AddressCount 2

시작 후 IPv6 주소 할당하기: Register-EC2Ipv6AddressList cmdlet을 사용해요. 다음 예시는 IPv6 주소 두 개를 할당해요.

Register-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6Address "2001:db8::1234:5678:1.2.3.4","2001:db8::1234:5678:5.6.7.8"

Amazon EC2가 IPv6 주소를 선택하도록 하려면 -Ipv6AddressCount 파라미터를 대신 사용해요. 다음 예시는 IPv6 주소 두 개를 할당해요.

Register-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6AddressCount 2

인스턴스의 IPv6 주소 보기 (View the IPv6 addresses for an instance)

인스턴스의 IPv6 주소를 볼 수 있어요.

콘솔 (Console)

인스턴스의 IPv6 주소 보기: Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다. 탐색 창에서 Instances를 선택해요. 인스턴스를 선택해요. Networking 탭에서 IPv6 addresses를 찾아요.

AWS CLI

인스턴스의 IPv6 주소 보기: describe-instances 명령을 사용해요.

aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[*].Instances[].Ipv6Address" \
    --output text

다음은 예시 출력이에요.

2001:db8::1234:5678:1.2.3.4

PowerShell

인스턴스의 IPv6 주소 보기: Get-EC2Instance cmdlet을 사용해요.

(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0 ).Instances.Ipv6Address

다음은 예시 출력이에요.

2001:db8::1234:5678:1.2.3.4

인스턴스 메타데이터로 IPv6 주소 보기 (View IPv6 addresses using instance metadata)

인스턴스에 연결한 후 인스턴스 메타데이터를 사용해 IPv6 주소를 검색할 수 있어요. 먼저 http://169.254.169.254/latest/meta-data/network/interfaces/macs/에서 인스턴스의 MAC 주소를 가져와야 해요.

IMDSv2

Linux — Linux 인스턴스에서 다음 명령을 실행해요.

TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s

Windows — Windows 인스턴스에서 다음 cmdlet을 실행해요.

[string]$token = Invoke-RestMethod -Headers @ { "X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
Invoke-RestMethod -Headers @ { "X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s

IMDSv1

Linux — Linux 인스턴스에서 다음 명령을 실행해요.

curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s

Windows — Windows 인스턴스에서 다음 cmdlet을 실행해요.

Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s

인스턴스에서 IPv6 주소 할당 해제 (Unassign an IPv6 address from an instance)

언제든지 인스턴스에서 IPv6 주소를 할당 해제할 수 있어요.

콘솔 (Console)

인스턴스에서 IPv6 주소 할당 해제하기: Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다. 탐색 창에서 Instances를 선택해요. 인스턴스를 선택하고 Actions, Networking, Manage IP addresses를 선택해요. 네트워크 인터페이스를 펼쳐요. IPv6 addresses 아래에서 IPv6 주소 옆의 Unassign을 선택해요. Save를 선택해요.

AWS CLI

인스턴스에서 IPv6 주소 할당 해제하기: unassign-ipv6-addresses 명령을 사용해요.

aws ec2 unassign-ipv6-addresses \
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-addresses 2001:db8::1234:5678:1.2.3.4

PowerShell

인스턴스에서 IPv6 주소 할당 해제하기: Unregister-EC2Ipv6AddressList cmdlet을 사용해요.

Unregister-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6Address 2001:db8::1234:5678:1.2.3.4

더 알아보기 (Learn more)