

# EC2 인스턴스용 네트워크 인터페이스 생성
<a name="create-network-interface"></a>

EC2 인스턴스에서 사용할 네트워크 인터페이스를 생성할 수 있습니다. 네트워크 인터페이스를 생성할 때 네트워크 인터페이스를 생성할 서브넷을 지정합니다. 네트워크 인터페이스는 일단 생성되고 나면 다른 서브넷으로 옮길 수 없습니다. 네트워크 인터페이스는 동일한 가용 영역의 인스턴스에 연결해야 합니다. 보조 네트워크 인터페이스를 인스턴스에서 분리한 다음 동일한 가용 영역의 다른 인스턴스에 연결할 수 있습니다. 주 네트워크 인터페이스는 인스턴스에서 분리할 수 없습니다. 자세한 내용은 [EC2 인스턴스용 네트워크 인터페이스 연결](network-interface-attachments.md) 섹션을 참조하세요.

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

**네트워크 인터페이스를 생성하는 방법**

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

1. 탐색 창에서 **Network Interfaces**를 선택합니다.

1. **네트워크 인터페이스 생성**을 선택합니다.

1. (선택 사항) **설명**에 설명적인 이름을 입력합니다.

1. **서브넷**에서 서브넷을 선택합니다. 다음 단계에서 사용할 수 있는 옵션은 선택한 서브넷 유형(IPv4 전용, IPv6 전용 또는 이중 스택 (IPv4 및 IPv6))에 따라 달라집니다.

1. **인터페이스 유형**에서 다음 중 하나를 선택합니다.
   + **ENA**: CPU 사용량을 최소화하면서 TCP/IP 프로토콜의 높은 처리량과 초당 패킷 속도를 처리하도록 설계된 고성능 네트워크 인터페이스입니다. 이것이 기본값입니다. ENA에 대한 자세한 내용은 [Elastic Network Adapter](enhanced-networking-ena.md) 섹션을 참조하세요.
   + **ENA 포함 EFA**: SRD 기반 전송과 함께 기존 TCP/IP 기반 전송을 위해 ENA 디바이스와 EFA 디바이스를 모두 지원하는 네트워크 인터페이스입니다. ENA가 포함된 EFA를 선택하는 경우 연결하려는 인스턴스가 [EFA를 지원](efa.md#efa-instance-types)해야 합니다. EFA에 대한 자세한 내용은 [Elastic Fabric Adapter](efa.md) 섹션을 참조하세요.
   + **EFA 전용**: 운영 체제 스택을 우회하면서 SRD 기반 전송을 위한 높은 처리량과 지연 시간이 짧은 노드 간 통신을 처리하도록 설계된 고성능 네트워크 인터페이스입니다. 이 옵션을 선택하는 경우 연결하려는 인스턴스가 [EFA를 지원](efa.md#efa-instance-types)해야 합니다. EFA 전용 네트워크 인터페이스는 IP 주소를 지원하지 않습니다. EFA에 대한 자세한 내용은 [Elastic Fabric Adapter](efa.md) 섹션을 참조하세요.

1. **프라이빗 IPv4 주소**에 대해 다음 중 하나를 수행합니다.
   + **자동 할당**을 선택하여 Amazon EC2가 서브넷에서 IPv4 주소를 선택하도록 허용합니다.
   + **사용자 지정**을 선택하고 서브넷에서 선택한 IPv4 주소를 입력합니다.

1. (IPv6 주소가 있는 서브넷에만 해당) **IPv6 주소**에서 다음 중 하나를 수행합니다.
   + 네트워크 인터페이스에 IPv6 주소를 할당하지 않으려는 경우 **없음**을 선택합니다.
   + **자동 할당**을 선택하여 Amazon EC2가 서브넷에서 IPv6 주소를 선택하도록 허용합니다.
   + **사용자 지정**을 선택하고 서브넷에서 선택한 IPv6 주소를 입력합니다.

1. (선택 사항) 듀얼 스택 또는 IPv6 전용 서브넷에서 네트워크 인터페이스를 생성하는 경우 **기본 IPv6 IP를 할당**할 수 있습니다. 이렇게 하면 네트워크 인터페이스에 기본 IPv6 글로벌 유니캐스트 주소(GUA)가 할당됩니다. 기본 IPv6 주소를 할당하면 인스턴스나 ENI에 대한 트래픽 중단을 방지할 수 있습니다. 이 ENI가 연결될 인스턴스가 변경되지 않는 IPv6 주소를 사용하는 경우 **활성화**를 선택하세요. AWS은(는) 인스턴스에 연결된 ENI와 연결된 IPv6 주소를 기본 IPv6 주소로 자동 할당합니다. IPv6 GUA 주소를 기본 IPv6로 활성화한 후에는 비활성화할 수 없습니다. IPv6 GUA 주소를 기본 IPv6로 활성화하면 인스턴스가 종료되거나 네트워크 인터페이스가 분리될 때까지 첫 번째 IPv6 GUA가 기본 IPv6 주소로 설정됩니다. 인스턴스에 연결된 ENI와 연결된 IPv6 주소가 여러 개 있고 기본 IPv6 주소를 활성화한 경우 ENI와 연결된 첫 번째 IPv6 GUA 주소가 기본 IPv6 주소가 됩니다.

1. (선택 사항) Elastic Fabric Adapter(EFA)를 생성하려면 **Elastic Fabric Adapter(EFA)**,**활성화**를 선택합니다.

1. (선택 사항) **고급 설정**에서 선택적으로 IP 접두사 위임을 설정할 수 있습니다. 자세한 내용은 [접두사 위임](ec2-prefix-eni.md) 섹션을 참조하세요.
   + **자동 할당**-AWS가 서브넷의 IPv4 또는 IPv6 CIDR 블록에서 접두사를 선택하고 네트워크 인터페이스에 할당합니다.
   + **사용자 지정**-사용자가 서브넷의 IPv4 또는 IPv6 CIDR 블록에서 접두사를 지정하고, AWS는 접두사를 네트워크 인터페이스에 할당하기 전에 접두사가 다른 리소스에 할당되지 않았는지 확인합니다.

1. (선택 사항) **고급 설정**에서 **유휴 연결 추적 제한 시간**에 대해 기본 유휴 연결 제한 시간을 수정합니다. 자세한 내용은 [유휴 연결 추적 제한 시간](security-group-connection-tracking.md#connection-tracking-timeouts) 섹션을 참조하세요.
   + **TCP 설정 제한 시간**: 설정된 상태의 유휴 TCP 연결에 대한 제한 시간(초)입니다.
     + 최솟값: `60`초
     + 최댓값: `432000`초
     + 기본값: [Nitrov6](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) 인스턴스 유형(P6e-GB200 제외)의 경우 `350`초. 기타 인스턴스 유형 및 P6e-GB200의 경우 `432000`초.
     + 권장값: `432000`초 미만
   + **UDP 제한 시간**: 단일 방향 또는 단일 요청-응답 트랜잭션의 트래픽만 확인한 유휴 UDP 흐름의 제한 시간(초)입니다.
     + 최솟값: `30`초
     + 최댓값: `60`초
     + 기본값: `30`초
   + **UDP 스트림 제한 시간**: 둘 이상의 요청-응답 트랜잭션을 확인한 스트림으로 분류된 유휴 UDP 흐름의 제한 시간(초)입니다.
     + 최솟값: `60`초
     + 최댓값: `180`초
     + 기본값: `180`초

1. **보안 그룹**에서 하나 이상의 보안 그룹을 선택합니다.

1. (선택 사항) 각 태그에 대해 [**새 태그 추가(Add new tag)**]를 선택하고 태그 키와 선택적 태그 값을 입력합니다.

1. **네트워크 인터페이스 생성**을 선택합니다.

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

**예제 1: Amazon EC2에서 선택한 IP 주소로 네트워크 인터페이스를 생성하는 방법**  
다음 [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) 명령을 사용합니다. 이 예제에서는 Amazon EC2에서 선택한 퍼블릭 IPv4 주소와 IPv6 주소로 네트워크 인터페이스를 생성합니다.

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my dual-stack network interface" \
    --ipv6-address-count 1 \
    --groups sg-1234567890abcdef0
```

**예제 2: 특정 IP 주소로 네트워크 인터페이스를 생성하는 방법**  
다음 [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) 명령을 사용합니다.

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my dual-stack network interface" \
    --private-ip-address 10.251.50.12 \
    --ipv6-addresses 2001:db8::1234:5678:1.2.3.4 \
    --groups sg-1234567890abcdef0
```

**예제 3: 여러 보조 IP 주소로 네트워크 인터페이스를 생성하는 방법**  
다음 [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) 명령을 사용합니다. 이 예제의 Amazon EC2에서는 기본 IP 주소와 보조 IP 주소를 모두 선택합니다.

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my network interface" \
    --secondary-private-ip-address-count 2 \
    --groups sg-1234567890abcdef0
```

**예제 4: 특정 보조 IP 주소로 네트워크 인터페이스를 생성하는 방법**  
다음 [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) 명령을 사용합니다. 이 예제에서는 기본 IP 주소와 보조 IP 주소를 지정합니다.

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my network interface" \
    --private-ip-addresses PrivateIpAddress=10.0.1.30,Primary=true \
                           PrivateIpAddress=10.0.1.31,Primary=false
    --groups sg-1234567890abcdef0
```

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

**예제 1: Amazon EC2에서 선택한 IP 주소로 네트워크 인터페이스를 생성하는 방법**  
[New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) cmdlet을 사용합니다. 이 예제에서는 Amazon EC2에서 선택한 퍼블릭 IPv4 주소와 IPv6 주소로 네트워크 인터페이스를 생성합니다.

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my dual-stack network interface" `
    -Ipv6AddresCount 1 `
    -Group sg-1234567890abcdef0
```

**예제 2: 특정 IP 주소로 네트워크 인터페이스를 생성하는 방법**  
[New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) cmdlet을 사용합니다.

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my dual-stack network interface" `
    -PrivateIpAddress 10.251.50.12 `
    -Ipv6Address $ipv6addr `
    -Group sg-1234567890abcdef0
```

다음과 같이 IPv6 주소를 정의합니다.

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

**예제 3: 여러 보조 IP 주소로 네트워크 인터페이스를 생성하는 방법**  
[New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) cmdlet을 사용합니다. 이 예제의 Amazon EC2에서는 기본 IP 주소와 보조 IP 주소를 모두 선택합니다.

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my network interface" `
    -SecondaryPrivateIpAddressCount 2 `
    -Group sg-1234567890abcdef0
```

**예제 4: 특정 보조 IP 주소로 네트워크 인터페이스를 생성하는 방법**  
[New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) cmdlet을 사용합니다. 이 예제에서는 기본 IP 주소와 보조 IP 주소를 지정합니다.

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my network interface" `
    -PrivateIpAddresses @($primary, $secondary) `
    -Group sg-1234567890abcdef0
```

다음과 같이 보조 주소를 정의합니다.

```
$primary = New-Object Amazon.EC2.Model.PrivateIpAddressSpecification
$primary.PrivateIpAddress = "10.0.1.30"
$primary.Primary = $true
$secondary = New-Object Amazon.EC2.Model.PrivateIpAddressSpecification
$secondary.PrivateIpAddress = "10.0.1.31"
$secondary.Primary = $false
```

------