Amazon EC2 인스턴스의 MTU 설정

Amazon EC2 인스턴스의 MTU 설정 (Set the MTU for your Amazon EC2 instances)

네트워크 연결의 최대 전송 단위(MTU)는 연결을 통해 전달할 수 있는 가장 큰 허용 패킷의 크기(바이트)예요. 모든 Amazon EC2 인스턴스는 표준 프레임(1500 MTU)을 지원하며, 모든 현재 세대 인스턴스 유형은 점보 프레임(9001 MTU)을 지원해요.

Amazon EC2 인스턴스의 MTU를 확인하고, 인스턴스와 다른 호스트 사이의 경로 MTU를 확인하고, 인스턴스가 표준 프레임이나 점보 프레임을 사용하도록 구성할 수 있어요.

작업 (Tasks)

  • 두 호스트 사이의 경로 MTU 확인
  • 인스턴스의 MTU 확인
  • 인스턴스의 MTU 설정

두 호스트 사이의 경로 MTU 확인 (Check the path MTU between two hosts)

EC2 인스턴스와 다른 호스트 사이의 경로 MTU를 확인할 수 있어요. 대상으로 DNS 이름이나 IP 주소를 지정할 수 있어요. 대상이 다른 EC2 인스턴스라면 해당 보안 그룹이 인바운드 UDP 트래픽을 허용하는지 확인하세요.

사용하는 절차는 인스턴스의 운영 체제에 따라 달라져요.

Linux

인스턴스에서 tracepath 명령을 실행해 EC2 인스턴스와 지정된 대상 사이의 경로 MTU를 확인하세요. 이 명령은 많은 Linux 배포판에서 기본적으로 사용할 수 있는 iputils 패키지의 일부예요. 이 예시는 EC2 인스턴스와 amazon.com 사이의 경로 MTU를 확인해요.

[ec2-user ~]$ tracepath amazon.com

이 예시 출력에서 경로 MTU는 1500이에요.

 1?: [LOCALHOST]     pmtu 9001
 1:  ip-172-31-16-1.us-west-1.compute.internal (172.31.16.1)   0.187ms pmtu 1500
 1:  no reply
 2:  no reply
 3:  no reply
 4:  100.64.16.241 (100.64.16.241)                          0.574ms
 5:  72.21.222.221 (72.21.222.221)                         84.447ms asymm 21
 6:  205.251.229.97 (205.251.229.97)                       79.970ms asymm 19
 7:  72.21.222.194 (72.21.222.194)                         96.546ms asymm 16
 8:  72.21.222.239 (72.21.222.239)                         79.244ms asymm 15
 9:  205.251.225.73 (205.251.225.73)                       91.867ms asymm 16
...
31:  no reply
     Too many hops: pmtu 1500
     Resume: pmtu 1500

Windows (mturoute 사용)

mturoute로 경로 MTU를 확인하려면:

  • https://elifulkerson.com/projects/mturoute.php에서 mturoute.exe를 EC2 인스턴스에 다운로드하세요.
  • 명령 프롬프트 창을 열고 mturoute.exe를 다운로드한 디렉터리로 변경하세요.
  • 다음 명령을 사용해 EC2 인스턴스와 지정된 대상 사이의 경로 MTU를 확인하세요. 이 예시는 EC2 인스턴스와 www.elifulkerson.com 사이의 경로 MTU를 확인해요.
.\mturoute.exe www.elifulkerson.com

이 예시 출력에서 경로 MTU는 1500이에요.

* ICMP Fragmentation is not permitted. *
* Speed optimization is enabled. *
* Maximum payload is 10000 bytes. *
+ ICMP payload of 1472 bytes succeeded.
- ICMP payload of 1473 bytes is too big.
Path MTU: 1500 bytes.

인스턴스의 MTU 확인 (Check the MTU for your instance)

인스턴스의 MTU 값을 확인할 수 있어요. 일부 인스턴스는 점보 프레임을 사용하도록 구성되고, 다른 인스턴스는 표준 프레임 크기를 사용하도록 구성돼요.

사용하는 절차는 인스턴스의 운영 체제에 따라 달라져요.

Linux 인스턴스의 MTU 설정 확인:

EC2 인스턴스에서 다음 ip 명령을 실행하세요. 기본 네트워크 인터페이스가 eth0이 아니라면 eth0을 네트워크 인터페이스로 바꾸세요.

[ec2-user ~]$ ip link show eth0

이 예시 출력에서 mtu 9001은 인스턴스가 점보 프레임을 사용함을 나타내요.

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 02:90:c0:b7:9e:d1 brd ff:ff:ff:ff:ff:ff

Windows

사용하는 절차는 인스턴스의 드라이버에 따라 달라져요.

ENA 드라이버 — 버전 2.1.0 이상:

MTU 값을 가져오려면 EC2 인스턴스에서 다음 Get-NetAdapterAdvancedProperty 명령을 사용하세요. 모든 이더넷 이름을 가져오려면 와일드카드(별표)를 사용하세요. *JumboPacket 인터페이스 이름의 출력을 확인하세요. 9015 값은 점보 프레임이 활성화되었음을 나타내요. 점보 프레임은 기본적으로 비활성화돼 있어요.

Get-NetAdapterAdvancedProperty -Name "Ethernet*"

ENA 드라이버 — 버전 1.5 이하:

MTU 값을 가져오려면 EC2 인스턴스에서 다음 Get-NetAdapterAdvancedProperty 명령을 사용하세요. MTU 인터페이스 이름의 출력을 확인하세요. 9001 값은 점보 프레임이 활성화되었음을 나타내요. 점보 프레임은 기본적으로 비활성화돼 있어요.

Get-NetAdapterAdvancedProperty -Name "Ethernet"

Intel SRIOV 82599 드라이버:

MTU 값을 가져오려면 EC2 인스턴스에서 다음 Get-NetAdapterAdvancedProperty 명령을 사용하세요. *JumboPacket 인터페이스 이름의 항목을 확인하세요. 9014 값은 점보 프레임이 활성화되었음을 나타내요. (MTU 크기에는 헤더와 페이로드가 포함된다는 점에 유의하세요.) 점보 프레임은 기본적으로 비활성화돼 있어요.

Get-NetAdapterAdvancedProperty -Name "Ethernet"

AWS PV 드라이버:

MTU 값을 가져오려면 EC2 인스턴스에서 다음 명령을 사용하세요. 인터페이스의 이름은 다를 수 있어요. 출력에서 "Ethernet", "Ethernet 2" 또는 "Local Area Connection"이라는 이름의 항목을 찾아보세요. 점보 프레임을 활성화하거나 비활성화하려면 인터페이스 이름이 필요해요. 9001 값은 점보 프레임이 활성화되었음을 나타내요.

netsh interface ipv4 show subinterface

인스턴스의 MTU 설정 (Set the MTU for your instance)

VPC 내 네트워크 트래픽에는 점보 프레임을, 인터넷 트래픽에는 표준 프레임을 사용하고 싶을 수 있어요. 어떤 사용 사례든 인스턴스가 예상대로 동작하는지 확인할 것을 권장해요.

사용하는 절차는 인스턴스의 운영 체제에 따라 달라져요.

Linux 인스턴스의 MTU 값 설정:

  • 인스턴스에서 다음 ip 명령을 실행하세요. 이 명령은 원하는 MTU 값을 1500으로 설정하지만 9001을 사용할 수도 있어요. 기본 네트워크 인터페이스가 eth0이 아니라면 eth0을 실제 네트워크 인터페이스로 바꾸세요.
[ec2-user ~]$ sudo ip link set dev eth0 mtu 1500
  • (선택 사항) 재부팅 후에도 네트워크 MTU 설정을 유지하려면 운영 체제 유형에 따라 다음 구성 파일을 수정하세요.
    • Amazon Linux 2023 — 구성 파일의 [Link] 섹션을 수정하세요. 기본 구성 파일은 /usr/lib/systemd/network/80-ec2.network이거나, 파일 이름이 priority-interface.network인 /run/systemd/network/에 만든 사용자 지정 구성 파일을 업데이트할 수 있어요. 자세한 내용은 Amazon Linux 설명서의 '네트워킹 서비스'를 참고하세요.
MTUBytes=1500
  • Amazon Linux 2 — /etc/sysconfig/network-scripts/ifcfg-eth0 파일에 다음 줄을 추가하세요:
MTU=1500

/etc/dhcp/dhclient.conf 파일에 다음 줄을 추가하세요:

request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-search, domain-name-servers, host-name, nis-domain, nis-servers, ntp-servers;
  • 기타 Linux 배포판 — 해당 특정 설명서를 참고하세요.

  • (선택 사항) 인스턴스를 재부팅하고 MTU 설정이 올바른지 확인하세요.

Windows

사용하는 절차는 인스턴스의 드라이버에 따라 달라져요.

ENA 드라이버: 장치 관리자(Device Manager)나 인스턴스의 Set-NetAdapterAdvancedProperty 명령을 사용해 MTU를 변경할 수 있어요.

버전 2.1.0 이상:

다음 명령을 사용해 점보 프레임을 활성화하세요.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 9015

다음 명령을 사용해 점보 프레임을 비활성화하세요.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514

버전 1.5 이하:

다음 명령을 사용해 점보 프레임을 활성화하세요.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 9001

다음 명령을 사용해 점보 프레임을 비활성화하세요.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 1500

Intel SRIOV 82599 드라이버: 장치 관리자(Device Manager)나 인스턴스의 Set-NetAdapterAdvancedProperty 명령을 사용해 MTU를 변경할 수 있어요.

다음 명령을 사용해 점보 프레임을 활성화하세요.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 9014

다음 명령을 사용해 점보 프레임을 비활성화하세요.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514

AWS PV 드라이버: 인스턴스에서 netsh 명령을 사용해 MTU를 변경할 수 있어요. 장치 관리자(Device Manager)로는 MTU를 변경할 수 없어요.

다음 명령을 사용해 점보 프레임을 활성화하세요.

netsh interface ipv4 set subinterface "Ethernet" mtu=9001

다음 명령을 사용해 점보 프레임을 비활성화하세요.

netsh interface ipv4 set subinterface "Ethernet" mtu=1500

더 알아보기 (Learn more)