탄력적 네트워크 인터페이스(Elastic network interface)
탄력적 네트워크 인터페이스(Elastic network interface)
*탄력적 네트워크 인터페이스(elastic network interface)*는 가상 네트워크 카드를 나타내는 VPC 내의 논리적 네트워킹 구성 요소예요. 이 절에서 네트워크 인터페이스의 속성, 개념, 네트워크 카드에 대해 살펴볼게요.
출처: 문서
본문
탄력적 네트워크 인터페이스는 가상 네트워크 카드를 나타내는 VPC 내의 논리적 네트워킹 구성 요소예요. 네트워크 인터페이스를 만들고 구성해서, 같은 가용 영역에서 시작한 인스턴스에 연결할 수 있어요. 네트워크 인터페이스의 속성은 인스턴스에 연결되거나 분리되어 다른 인스턴스에 다시 연결될 때 따라와요. 네트워크 인터페이스를 한 인스턴스에서 다른 인스턴스로 옮기면 네트워크 트래픽이 원래 인스턴스에서 새 인스턴스로 리다이렉트돼요.
참고로 이 AWS 리소스는 AWS Management Console과 Amazon EC2 API에서 network interface라고 불러요. 그래서 이 문서에서는 "elastic network interface" 대신 "network interface"를 사용해요. 이 문서의 "network interface"라는 용어는 항상 "elastic network interface"를 의미해요.
네트워크 인터페이스 속성
네트워크 인터페이스는 다음 속성을 포함할 수 있어요.
- 서브넷의 IPv4 주소 범위에서 온 기본 개인 IPv4 주소
- 서브넷의 IPv6 주소 범위에서 온 기본 IPv6 주소
- 서브넷의 IPv4 주소 범위에서 온 보조 개인 IPv4 주소
- 각 개인 IPv4 주소당 하나의 Elastic IP 주소(IPv4)
- 공용 IPv4 주소 하나
- 보조 IPv6 주소
- 보안 그룹
- MAC 주소
- 소스/대상 확인(source/destination check) 플래그
- 설명
트래픽 모니터링
네트워크 인터페이스에 VPC flow log를 활성화해 네트워크 인터페이스로 오고 가는 트래픽 정보를 캡처할 수 있어요. Flow log를 만든 후에는 Amazon CloudWatch Logs에서 그 데이터를 보고 검색할 수 있어요. 자세한 내용은 Amazon VPC User Guide의 VPC Flow Logs를 참고하세요.
네트워크 인터페이스 개념
네트워크 인터페이스 사용을 시작하면서 이해해야 할 중요한 개념은 다음과 같아요.
기본 네트워크 인터페이스 —
각 인스턴스에는 primary network interface라고 하는 기본 네트워크 인터페이스가 있어요. 기본 네트워크 인터페이스는 인스턴스에서 분리할 수 없어요.
보조 네트워크 인터페이스 —
보조 네트워크 인터페이스를 만들어 인스턴스에 연결할 수 있어요. 네트워크 인터페이스의 최대 수는 인스턴스 유형에 따라 달라져요. 자세한 내용은 Maximum IP addresses per network interface를 참고하세요.
네트워크 인터페이스용 IPv4 주소 —
EC2 인스턴스를 IPv4 전용 또는 이중 스택(dual stack) 서브넷에 시작하면 인스턴스는 서브넷의 IPv4 주소 범위에서 기본 개인 IP 주소를 받아요. secondary private IPv4 addresses라고 하는 추가 개인 IPv4 주소도 지정할 수 있어요. 기본 개인 IP 주소와 달리 보조 개인 IP 주소는 한 인스턴스에서 다른 인스턴스로 다시 할당할 수 있어요.
네트워크 인터페이스용 공용 IPv4 주소 —
모든 서브넷에는 그 서브넷에서 만들어진 네트워크 인터페이스(따라서 그 서브넷에 시작된 인스턴스)에 공용 IPv4 주소를 할당할지 결정하는 수정 가능한 속성이 있어요. 자세한 내용은 Amazon VPC User Guide의 Subnet settings를 참고하세요. 인스턴스를 시작하면 IP 주소가 기본 네트워크 인터페이스에 할당돼요. 인스턴스를 시작할 때 기존 네트워크 인터페이스를 기본 네트워크 인터페이스로 지정하면 공용 IPv4 주소는 이 네트워크 인터페이스로 결정돼요.
네트워크 인터페이스를 만들면 서브넷에서 공용 IPv4 주소 지정 속성을 상속해요. 나중에 서브넷의 공용 IPv4 주소 지정 속성을 수정해도 네트워크 인터페이스는 만들어질 당시 유효했던 설정을 유지해요.
인스턴스가 중지, 하이버네이션, 종료되면 공용 IP 주소를 해제해요. 중지되거나 하이버네이션된 인스턴스를 시작하면 새 공용 IP 주소를 할당해요(보조 네트워크 인터페이스나 Elastic IP 주소와 연결된 보조 개인 IPv4 주소가 없는 경우).
네트워크 인터페이스용 IPv6 주소 —
VPC와 서브넷에 IPv6 CIDR 블록을 연결하면 서브넷 범위의 IPv6 주소를 네트워크 인터페이스에 할당할 수 있어요. 각 IPv6 주소는 하나의 네트워크 인터페이스에 할당할 수 있어요.
모든 서브넷에는 그 서브넷에서 만들어진 네트워크 인터페이스(따라서 그 서브넷에 시작된 인스턴스)에 서브넷 범위의 IPv6 주소를 자동으로 할당할지 결정하는 수정 가능한 속성이 있어요. 인스턴스를 시작하면 IPv6 주소가 기본 네트워크 인터페이스에 할당돼요.
네트워크 인터페이스용 Elastic IP 주소 —
Elastic IP 주소를 네트워크 인터페이스의 개인 IPv4 주소 중 하나와 연결할 수 있어요. 각 개인 IPv4 주소에 Elastic IP 주소 하나를 연결할 수 있어요. Elastic IP 주소를 네트워크 인터페이스에서 분리하면 해제하거나 다른 인스턴스에 연결할 수 있어요.
종료 동작 —
인스턴스에 연결된 네트워크 인터페이스의 종료 동작을 설정할 수 있어요. 연결된 인스턴스를 종료할 때 네트워크 인터페이스를 자동으로 삭제할지 여부를 지정할 수 있어요.
소스/대상 확인 —
소스/대상 확인을 활성화하거나 비활성화할 수 있는데, 이는 인스턴스가 받는 모든 트래픽의 소스 또는 대상이 되도록 보장해요. 소스/대상 확인은 기본적으로 활성화되어 있어요. 인스턴스가 네트워크 주소 변환, 라우팅, 방화벽 같은 서비스를 실행하면 소스/대상 확인을 비활성화해야 해요.
요청자 관리 네트워크 인터페이스(Requester-managed network interfaces) —
이 네트워크 인터페이스들은 일부 리소스와 서비스를 사용할 수 있게 하기 위해 AWS 서비스가 만들고 관리해요. 이 네트워크 인터페이스들은 직접 관리할 수 없어요. 자세한 내용은 Requester-managed network interfaces를 참고하세요.
접두사 위임(Prefix delegation) —
접두사(prefix)는 인스턴스와 연결된 네트워크 인터페이스에 자동 또는 수동으로 할당하기 위해 예약한 개인 IPv4 또는 IPv6 CIDR 범위예요. Delegated Prefixes를 사용하면 IP 주소 범위를 단일 접두사로 할당해 서비스를 더 빨리 시작할 수 있어요.
관리형 네트워크 인터페이스(Managed network interfaces) —
관리형 네트워크 인터페이스는 Amazon EKS Auto Mode 같은 서비스 공급자가 관리해요. 관리형 네트워크 인터페이스의 설정을 직접 수정할 수는 없어요. 관리형 네트워크 인터페이스는 Managed 필드의 true 값으로 식별돼요. 자세한 내용은 Amazon EC2 managed instances를 참고하세요.
네트워크 카드
대부분의 인스턴스 유형은 네트워크 카드 하나를 지원해요. 여러 네트워크 카드를 지원하는 인스턴스 유형은 100 Gbps 이상의 대역폭과 개선된 패킷 속도 성능을 포함해 더 높은 네트워크 성능을 제공해요. 여러 네트워크 카드를 지원하는 인스턴스에 네트워크 인터페이스를 연결할 때 네트워크 인터페이스용 네트워크 카드를 선택할 수 있어요. 기본 네트워크 인터페이스는 반드시 네트워크 카드 index 0에 할당해야 해요.
EFA와 EFA 전용 네트워크 인터페이스는 네트워크 인터페이스로 간주돼요. 네트워크 카드당 EFA 또는 EFA 전용 네트워크 인터페이스 하나만 할당할 수 있어요. 기본 네트워크 인터페이스는 EFA 전용 네트워크 인터페이스일 수 없어요.
다음 인스턴스 유형은 여러 네트워크 카드를 지원해요. 인스턴스 유형이 지원하는 네트워크 인터페이스 수에 대한 정보는 Maximum IP addresses per network interface를 참고하세요.
| 인스턴스 유형 | 네트워크 카드 수 |
|---|---|
| c6in.32xlarge | 2 |
| c6in.metal | 2 |
| c8gb.48xlarge | 2 |
| c8gb.metal-48xl | 2 |
| c8gn.48xlarge | 2 |
| c8gn.metal-48xl | 2 |
| c8in.96xlarge | 2 |
| c8in.metal-96xl | 2 |
| c8ib.96xlarge | 2 |
| c8ib.metal-96xl | 2 |
| dl1.24xlarge | 4 |
| g6e.24xlarge | 2 |
| g6e.48xlarge | 4 |
| g7.48xlarge | 2 |
| g7e.24xlarge | 2 |
| g7e.48xlarge | 4 |
| hpc6id.32xlarge | 2 |
| hpc7a.12xlarge | 2 |
| hpc7a.24xlarge | 2 |
| hpc7a.48xlarge | 2 |
| hpc7a.96xlarge | 2 |
| hpc8a.96xlarge | 2 |
| i7ie.48xlarge | 2 |
| i7ie.metal-48xl | 2 |
| i8ge.48xlarge | 2 |
| i8ge.metal-48xl | 2 |
| m6idn.32xlarge | 2 |
| m6idn.metal | 2 |
| m6in.32xlarge | 2 |
| m6in.metal | 2 |
| m8gb.48xlarge | 2 |
| m8gb.metal-48xl | 2 |
| m8gn.48xlarge | 2 |
| m8gn.metal-48xl | 2 |
| m8in.96xlarge | 2 |
| m8in.metal-96xl | 2 |
| m8idn.96xlarge | 2 |
| m8idn.metal-96xl | 2 |
| m8ib.96xlarge | 2 |
| m8ib.metal-96xl | 2 |
| m8idb.96xlarge | 2 |
| m8idb.metal-96xl | 2 |
| p4d.24xlarge | 4 |
| p4de.24xlarge | 4 |
| p5.48xlarge | 32 |
| p5e.48xlarge | 32 |
| p5en.48xlarge | 16 |
| p6-b200.48xlarge | 8 |
| p6-b300.48xlarge | 17 |
| p6e-gb200.36xlarge | 17 |
| r8gb.48xlarge | 2 |
| r8gb.metal-48xl | 2 |
| r8gn.48xlarge | 2 |
| r8gn.metal-48xl | 2 |
| r8in.96xlarge | 2 |
| r8in.metal-96xl | 2 |
| r8idn.96xlarge | 2 |
| r8idn.metal-96xl | 2 |
| r8ib.96xlarge | 2 |
| r8ib.metal-96xl | 2 |
| r8idb.96xlarge | 2 |
| r8idb.metal-96xl | 2 |
| r6idn.32xlarge | 2 |
| r6idn.metal | 2 |
| r6in.32xlarge | 2 |
| r6in.metal | 2 |
| trn1.32xlarge | 8 |
| trn1n.32xlarge | 16 |
| trn2.48xlarge | 16 |
| trn2u.48xlarge | 16 |
| u7in-16tb.224xlarge | 2 |
| u7in-24tb.224xlarge | 2 |
| u7in-32tb.224xlarge | 2 |
| u7inh-32tb.480xlarge | 2 |