Habilitar redes aperfeiçoadas com a interface Intel 82599 VF
Para tipos de instância EC2 que não são incorporados ao AWS Nitro System, a interface Intel 82599 de Virtual Function (VF) fornece recursos de redes aperfeiçoadas. A interface usa o driver Intel ixgbevf
.
As guias a seguir mostram como verificar o driver do adaptador de rede instalado no sistema operacional da instância.
Conteúdo
Preparar a instância para redes aperfeiçoadas
Para se preparar para a rede avançada com a interface Intel 82599 VF, configure a instância da seguinte forma:
-
Selecione um dos seguintes tipos de instância compatíveis: C3, C4, D2, I2, M4 (exceto
m4.16xlarge
) e R3. -
Verifique se a instância tem conectividade com a Internet.
-
Se houver dados importantes na instância que deseja preservar, você deverá fazer backup desses dados agora criando uma AMI na instância. A atualização de kernels e módulos de kernel e a habilitação do atributo
sriovNetSupport
podem renderizar instâncias incompatíveis ou sistemas operacionais inacessíveis. Se você tiver um backup recente, seus dados ainda serão retidos, caso isso ocorra. -
Instâncias do Linux: inicie a instância usando uma AMI de HVM com a versão 2.6.32 ou com versões posteriores do kernel do Linux. As AMIs HVM do Amazon Linux mais recentes têm os módulos necessários para a rede avançada instalada e também têm os atributos necessários definidos. Portanto, se você executar uma instância compatível com redes avançadas com Amazon EBS que usa uma AMI de HVM do Amazon Linux, a rede avançada já estará habilitada para a instância.
Atenção
A rede avançada é compatível apenas com instâncias de HVM. A habilitação da rede avançada com uma instância PV pode torná-la inacessível. A configuração desse atributo sem o módulo ou a versão do módulo adequados também pode tornar a instância inacessível.
-
Instâncias do Windows: inicie a instância usando uma AMI de HVM de 64 bits. Não é possível habilitar as redes aperfeiçoadas no Windows Server 2008. A rede avançada já está habilitada para AMIs do Windows Server 2012 R2 e do Windows Server 2016 e posterior. O Windows Server 2012 R2 inclui o driver 1.0.15.3 da Intel e recomendamos atualizar esse driver para a versão mais recente usando o utilitário Pnputil.exe.
-
Use o AWS CloudShell
do AWS Management Console ou instale e configure a AWS CLI ou o AWS Tools for Windows PowerShell em qualquer computador que desejar, de preferência em seu desktop ou notebook local. Para obter mais informações sobre o ACM, consulte Acessar o Amazon EC2 ou o Guia do usuário do AWS CloudShell. A rede avançada não pode ser gerenciada no console do Amazon EC2.
Testar se a rede avançada está habilitada
Verifique se o atributo sriovNetSupport
está definido.
Atributo de instância (sriovNetSupport)
Para verificar se uma instância tem o atributo sriovNetSupport
de rede avançada definido, use um dos seguintes comandos. Se o atributo estiver definido, o valor será simple
.
-
describe-instance-attribute (AWS CLI) (AWS CLI/AWS CloudShell)
aws ec2 describe-instance-attribute --instance-id
instance_id
--attribute sriovNetSupport -
Get-EC2InstanceAttribute (AWS Tools for Windows PowerShell)
Get-EC2InstanceAttribute -InstanceId
instance-id
-Attribute sriovNetSupport
Atributo de imagem (sriovNetSupport)
Para verificar se uma AMI já tem o conjunto de atributos de redes aperfeiçoadas sriovNetSupport
, use um dos comandos apresentados a seguir. Se o atributo estiver definido, o valor será simple
.
-
describe-images (AWS CLI)
aws ec2 describe-images --image-id
ami_id
--query "Images[].SriovNetSupport" -
Get-EC2Image (AWS Tools for Windows PowerShell)
(Get-EC2Image -ImageId
ami-id
).SriovNetSupport
Habilitar redes avançadas na instância
O procedimento usado dependerá do sistema operacional da instância.
Atenção
Não há nenhuma maneira de desabilitar o atributo de rede avançada depois de ele ser habilitado.
As AMIs de HVM do Amazon Linux têm o módulo ixgbevf
necessário para a rede avançada instalado e também têm o atributo necessário sriovNetSupport
definido. Portanto, se você executar um tipo de instância que use uma AMI de HVM do Amazon Linux, a rede avançada já estará habilitada para a instância. Para obter mais informações, consulte Testar se a rede avançada está habilitada.
Se você executou a instância usando uma AMI do Amazon Linux mais antiga e ela ainda não tiver a rede avançada habilitada, use o seguinte procedimento para habilitar a rede avançada.
Para habilitar a rede avançada
-
Conecte-se à sua instância.
-
Na instância, execute o seguinte comando para atualizar a instância com o kernel e os módulos de kernel mais recentes incluindo
ixgbevf
:[ec2-user ~]$
sudo yum update -
No computador local, reinicialize a instância usando o console do Amazon EC2 ou um dos seguintes comandos: reboot-instances (AWS CLI), Restart-EC2Instance (AWS Tools for Windows PowerShell).
-
Conecte-se à instância novamente e verifique se o módulo
ixgbevf
está instalado e na versão mínima recomendada usando o comando modinfo ixgbevf em Testar se a rede avançada está habilitada. -
[Instância com EBS] No computador local, interrompa a instância usando o console do Amazon EC2 ou um dos seguintes comandos: stop-instances (AWS CLI), Stop-EC2Instance (AWS Tools for Windows PowerShell). Se sua instância for gerenciada por AWS OpsWorks, é necessário parar a instância no console do AWS OpsWorks de modo que o estado da instância permaneça sincronizado.
[Instância baseada em armazenamento de instâncias] Você não pode parar a instância para modificar o atributo. Em vez disso, pule o próximo procedimento.
-
No computador local, ative o atributo de rede avançada usando um dos seguintes comandos:
-
(Opcional) Crie uma AMI na instância, conforme descrito em Criação de uma AMI baseada no Amazon EBS. A AMI herda o atributo da rede avançada da instância. Portanto, é possível usar essa AMI para executar outra instância com a rede avançada habilitada por padrão.
-
No computador local, inicie a instância usando o console do Amazon EC2 ou um dos seguintes comandos: start-instances (AWS CLI), Start-EC2Instance (AWS Tools for Windows PowerShell). Se sua instância for gerenciada por AWS OpsWorks, é necessário iniciar a instância no console do AWS OpsWorks de modo que o estado da instância permaneça sincronizado.
-
Conecte-se à instância e verifique se o módulo
ixgbevf
está instalado e carregado na interface de rede usando o comando ethtool -i ethn
em Testar se a rede avançada está habilitada.
Para habilitar a rede avançada (instâncias compatíveis com o armazenamento de instâncias)
Siga o procedimento anterior até a etapa onde você para a instância. Crie uma nova AMI como descrito em Criar uma AMI baseada em armazenamento de instância, habilitando o atributo de rede avançada ao registrar a AMI.
Antes de começar, o verifica se a rede avançada já está habilitada em sua instância.
As AMIs do Ubuntu HVM Quick Start incluem os drivers necessários para redes aprimoradas. Se você tiver uma versão de ixgbevf
anterior a 2.16.4, poderá instalar o linux-aws
pacote do kernel para obter os drivers de rede aprimorados mais recentes.
O procedimento a seguir fornece as etapas gerais para compilar o módulo ixgbevf
em uma instância do Ubuntu.
Para instalar o pacote do kernel linux-aws
-
Conecte-se à sua instância.
-
Atualize o cache de pacotes e os pacotes.
ubuntu:~$
sudo apt-get update && sudo apt-get upgrade -y linux-awsImportante
Se, durante o processo de atualização, for solicitada a instalação do
grub
, use o/dev/xvda
para instalar ogrub
e, em seguida, escolha manter a versão atual do/boot/grub/menu.lst
.
Antes de começar, o verifica se a rede avançada já está habilitada em sua instância. As AMIs do HVM Quick Start mais recentes incluem os drivers necessários para rede avançada, portanto, você não precisa executar etapas adicionais.
O procedimento a seguir fornece as etapas gerais se precisar habilitar a rede avançada com a interface Intel 82599 VF em uma distribuição do Linux diferente do Amazon Linux ou do Ubuntu. Para obter mais informações, como a sintaxe detalhada dos comandos, os locais dos arquivos ou suporte para o pacote e a ferramenta, consulte a documentação específica à sua distribuição do Linux.
Para habilitar a rede avançada no Linux
-
Conecte-se à sua instância.
-
Faça download da fonte para o módulo
ixgbevf
na instância do Sourceforge em https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/. Versões do
ixgbevf
anteriores à 2.16.4, incluindo a versão 2.14.2, não são compiladas adequadamente em algumas distribuições do Linux, incluindo certas versões do Ubuntu. -
Compile e instale o módulo
ixgbevf
na instância.Atenção
Se você compilar o módulo
ixgbevf
para o kernel atual e, depois, atualizar o kernel sem recompilar o driver para o novo kernel, o sistema poderá reverter o móduloixgbevf
específico à distribuição na próxima reinicialização. Isso poderá tornar o sistema inacessível se a versão específica à distribuição for incompatível com a rede avançada. -
Execute o comando sudo depmod para atualizar as dependências do módulo.
-
Atualize o
initramfs
na instância para garantir que o novo módulo seja carregado na hora da inicialização. -
Determine se o sistema usa nomes previsíveis de interface de rede por padrão. Os sistemas que usam as versões 197 ou superiores do systemd ou udev podem renomear dispositivos de Ethernet e não garantem que uma única interface de rede será nomeada
eth0
. Esse comportamento pode causar problemas para conexão à instância. Para mais informações e ver outras opções de configuração, consulte Nomes previsíveis de interface de redeno site freedesktop.org. -
É possível verificar as versões do systemd ou udev em sistemas baseados em RPM com o seguinte comando:
[ec2-user ~]$
rpm -qa | grep -e '^systemd-[0-9]\+\|^udev-[0-9]\+'
systemd-208-11.el7_0.2.x86_64
No exemplo do Red Hat Enterprise Linux 7 acima, a versão do systemd é a 208, portanto, os nomes previsíveis de interface de rede devem ser desativados.
-
Desabilite nomes previsíveis de interface de rede adicionando a opção
net.ifnames=0
à linhaGRUB_CMDLINE_LINUX
no/etc/default/grub
.[ec2-user ~]$
sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub -
Recompile o arquivo de configuração do grub.
[ec2-user ~]$
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
-
[Instância com EBS] No computador local, interrompa a instância usando o console do Amazon EC2 ou um dos seguintes comandos: stop-instances (AWS CLI/AWS CloudShell), Stop-EC2Instance (AWS Tools for Windows PowerShell). Se sua instância for gerenciada por AWS OpsWorks, é necessário parar a instância no console do AWS OpsWorks de modo que o estado da instância permaneça sincronizado.
[Instância baseada em armazenamento de instâncias] Você não pode parar a instância para modificar o atributo. Em vez disso, pule o próximo procedimento.
-
No computador local, ative o atributo de rede avançada usando um dos seguintes comandos:
-
(Opcional) Crie uma AMI na instância, conforme descrito em Criação de uma AMI baseada no Amazon EBS. A AMI herda o atributo da rede avançada da instância. Portanto, é possível usar essa AMI para executar outra instância com a rede avançada habilitada por padrão.
Se o sistema operacional da instância contiver um arquivo
/etc/udev/rules.d/70-persistent-net.rules
, você deverá excluí-lo antes de criar a AMI. Esse arquivo contém o endereço MAC do adaptador de Ethernet da instância original. Se outra instância for iniciada com esse arquivo, o sistema operacional será incapaz de localizar o dispositivo e oeth0
poderá falhar causando problemas de inicialização. Esse arquivo é gerado novamente no próximo ciclo de inicialização, e todas as instâncias executadas na AMI criam sua própria versão do arquivo. -
No computador local, inicie a instância usando o console do Amazon EC2 ou um dos seguintes comandos: start-instances (AWS CLI), Start-EC2Instance (AWS Tools for Windows PowerShell). Se sua instância for gerenciada por AWS OpsWorks, é necessário iniciar a instância no console do AWS OpsWorks de modo que o estado da instância permaneça sincronizado.
-
(Opcional) Conecte-se à instância e verifique se o módulo está instalado.
Para habilitar as redes avançadas (instâncias compatíveis com o armazenamento de instância)
Siga o procedimento anterior até a etapa onde você para a instância. Crie uma nova AMI como descrito em Criar uma AMI baseada em armazenamento de instância, habilitando o atributo de rede avançada ao registrar a AMI.
Se você executou a instância e ela ainda não tiver a rede avançada habilitada, você deverá fazer download e instalar o driver do adaptador de rede necessário na instância e, em seguida, definir o atributo sriovNetSupport
da instância para ativar a rede avançada. Você só pode habilitar esse atributo em tipos de instâncias compatíveis. Para ter mais informações, consulte Redes aperfeiçoadas para instâncias do Amazon EC2.
Importante
Para ver as atualizações de driver mais recentes nas AMIs do Windows, consulte o histórico de versões da AMI do Windows na Referência da AMI do AWS Windows.
Para habilitar a rede avançada
-
Conecte-se à instância e faça login como administrador local.
-
[Windows Server 2016 e posterior] Execute o seguinte script PowerShell do EC2 Launch para configurar a instância depois de instalar o driver.
PS C:\>
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -ScheduleImportante
A senha do administrador será redefinida quando você habilitar o script de inicialização do EC2 da instância. É possível modificar o arquivo de configuração para desabilitar a redefinição da senha do administrador especificando-a nas configurações das tarefas de inicialização.
-
Na instância, faça download do driver do adaptador de rede da Intel para seu sistema operacional:
-
Windows Server 2022
Visite a página de download
e faça download do Wired_driver_
.version
_x64.zip -
Windows Server 2019, inclusive para a versão de servidor 1809 e posterior*
Visite a página de download
e faça download do Wired_driver_
.version
_x64.zip -
Windows Server 2016, inclusive para a versão de servidor 1803 e anterior*
Visite a página de download
e faça download do Wired_driver_
.version
_x64.zip -
Windows Server 2012 R2
Visite a página de download
e faça download do Wired_driver_
.version
_x64.zip -
Windows Server 2012
Visite a página de download
e faça download do Wired_driver_
.version
_x64.zip -
Windows Server 2008 R2
Visite a página de download
e faça download do PROWinx64Legacy.exe
.
*As versões de servidor 1803 e anteriores, bem como a 1809 e posterior, não são especificamente abordadas nas páginas de Drivers e Software da Intel.
-
-
Instale o driver do adaptador de rede da Intel para seu sistema operacional:
-
Windows Server 2008 R2
-
Na pasta Downloads, localize o arquivo
PROWinx64Legacy.exe
e renomeie-o comoPROWinx64Legacy.zip
. -
Extraia o conteúdo do arquivo
PROWinx64Legacy.zip
. -
Abra a linha de comando, navegue até a pasta com os arquivos extraídos e execute o comando a seguir a fim de usar o utilitário
pnputil
para adicionar e instalar o arquivo INF no armazenamento de drivers.C:\>
pnputil -a PROXGB\Winx64\NDIS62\vxn62x64.inf
-
-
Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 e Windows Server 2012
-
Na pasta Downloads, extraia o conteúdo do arquivo
Wired_driver_
.version
_x64.zip -
Na pasta com arquivos extraídos, localize o arquivo
Wired_driver_
e renomeie-o comoversion
_x64.exeWired_driver_
.version
_x64.zip -
Extraia o conteúdo do arquivo
Wired_driver_
.version
_x64.zip -
Abra a linha de comando, navegue até a pasta com os arquivos extraídos e execute os comandos a seguir a fim de usar o utilitário
pnputil
para adicionar e instalar o arquivo INF no armazenamento de drivers.-
Windows Server 2022
C:\>
pnputil -i -a PROXGB\Winx64\WS2022\vxs.inf -
Windows Server 2019
C:\>
pnputil -i -a PROXGB\Winx64\NDIS68\vxn68x64.inf -
Windows Server 2016
C:\>
pnputil -i -a PROXGB\Winx64\NDIS65\vxn65x64.inf -
Windows Server 2012 R2
C:\>
pnputil -i -a PROXGB\Winx64\NDIS64\vxn64x64.inf -
Windows Server 2012
C:\>
pnputil -i -a PROXGB\Winx64\NDIS63\vxn63x64.inf
-
-
-
-
No computador local, ative o atributo de rede avançada usando um dos seguintes comandos:
-
(Opcional) Crie uma AMI na instância, conforme descrito em Criação de uma AMI baseada no Amazon EBS. A AMI herda o atributo da rede avançada da instância. Portanto, é possível usar essa AMI para executar outra instância com a rede avançada habilitada por padrão.
-
No computador local, inicie a instância usando o console do Amazon EC2 ou um dos seguintes comandos: start-instances (AWS CLI), Start-EC2Instance (AWS Tools for Windows PowerShell). Se sua instância for gerenciada por AWS OpsWorks, é necessário iniciar a instância no console do AWS OpsWorks de modo que o estado da instância permaneça sincronizado.
Solucionar problemas de conectividade
Se você perder a conectividade ao habilitar a rede avançada, o módulo ixgbevf
talvez seja incompatível com o kernel. Tente instalar a versão do módulo ixgbevf
incluída com a distribuição do Linux para a instância.
Se você habilitar a rede avançada para uma instância de PV ou de AMI, poderá tornar a instância inatingível.
Para obter mais informações, consulte Como faço para ativar e configurar a rede aprimorada em minhas instâncias do EC2?