Definir a MTU para as instâncias do Amazon EC2 - Amazon Elastic Compute Cloud

Definir a MTU para as instâncias do Amazon EC2

A unidade de transmissão máxima (MTU) de uma conexão de rede é o tamanho, em bytes, do maior pacote permissível que pode ser passado pela conexão. Todas as instâncias do Amazon EC2 são compatíveis com quadros padrão (1.500 MTU), e todos os tipos de instância da geração atual são compatíveis com quadros jumbo (9.001 MTU).

Você pode visualizar a MTU para as instâncias do Amazon EC2, visualizar a MTU do caminho entre a instância e outro host e configurar as instâncias para usar quadros padrão ou jumbo.

Verificar o MTU do caminho entre dois hosts

É possível verificar a MTU do caminho entre a instância EC2 e outro host. É possível especificar um nome DNS ou um endereço IP como o destino. Se o destino for outra instância do EC2, verifique se o grupo de segurança permite tráfego UDP de entrada.

O procedimento usado dependerá do sistema operacional da instância.

Execute o comando tracepath na instância para verificar a MTU do caminho entre a instância EC2 e o destino especificado. Esse comando faz parte do pacote iputils, que está disponível, por padrão, em muitas distribuições do Linux.

Este exemplo verifica a MTU do caminho entre a instância do EC2 e o arquivo amazon.com.

[ec2-user ~]$ tracepath amazon.com

Neste exemplo de saída, a MTU do caminho é 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
Para verificar a MTU do caminho usando mturoute
  1. Faça o download de mturoute.exe para a instância do EC2 em http://www.elifulkerson.com/projects/mturoute.php.

  2. Abra uma janela do prompt de comando e altere para o diretório para onde você fez o download de mturoute.exe.

  3. Use o comando apresentado a seguir para verificar a MTU do caminho entre a instância do EC2 e o destino especificado. Este exemplo verifica a MTU do caminho entre a instância do EC2 e o arquivo www.elifulkerson.com.

    .\mturoute.exe www.elifulkerson.com

    Neste exemplo de saída, a MTU do caminho é 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.

Verificação da MTU para a instância

É possível verificar o valor da MTU para a instância. Algumas instâncias são configuradas para usar frames jumbo, e outras são configuradas para usar tamanhos de quadro padrão.

O procedimento usado dependerá do sistema operacional da instância.

Para verificar a configuração de MTU em uma instância do Linux

Execute o comando ip apresentado a seguir na instância do EC2. Se a interface de rede primária não for eth0, substitua eth0 pela sua interface de rede.

[ec2-user ~]$ ip link show eth0

Neste exemplo de saída, mtu 9001 indica que a instância usa frames jumbo.

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

O procedimento usado dependerá do driver da instância.

ENA driver
Versão 2.1.0 e versões posteriores

Para obter o valor da MTU, use o comando Get-NetAdapterAdvancedProperty apresentado a seguir na instância do EC2. Use o caractere curinga (asterisco) para obter todos os nomes Ethernet. Verifique a saída para o nome da interface *JumboPacket. Um valor de 9015 indica que os frames jumbo estão ativados. Os frames jumbo ficam desativados por padrão.

Get-NetAdapterAdvancedProperty -Name "Ethernet*"
Versão 1.5 e versões anteriores

Para obter o valor da MTU, use o comando Get-NetAdapterAdvancedProperty apresentado a seguir na instância do EC2. Verifique a saída para o nome da interface MTU. Um valor de 9001 indica que os frames jumbo estão ativados. Os frames jumbo ficam desativados por padrão.

Get-NetAdapterAdvancedProperty -Name "Ethernet"
Intel SRIOV 82599 driver

Para obter o valor da MTU, use o comando Get-NetAdapterAdvancedProperty apresentado a seguir na instância do EC2. Verifique entrada do nome da interface *JumboPacket. Um valor de 9014 indica que os frames jumbo estão ativados. (Observe que o tamanho do MTU inclui o cabeçalho e a carga.) Os frames jumbo ficam desativados por padrão.

Get-NetAdapterAdvancedProperty -Name "Ethernet"
AWS PV driver

Para obter o valor da MTU, use o comando apresentado a seguir na instância do EC2. O nome da interface pode variar. Na saída, procure uma entrada intitulada "Ethernet", "Ethernet 2" ou "Conexão Local". Você precisará do nome da interface para ativar ou desativar os frames jumbo. Um valor de 9001 indica que os frames jumbo estão ativados.

netsh interface ipv4 show subinterface

Definição da MTU para a instância

Você pode querer usar frames jumbo para o tráfego de rede na VPC e frames padrão para o tráfego para a Internet. Seja qual for o seu caso de uso, recomendamos verificar se a instância se comporta conforme o esperado.

O procedimento usado dependerá do sistema operacional da instância.

Para definir o valor de MTU em uma instância do Linux
  1. Execute o comando ip apresentado a seguir na instância. O comando define o valor da MTU desejado para 1500, mas é possível usar 9001.

    [ec2-user ~]$ sudo ip link set dev eth0 mtu 1500
  2. (Opcional) Para persistir a configuração de MTU de rede após a reinicialização, modifique os arquivos de configuração a seguir com base no tipo de sistema operacional.

    • No Amazon Linux 2, adicione a linha a seguir ao arquivo /etc/sysconfig/network-scripts/ifcfg-eth0:

      MTU=1500

      Adicione a linha a seguir ao arquivo /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;
    • Para o Amazon Linux AMI, adicione as seguintes linhas ao seu /etc/dhcp/dhclient-eth0.conf arquivo.

      interface "eth0" { supersede interface-mtu 1500; }
    • Para outras distribuições de Linux, consulte a documentação específica.

  3. (Opcional) Reinicialize sua instância e verifique se a configuração de MTU está correta.

O procedimento usado dependerá do driver da instância.

ENA driver

É possível alterar a MTU usando o Gerenciador de Dispositivos ou o comando Set-NetAdapterAdvancedProperty na instância.

Versão 2.1.0 e versões posteriores

Use o comando apresentado a seguir para habilitar frames jumbo.

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

Use o comando apresentado a seguir para desabilitar frames jumbo.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514
Versão 1.5 e versões anteriores

Use o comando apresentado a seguir para habilitar frames jumbo.

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

Use o comando apresentado a seguir para desabilitar frames jumbo.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 1500
Intel SRIOV 82599 driver

É possível alterar a MTU usando o Gerenciador de Dispositivos ou o comando Set-NetAdapterAdvancedProperty na instância.

Use o comando apresentado a seguir para habilitar frames jumbo.

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

Use o comando apresentado a seguir para desabilitar frames jumbo.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514
AWS PV driver

É possível alterar a MTU usando o comando netsh na instância. Não é possível alterar a MTU usando o Gerenciador de Dispositivos.

Use o comando apresentado a seguir para habilitar frames jumbo.

netsh interface ipv4 set subinterface "Ethernet" mtu=9001

Use o comando apresentado a seguir para desabilitar frames jumbo.

netsh interface ipv4 set subinterface "Ethernet" mtu=1500