

# EC2 인스턴스에 대한 IPv6 주소 관리
<a name="working-with-ipv6-addresses"></a>

VPC와 서브넷에 연결된 IPv6 CIDR 블록이 있는 경우, 시작 중 또는 시작 후 인스턴스에 IPv6 주소를 할당할 수 있습니다. **인스턴스** 페이지 또는 **네트워크 인터페이스** 페이지를 통해 콘솔에서 인스턴스의 IPv6 주소에 액세스할 수 있습니다. 다음 작업은 인스턴스의 IP 주소를 구성합니다. 대신 네트워크 인터페이스의 IP 주소를 구성하려면 [네트워크 인터페이스의 IP 주소 관리](managing-network-interface-ip-addresses.md) 섹션을 참조하세요.

**Topics**
+ [인스턴스에 IPv6 주소 할당](#assign-ipv6-address)
+ [인스턴스에 대한 IPv6 주소 보기:](#view-ipv6-addresses)
+ [인스턴스 메타데이터를 사용하여 IPv6 주소 보기](#view-ipv6-addresses-imds)
+ [인스턴스에서 IPv6 주소 할당 해제](#unassign-ipv6-address)

## 인스턴스에 IPv6 주소 할당
<a name="assign-ipv6-address"></a>

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

------
#### [ Console ]

**시작 시 IPv6 주소를 할당하는 방법**  
[인스턴스 시작](ec2-launch-instance-wizard.md) 절차를 따릅니다. [네트워크 설정](ec2-instance-launch-parameters.md#liw-network-settings)을 구성할 때 **IPv6 IP 자동 할당** 옵션을 선택합니다. 이 옵션이 표시되지 않으면 선택한 서브넷과 연결된 IPv6 CIDR 블록이 없는 것입니다.

**시작 후에 IPv6 주소를 할당하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **작업**, **네트워킹**, **IP 주소 관리**를 차례로 선택합니다.

1. 네트워크 인터페이스를 확장합니다. **IPv6 주소**에서 **새 IP 주소 할당**을 선택합니다.

1. 서브넷 범위 중에서 IPv6 주소를 입력하거나 필드를 비워 두어 Amazon EC2가 IPv6 주소를 선택하도록 합니다. 이 옵션이 표시되지 않으면 인스턴스 서브넷과 연결된 IPv6 CIDR 블록이 없는 것입니다.

1. **저장**을 선택합니다.

------
#### [ AWS CLI ]

**시작 시 IPv6 주소를 할당하는 방법**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 `--ipv6-addresses` 옵션과 함께 사용합니다. 다음 예제에서는 2개의 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` 옵션을 사용합니다. 다음 예제에서는 2개의 IPv6 주소를 할당합니다.

```
--ipv6-address-count 2
```

**시작 후에 IPv6 주소를 할당하려면**  
[assign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-ipv6-addresses.html) 명령을 사용합니다. 다음 예제에서는 2개의 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` 옵션을 사용합니다. 다음 예제에서는 2개의 IPv6 주소를 할당합니다.

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

------
#### [ PowerShell ]

**시작 시 IPv6 주소를 할당하는 방법**  
`-Ipv6Address` 파라미터와 함께 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet을 사용합니다. 다음 예제에서는 2개의 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` 파라미터를 사용합니다. 다음 예제에서는 2개의 IPv6 주소를 할당합니다.

```
-Ipv6AddressCount 2
```

**시작 후에 IPv6 주소를 할당하려면**  
[Register-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Ipv6AddressList.html) cmdlet을 사용합니다. 다음 예제에서는 2개의 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` 파라미터를 사용합니다. 다음 예제에서는 2개의 IPv6 주소를 할당합니다.

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

------

## 인스턴스에 대한 IPv6 주소 보기:
<a name="view-ipv6-addresses"></a>

인스턴스에 대한 IPv6 주소를 볼 수 있습니다.

------
#### [ Console ]

**인스턴스에 대한 IPv6 주소를 보는 방법**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택합니다.

1. **네트워킹** 탭에서 **IPv6 주소**를 찾습니다.

------
#### [ AWS CLI ]

**인스턴스에 대한 IPv6 주소를 보는 방법**  
아래와 같이 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용합니다.

```
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](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용합니다.

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

다음은 예제 출력입니다.

```
2001:db8::1234:5678:1.2.3.4
```

------

## 인스턴스 메타데이터를 사용하여 IPv6 주소 보기
<a name="view-ipv6-addresses-imds"></a>

인스턴스에 연결한 후 인스턴스 메타데이터를 사용하여 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 주소 할당 해제
<a name="unassign-ipv6-address"></a>

언제든지 인스턴스에서 IPv6 주소 할당을 해제할 수 있습니다.

------
#### [ Console ]

**인스턴스에서 IPv6 주소 할당 해제**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택하고 **작업**, **네트워킹**, **IP 주소 관리**를 차례로 선택합니다.

1. 네트워크 인터페이스를 확장합니다. **IPv6 주소**에서 해당 IPv6 주소 옆의 **할당 해제**를 선택합니다.

1. **저장**을 선택합니다.

------
#### [ AWS CLI ]

**인스턴스에서 IPv6 주소 할당 해제**  
[unassign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-ipv6-addresses.html) 명령을 사용합니다.

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

------
#### [ PowerShell ]

**인스턴스에서 IPv6 주소 할당 해제**  
[Unregister-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2Ipv6AddressList.html) cmdlet을 사용합니다.

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

------