EC2 인스턴스에 대한 네트워크 MTU(최대 전송 단위) - Amazon Elastic Compute Cloud

EC2 인스턴스에 대한 네트워크 MTU(최대 전송 단위)

네트워크 연결의 MTU(최대 전송 단위)는 연결을 통해 전달할 수 있는 허용되는 최대 크기의 패킷 크기(바이트)입니다. 연결의 MTU가 클수록 하나의 패킷으로 전달할 수 있는 데이터의 양이 늘어납니다. 이더넷 프레임은 패킷 또는 전송 중인 실제 데이터와 이를 둘러싼 네트워크 오버헤드 정보로 구성됩니다.

이더넷 프레임은 여러 가지 형식으로 제공될 수 있으며, 가장 일반적인 형식은 표준 이더넷 v2 프레임 형식입니다. 대부분의 인터넷에서 지원되는 최대 이더넷 패킷 크기인 1500MTU를 지원합니다. 인스턴스의 지원되는 최대 MTU는 인스턴스 유형에 따라 다릅니다.

Wavelength Zone에 있는 인스턴스에는 다음과 같은 규칙이 적용됩니다.

  • 동일한 Wavelength Zone에 있는 VPC 내에서 한 인스턴스에서 다른 인스턴스로 이동하는 트래픽의 MTU는 1,300입니다.

  • Wavelength Zone 내에서 통신사 IP를 사용하는 인스턴스에서 다른 인스턴스로 이동하는 트래픽의 MTU는 1,500입니다.

  • Wavelength Zone과 퍼블릭 IP 주소를 사용하는 지역 간에 한 인스턴스에서 다른 인스턴스로 이동하는 트래픽의 MTU는 1500입니다.

  • Wavelength Zone과 프라이빗 IP 주소를 사용하는 지역 간에 한 인스턴스에서 다른 인스턴스로 이동하는 트래픽의 MTU는 1300입니다.

Outposts에 있는 인스턴스에는 다음과 같은 규칙이 적용됩니다.

  • Outposts의 인스턴스에서 리전의 인스턴스로 이동하는 트래픽의 MTU는 1,300입니다.

Linux 인스턴스에 대한 네트워크 MTU 정보를 보려면 Linux 인스턴스용 Amazon EC2 사용 설명서 가이드에서 EC2 인스턴스에 대한 네트워크 MTU(최대 전송 단위)로 이동하세요.

점보 프레임(9001 MTU)

점보 프레임에서는 패킷당 페이로드 크기를 늘려 1500바이트 이상의 데이터가 허용됩니다. 그 결과, 패킷 오버헤드에 해당하지 않는 패킷의 비율의 늘어납니다. 같은 양의 사용 가능한 데이터를 보내더라도 더 적은 수의 패킷만 있으면 됩니다. 단, 다음과 같은 경우에는 트래픽의 MTU가 최대 1,500으로 제한됩니다.

  • 인터넷 게이트웨이를 통한 트래픽

  • 리전 간 VPC 피어링 연결을 통한 트래픽

  • VPN 연결을 통한 트래픽

  • 지정된 AWS 리전 EC2-Classic 외부의 트래픽

패킷이 1500바이트인 경우, 단편화되거나 IP 헤더에 Don't Fragment 플래그가 설정된 경우 삭제됩니다.

인터넷 트래픽이나 VPC를 벗어나는 트래픽에 점보 프레임을 사용할 때는 주의가 필요합니다. 중간 시스템에서 패킷이 단편화되면서 트래픽이 느려지기 때문입니다. VPC 내에서 점보 프레임을 사용하고 VPC 외부의 느린 트래픽에는 사용하지 않으려면 라우팅을 기준으로 MTU 크기를 구성하거나, MTU 크기와 라우팅을 달리하여 다수의 탄력적 네트워크 인터페이스를 사용할 수도 있습니다.

그러나 클러스터 배치 그룹 내부에 함께 배치된 인스턴스의 경우, 점보 프레임이 최고의 네트워크 처리 속도를 달성하는 데 도움을 주므로 사용이 권장됩니다. 자세한 내용은 배치 그룹 섹션을 참조하세요.

AWS Direct Connect를 통한 VPC와 온프레미스 네트워크 간의 트래픽에 점보 프레임을 사용할 수 있습니다. 자세한 내용과 점보 프레임 기능 확인 방법은 AWS Direct Connect 사용 설명서에서 네트워크 MTU 설정을 참조하세요.

모든 Amazon EC2 인스턴스 유형은 1500MTU를 지원하고 모든 현재 세대 인스턴스 유형은 점보 프레임을 지원합니다. A1, C3, I2, M3 및 R3와 같은 이전 세대 인스턴스 유형은 점보 프레임을 지원합니다.

지원되는 MTU 크기에 대한 자세한 내용은 다음을 참조하세요.

  • NAT 게이트웨이의 경우 Amazon VPC 사용 설명서에서 NAT 게이트웨이 기본 사항을 참조하세요.

  • 전송 게이트웨이의 경우 Amazon VPC Transit Gateways 사용 설명서에서 MTU를 참조하세요.

  • 로컬 영역의 경우 AWS 로컬 영역 사용 설명서에서 Considerations를 참조하세요.

경로 MTU 검색

경로 MTU 검색(PMTUD)을 사용하여 두 디바이스 간의 경로 MTU를 확인할 수 있습니다. 경로 MTU는 발신 호스트와 수신 호스트 간의 경로에서 지원되는 최대 패킷 사이즈입니다. 두 호스트 간의 네트워크 MTU 크기에 차이가 있는 경우 PMTUD를 사용하면 수신 호스트가 ICMP 메시지로 발신 호스트에 응답할 수 있습니다. 이 ICMP 메시지는 발신 호스트가 네트워크 경로를 따라 최저 MTU 크기를 사용하고 요청을 재전송하도록 지시합니다. 이러한 협상이 없으면 수신 호스트가 허용할 수 없을 만큼 요청이 너무 많아져서 패킷 손실이 발생할 수 있습니다.

IPv4의 경우 호스트가 수신 호스트의 MTU 또는 경로를 따르는 디바이스의 MTU보다 큰 패킷을 전송하는 경우 수신 호스트 또는 디바이스가 패킷을 삭제한 다음 Destination Unreachable: Fragmentation Needed and Don't Fragment was Set(유형 3, 코드 4)과 같은 ICMP 메시지를 반환합니다. 이렇게 하면 전송 호스트에 페이로드를 여러 개의 작은 패킷으로 분할한 다음 다시 전송하도록 지시합니다.

IPv6 프로토콜은 네트워크의 조각화를 지원하지 않습니다. 호스트가 수신 호스트의 MTU 또는 경로를 따르는 디바이스의 MTU보다 큰 패킷을 전송하는 경우 수신 호스트 또는 디바이스가 패킷을 삭제한 다음 ICMPv6 Packet Too Big (PTB)(유형 2)과 같은 ICMP 메시지를 반환합니다. 이렇게 하면 전송 호스트에 페이로드를 여러 개의 작은 패킷으로 분할한 다음 다시 전송하도록 지시합니다.

NAT 게이트웨이 및 로드 밸런서와 같은 일부 구성 요소를 통한 연결은 자동으로 추적됩니다. 이것은 아웃바운드 연결 시도에 대해 보안 그룹 추적이 자동으로 활성화된다는 의미입니다. 연결이 자동으로 추적되거나 보안 그룹 규칙이 인바운드 ICMP 트래픽을 허용하는 경우 PMTUD 응답을 받을 수 있습니다.

서브넷에 대한 ICMP 트래픽을 거부하는 네트워크 액세스 제어 목록 항목이 있는 경우와 같이 보안 그룹 수준에서 트래픽이 허용되는 경우에도 ICMP 트래픽을 차단할 수 있습니다.

중요

경로 MTU 검색에서는 일부 라우터에서 점보 프레임이 삭제되지 않도록 보장하지 않습니다. VPC의 인터넷 게이트웨이는 패킷을 최대 1,500바이트까지만 전송합니다. 인터넷 트래픽에는 1,500MTU 패킷이 권장됩니다.

두 호스트 간 경로 MTU 확인

mturoute.exe 명령http://www.elifulkerson.com/projects/mturoute.php에서 다운로드하고 설치할 수 있는 Amazon Linux 포함)을 사용하여 두 호스트 사이에 경로 MTU를 확인할 수 있습니다.

mturoute.exe를 사용하여 경로 MTU를 확인하려면
  1. http://www.elifulkerson.com/projects/mturoute.php에서 mturoute.exe를 다운로드합니다.

  2. 명령 프롬프트 창을 열고 mturoute.exe를 다운로드한 디렉터리로 변경합니다.

  3. 다음 명령을 사용하여 EC2 인스턴스와 다른 호스트 간의 경로 MTU를 확인합니다. DNS 이름 또는 IP 주소를 대상으로 사용할 수 있습니다. 대상이 다른 EC2 인스턴스인 경우에는 보안 그룹에서 인바운드 UDP 트래픽을 허용하는지 확인합니다. 이 예제에서는 EC2 인스턴스와 www.elifulkerson.com 간의 경로 MTU를 확인합니다.

    .\mturoute.exe www.elifulkerson.com * 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는 1500입니다.

Windows 인스턴스에서 MTU 확인 및 설정

일부 드라이버는 점보 프레임을 사용하도록 구성되어 있는 반면, 표준 프레임 크기를 사용하도록 구성된 드라이버도 있습니다. VPC 내의 네트워크 트래픽에 점보 프레임을 사용하거나 인터넷 트래픽에 표준 프레임을 사용할 수 있습니다. 어떤 사용 사례이든 인스턴스가 예상한 대로 동작하는지 확인하는 것이 좋습니다.

인스턴스가 Wavelength Zone에서 실행되는 경우 최대 MTU 값은 1300입니다.

ENA 드라이버

드라이버 버전 1.5 이하

디바이스 관리자(Device Manager) 또는 Set-NetAdapterAdvancedProperty 명령을 사용하여 MTU 설정을 변경할 수 있습니다.

Get-NetAdapterAdvancedProperty 명령을 사용하여 현재 MTU 설정을 가져오려면 다음 명령을 사용합니다. 인터페이스 이름 MTU에 대한 항목을 확인합니다. 값 9001은 점보 프레임이 활성화되었음을 나타냅니다. 점보 프레임은 기본적으로 비활성화되어 있습니다.

Get-NetAdapterAdvancedProperty -Name "Ethernet"

다음과 같이 점보 프레임을 활성화합니다.

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

다음과 같이 점보 프레임을 비활성화합니다.

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

드라이버 버전 2.1.0 이상

디바이스 관리자(Device Manager) 또는 Set-NetAdapterAdvancedProperty 명령을 사용하여 MTU 설정을 변경할 수 있습니다.

Get-NetAdapterAdvancedProperty 명령을 사용하여 현재 MTU 설정을 가져오려면 다음 명령을 사용합니다. 인터페이스 이름 *JumboPacket에 대한 항목을 확인합니다. 9015 값은 점보 프레임이 활성화되어 있음을 나타냅니다. 점보 프레임은 기본적으로 비활성화되어 있습니다.

Get-NetAdapterAdvancedProperty를 실행하거나 와일드카드(별표)를 사용하여 해당하는 모든 이더넷 이름을 검색합니다.

Get-NetAdapterAdvancedProperty -Name "Ethernet*"

다음 명령을 실행하고 쿼리할 이더넷 이름을 포함합니다.

Get-NetAdapterAdvancedProperty -Name "Ethernet"

다음과 같이 점보 프레임을 활성화합니다.

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

다음과 같이 점보 프레임을 비활성화합니다.

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

Intel SRIOV 82599 드라이버

디바이스 관리자(Device Manager) 또는 Set-NetAdapterAdvancedProperty 명령을 사용하여 MTU 설정을 변경할 수 있습니다.

Get-NetAdapterAdvancedProperty 명령을 사용하여 현재 MTU 설정을 가져오려면 다음 명령을 사용합니다. 인터페이스 이름 *JumboPacket에 대한 항목을 확인합니다. 값 9014는 점보 프레임이 활성화되었음을 나타냅니다. (MTU 크기에는 헤더와 페이로드가 포함되어 있습니다.) 점보 프레임은 기본적으로 비활성화되어 있습니다.

Get-NetAdapterAdvancedProperty -Name "Ethernet"

다음과 같이 점보 프레임을 활성화합니다.

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

다음과 같이 점보 프레임을 비활성화합니다.

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

AWS PV 드라이버

디바이스 관리자(Device Manager)를 사용하여 MTU 설정을 변경할 수 없지만 netsh 명령을 사용하여 변경할 수 있습니다.

다음 명령을 사용하여 현재 MTU 설정을 가져옵니다. 인터페이스 이름은 다를 수 있습니다. 출력에서 "Ethernet," "Ethernet 2" 또는 "Local Area Connection"이라는 이름의 항목을 찾습니다. 점보 프레임을 활성화 또는 비활성화하려면 인터페이스 이름이 필요합니다. 값 9001은 점보 프레임이 활성화되었음을 나타냅니다.

netsh interface ipv4 show subinterface

다음과 같이 점보 프레임을 활성화합니다.

netsh interface ipv4 set subinterface "Ethernet" mtu=9001

다음과 같이 점보 프레임을 비활성화합니다.

netsh interface ipv4 set subinterface "Ethernet" mtu=1500

문제 해결

점보 프레임을 사용할 때 EC2 인스턴스와 Amazon Redshift 클러스터 사이에 연결 문제가 발생할 경우 Amazon Redshift 클러스터 관리 가이드쿼리가 중단되거나, 간혹 클러스터까지 전송되지 않습니다를 참조하세요.