ENA 큐
ENA 큐 (ENA queues)
Elastic Network Adapter(ENA) 큐는 Amazon EC2 네트워크 인터페이스의 패킷 처리를 담당해요. 각 인스턴스 유형에는 Elastic Network Interfaces(ENIs) 간에 공유되는 정해진 수의 ENA 큐가 있어요. 기본적으로 각 ENI는 인스턴스 유형과 크기에 따라 고정된 큐 수를 받아요.
출처: 문서
본문
구성 가능한 ENA 큐 할당을 사용하면 각 ENI가 받는 큐 수를 선택할 수 있어요. ENI당·인스턴스당 총계는 여전히 상한이 적용돼요. 이렇게 하면 패킷 처리를 워크로드에 맞출 수 있어요. 예를 들어 트래픽이 많은 ENI에는 더 많은 큐를, 트래픽이 적은 ENI에는 더 적은 큐를 줄 수 있어요.
EC2 인스턴스 유형의 ENA 큐 사양 (ENA queue specifications for EC2 instance types)
다음 표는 구성 가능한 ENA 큐 할당을 지원하는 인스턴스 유형과 기본/최대 큐 값을 나열해요.
참고 구성 가능한 ENA 큐 할당을 지원하지 않는 유형을 포함한 모든 인스턴스 유형의 ENA 큐 값은 Amazon EC2 Instance Types 가이드의 Network specifications 표를 참고하세요.
범용(General purpose)
| Instance type | Default ENA queues per interface | Maximum ENA queues per interface | Maximum ENA queues per instance |
|---|---|---|---|
| m6i.large | 2 | 2 | 6 |
| m6i.xlarge | 4 | 4 | 16 |
| m6i.2xlarge | 8 | 8 | 32 |
| m6i.4xlarge | 8 | 16 | 64 |
| m6i.8xlarge | 8 | 32 | 64 |
| m6i.12xlarge | 8 | 32 | 64 |
| m6i.16xlarge | 8 | 32 | 120 |
| m6i.24xlarge | 8 | 32 | 120 |
| m6i.32xlarge | 8 | 32 | 120 |
| m6id.large | 2 | 2 | 6 |
| m6id.xlarge | 4 | 4 | 16 |
| m6id.2xlarge | 8 | 8 | 32 |
| m6id.4xlarge | 8 | 16 | 64 |
| m6id.8xlarge | 8 | 32 | 64 |
| m6id.12xlarge | 8 | 32 | 64 |
| m6id.16xlarge | 8 | 32 | 120 |
| m6id.24xlarge | 8 | 32 | 120 |
| m6id.32xlarge | 8 | 32 | 120 |
| m6idn.large | 2 | 2 | 6 |
| m6idn.xlarge | 4 | 4 | 16 |
| m6idn.2xlarge | 8 | 8 | 32 |
| m6idn.4xlarge | 8 | 16 | 64 |
| m6idn.8xlarge | 16 | 32 | 128 |
| m6idn.12xlarge | 16 | 32 | 128 |
| m6idn.16xlarge | 16 | 32 | 240 |
| m6idn.24xlarge | 32 | 32 | 480 |
| m6idn.32xlarge | 32 | 32 | 512 * |
| m6in.large | 2 | 2 | 6 |
| m6in.xlarge | 4 | 4 | 16 |
| m6in.2xlarge | 8 | 8 | 32 |
| m6in.4xlarge | 8 | 16 | 64 |
| m6in.8xlarge | 16 | 32 | 128 |
| m6in.12xlarge | 16 | 32 | 128 |
| m6in.16xlarge | 16 | 32 | 240 |
| m6in.24xlarge | 32 | 32 | 480 |
| m6in.32xlarge | 32 | 32 | 512 * |
| m8a.medium | 1 | 1 | 3 |
| m8a.large | 2 | 2 | 6 |
| m8a.xlarge | 4 | 4 | 16 |
| m8a.2xlarge | 8 | 8 | 32 |
| m8a.4xlarge | 8 | 16 | 64 |
| m8a.8xlarge | 8 | 32 | 128 |
| m8a.12xlarge | 16 | 64 | 192 |
| m8a.16xlarge | 16 | 64 | 256 |
| m8a.24xlarge | 16 | 128 | 384 |
| m8a.48xlarge | 32 | 128 | 768 |
| m8a.metal-24xl | 16 | 128 | 384 |
| m8a.metal-48xl | 32 | 128 | 768 |
| m8azn.medium | 1 | 1 | 3 |
| m8azn.large | 2 | 2 | 8 |
| m8azn.xlarge | 4 | 4 | 16 |
| m8azn.3xlarge | 4 | 16 | 48 |
| m8azn.6xlarge | 8 | 32 | 96 |
| m8azn.12xlarge | 8 | 64 | 192 |
| m8azn.24xlarge | 16 | 128 | 384 |
| m8azn.metal-12xl | 8 | 64 | 192 |
| m8azn.metal-24xl | 16 | 128 | 384 |
| m8gb.medium | 1 | 1 | 2 |
| m8gb.large | 2 | 2 | 6 |
| m8gb.xlarge | 4 | 4 | 16 |
| m8gb.2xlarge | 8 | 8 | 32 |
| m8gb.4xlarge | 8 | 16 | 64 |
| m8gb.8xlarge | 8 | 32 | 128 |
| m8gb.12xlarge | 16 | 64 | 192 |
| m8gb.16xlarge | 16 | 64 | 256 |
| m8gb.24xlarge | 16 | 128 | 384 |
| m8gb.48xlarge | 32 | 128 | 768 * |
| m8gb.metal-24xl | 32 | 128 | 768 |
| m8gb.metal-48xl | 32 | 128 | 768 * |
| m8gn.medium | 1 | 1 | 2 |
| m8gn.large | 2 | 2 | 6 |
| m8gn.xlarge | 4 | 4 | 16 |
| m8gn.2xlarge | 8 | 8 | 32 |
| m8gn.4xlarge | 8 | 16 | 64 |
| m8gn.8xlarge | 8 | 32 | 128 |
| m8gn.12xlarge | 16 | 64 | 192 |
| m8gn.16xlarge | 16 | 64 | 256 |
| m8gn.24xlarge | 16 | 128 | 384 |
| m8gn.48xlarge | 32 | 128 | 768 * |
| m8gn.metal-24xl | 32 | 128 | 768 |
| m8gn.metal-48xl | 32 | 128 | 768 * |
| m8i.large | 2 | 2 | 6 |
| m8i.xlarge | 4 | 4 | 16 |
| m8i.2xlarge | 8 | 8 | 32 |
| m8i.4xlarge | 8 | 16 | 64 |
| m8i.8xlarge | 8 | 32 | 128 |
| m8i.12xlarge | 16 | 64 | 192 |
| m8i.16xlarge | 16 | 64 | 256 |
| m8i.24xlarge | 16 | 128 | 384 |
| m8i.32xlarge | 16 | 128 | 512 |
| m8i.48xlarge | 32 | 128 | 768 |
| m8i.96xlarge | 32 | 128 | 1536 |
(원문에는 범용, 컴퓨팅 최적화, 메모리 최적화, 스토리지 최적화, 가속 컴퓨팅, 고성능 컴퓨팅 패밀리의 인스턴스 유형별 기본/최대 ENA 큐 표가 더 포함됩니다. 모든 값은 원문 표를 그대로 따릅니다.)
컴퓨팅 최적화(Compute optimized) — 예: c6i.large(2/2/6), c6i.xlarge(4/4/16), c6i.2xlarge(8/8/32), c6i.4xlarge(8/16/64), c6i.8xlarge(8/32/64), c6i.12xlarge(8/32/64), c6i.16xlarge(8/32/120), c6i.24xlarge(8/32/120), c6i.32xlarge(8/32/120), c6in/8xlarge(16/32/128), c8i.96xlarge(32/128/1536) 등.
메모리 최적화(Memory optimized) — 예: r6i.large(2/2/6), r6i.xlarge(4/4/16), r6i.2xlarge(8/8/32), r6i.4xlarge(8/16/64), r8i.96xlarge(32/128/1536) 등.
스토리지 최적화(Storage optimized) — 예: i8ge.large(2/2/6), i8ge.48xlarge(32/128/1536 *) 등.
가속 컴퓨팅(Accelerated computing) — 예: g7.2xlarge(8/8/32), g7.48xlarge(32/128/768 *) 등.
고성능 컴퓨팅(High performance computing) — 예: hpc8a.96xlarge(32/128/512 *) 등.
참고
*이 표시된 인스턴스 유형은 네트워크 카드가 여러 개예요. 다른 인스턴스 유형은 네트워크 카드가 하나예요. 자세한 내용은 Network cards를 참고하세요.
ENA 큐 할당 구성 (Configure ENA queue allocation)
지원되는 인스턴스 유형에서 각 ENI의 ENA 큐 수를 구성할 수 있어요. AWS Management Console, AWS CLI 또는 PowerShell을 사용해요. AWS Management Console에서 이 설정은 각 Network interface 아래에 표시돼요.
참고 ENA 큐를 구성하기 전에 다음 요구 사항을 확인해요.
- ENA 큐 수를 구성하기 전에 인스턴스가 중지(stopped)되어 있어야 해요.
- ENA 큐 값은 1, 2, 4, 8, 16, 32 같은 2의 거듭제곱이어야 해요.
- 단일 ENI의 큐 수는 인스턴스의 vCPU 수를 초과할 수 없어요.
큐 수를 변경하기 전에 다음 명령으로 현재 수를 확인해요.
AWS CLI
aws ec2 describe-instances --instance-id i-1234567890abcdef0
PowerShell
(Get-EC2Instance -InstanceId i-1234567890abcdef0 ).Instances.NetworkInterfaces | Select-Object NetworkInterfaceId, @ { N='DeviceIndex';E= { $_.Attachment.DeviceIndex}}, @ { N='AttachmentId';E= { $_.Attachment.AttachmentId}}, @ { N='EnaQueueCount';E= { $_.Attachment.EnaQueueCount}}
ENA 큐가 있는 네트워크 인터페이스 연결 (Attach a network interface with ENA queues)
다음 예시에서는 ENI에 16개의 ENA 큐가 구성돼요.
AWS CLI
ENA 큐가 있는 네트워크 인터페이스 연결하기: attach-network-interface 명령을 사용해요.
aws ec2 attach-network-interface \
--network-interface-id eni-abcdef01234567890 \
--instance-id i-1234567890abcdef0 \
--device-index 1 \
--ena-queue-count 16
PowerShell
ENA 큐가 있는 네트워크 인터페이스 연결하기: Add-EC2NetworkInterface cmdlet을 사용해요.
Add-EC2NetworkInterface `
-NetworkInterfaceId eni-abcdef01234567890 `
-InstanceId i-1234567890abcdef0 `
-DeviceIndex 1 `
-EnaQueueCount 16
ENA 큐가 있는 인스턴스 시작 (Launch an instance with ENA queues)
다음 예시에서는 3개의 ENI 각각에 16개의 ENA 큐가 구성돼요.
AWS CLI
ENA 큐가 있는 인스턴스 시작하기: run-instances 명령을 사용해요.
aws ec2 run-instances \
--image-id ami-1234567890abcdef0 \
--instance-type c8i.4xlarge \
--network-interfaces \
"[ {\"DeviceIndex\":0,\"SubnetId\":\"subnet-abcdef01234567890\",\"EnaQueueCount\":16}, {\"DeviceIndex\":1,\"SubnetId\":\"subnet-abcdef01234567890\",\"EnaQueueCount\":16}, {\"DeviceIndex\":2,\"SubnetId\":\"subnet-abcdef01234567890\",\"EnaQueueCount\":16}]"
PowerShell
ENA 큐가 있는 인스턴스 시작하기: New-EC2Instance cmdlet을 사용해요.
New-EC2Instance `
-ImageId ami-1234567890abcdef0 `
-InstanceType c8i.4xlarge `
-NetworkInterface @(
@ { DeviceIndex=0; SubnetId="subnet-abcdef01234567890"; EnaQueueCount=16},
@ { DeviceIndex=1; SubnetId="subnet-abcdef01234567890"; EnaQueueCount=16},
@ { DeviceIndex=2; SubnetId="subnet-abcdef01234567890"; EnaQueueCount=16}
)
기존 네트워크 인터페이스의 ENA 큐 수정 (Modify ENA queues on an existing network interface)
다음 예시에서는 ENI에 16개의 ENA 큐가 구성돼요.
AWS CLI
네트워크 인터페이스의 ENA 큐 수정하기: modify-network-interface-attribute 명령을 사용해요.
aws ec2 modify-network-interface-attribute \
--network-interface-id eni-1234567890abcdef0 \
--attachment AttachmentId=eni-attach-1234567890abcdef0,EnaQueueCount=16
PowerShell
네트워크 인터페이스의 ENA 큐 수정하기: Edit-EC2NetworkInterfaceAttribute cmdlet을 사용해요.
Edit-EC2NetworkInterfaceAttribute `
-NetworkInterfaceId eni-1234567890abcdef0 `
-Attachment_AttachmentId eni-attach-1234567890abcdef0 `
-Attachment_EnaQueueCount 16
다음 예시에서는 ENA 수를 기본값으로 재설정해요.
AWS CLI
aws ec2 modify-network-interface-attribute \
--network-interface-id eni-1234567890abcdef0 \
--attachment AttachmentId=eni-attach-1234567890abcdef0,DefaultEnaQueueCount=true
PowerShell
Edit-EC2NetworkInterfaceAttribute `
-NetworkInterfaceId eni-1234567890abcdef0 `
-Attachment_AttachmentId eni-attach-1234567890abcdef0 `
-Attachment_DefaultEnaQueueCount $true