Configurações de rede para instâncias de computação em dispositivos da família Snow - Guia do desenvolvedor do AWS Snowball Edge

Configurações de rede para instâncias de computação em dispositivos da família Snow

Depois que você iniciar as instâncias de computação em um dispositivo da família Snow, deverá fornecer a ele um endereço IP criando uma interface de rede. Os dispositivos da Família Snow suportam dois tipos de interfaces de rede, uma interface de rede virtual e uma interface de rede direta.

Interface de rede virtual (VNI): uma interface de rede virtual é a padrão para se conectar a uma instância compatível com o EC2 no dispositivo da família Snow. É necessário criar uma VNI para cada uma das instâncias compatíveis com o EC2, independentemente de também usar uma interface de rede direta ou não. O tráfego que passa por uma VNI é protegido pelos grupos de segurança configurados. É possível associar VNIs somente à porta de rede física usada para controlar o dispositivo da Família Snow.

nota

A VNI usará a mesma interface física (RJ45, SFP+ ou QSFP) usada para gerenciar o dispositivo da Família Snow. Criar uma VNI em uma interface física diferente daquela usada para gerenciamento de dispositivos pode gerar resultados inesperados.

Interface de rede direta (DNI): uma interface de rede direta (DNI) é um recurso de rede avançado que permite casos de uso, como fluxos multicast, roteamento transitivo e balanceador de carga. Ao fornecer às instâncias acesso à rede de camada 2 sem conversão ou filtragem intermediária, é possível obter maior flexibilidade na configuração de rede do dispositivo da Família Snow e melhorar a performance da rede. As DNIs são compatíveis com tags de VLAN e a personalização do endereço MAC. O tráfego nas DNIs não é protegido por grupos de segurança.

Nos dispositivos Snowball Edge, as DNIs podem ser associadas às portas RJ45, SFP ou QSFP. Cada porta é compatível com no máximo 63 DNIs. As DNIs não precisam estar associadas à mesma porta de rede física utilizada para gerenciar o dispositivo da família Snow.

nota

Os dispositivos Snowball com funcionalidade de computação do EC2 não dão suporte a DNIs.

Pré-requisitos para DNIs ou VNIs em dispositivos da família Snow

Antes de configurar uma VNI ou uma DNI, verifique se você cumpriu os pré-requisitos a seguir.

  1. Verifique se há alimentação para o dispositivo e se uma das interfaces de rede físicas, como a porta RJ45, está conectada a um endereço IP.

  2. Obtenha o endereço IP associado à interface de rede física que você está usando no dispositivo da Família Snow.

  3. Configure o Snowball Edge Client. Para ter mais informações, consulte Configurar um perfil para o Snowball Edge Client.

  4. Configure o AWS CLI. Para ter mais informações, consulte Getting started with the AWS CLI no Guia do usuário do AWS Command Line Interface.

  5. Desbloqueie o dispositivo.

  6. Inicie uma instância compatível com o EC2 no dispositivo. Você associará a VNI a essa instância.

  7. Use o Snowball Edge Client para executar o comando describe-device. A saída do comando fornecerá uma lista de IDs de interface de rede física. Para ter mais informações, consulte Visualizar o status de um dispositivo da família Snow.

  8. Identifique o ID da interface de rede física que deseja usar e anote-o.

Configurar uma interface de rede virtual (VNI) em um dispositivo da família Snow

Depois de identificar o ID da interface de rede física, é possível configurar uma interface de rede virtual (VNI) com essa interface física. Utilize o procedimento a seguir para configurar uma VNI. Assegure-se de realizar as tarefas de pré-requisito antes de criar uma VNI.

Criar uma VNI e associar um endereço IP
  1. Use o Snowball Edge Client para executar o comando create-virtual-network-interface. Os exemplos a seguir mostram a execução desse comando com os dois diferentes métodos de atribuição de endereço IP, DHCP ou STATIC. O método DHCP usa Dynamic Host Configuration Protocol (DHCP — Protocolo de configuração de host dinâmico).

    snowballEdge create-virtual-network-interface \ --profile profile-name --physical-network-interface-id s.ni-abcd1234 \ --ip-address-assignment DHCP //OR// snowballEdge create-virtual-network-interface \ --profile profile-name --physical-network-interface-id s.ni-abcd1234 \ --ip-address-assignment STATIC \ --static-ip-address-configuration IpAddress=192.0.2.0,Netmask=255.255.255.0

    O comando retorna uma estrutura JSON que inclui o endereço IP. Anote esse endereço IP para uso com o comando ec2 associate-address da AWS CLI posteriormente no processo.

    Sempre que precisar desse endereço IP, use o comando describe-virtual-network-interfaces do Snowball Edge Client ou o comando AWS CLI da aws ec2 describe-addresses para recebê-lo.

  2. Use a AWS CLI para associar o endereço IP à instância compatível com o EC2, substituindo o texto em vermelho pelos seus próprios valores:

    aws ec2 associate-address --public-ip 192.0.2.0 --instance-id s.i-01234567890123456 --endpoint http://Snow Family device physical IP address:8008

Configurar uma interface de rede direta (DNI) em um dispositivo da família Snow

nota

O atributo de interface de rede direta está disponível em ou após 12 de janeiro de 2021 e está disponível em todas as Regiões da AWS onde os dispositivos da família Snow estão disponíveis.

Pré-requisitos para uma DNI em um dispositivo da família Snow

Antes de configurar uma interface de rede direta (DNI), é necessário realizar as tarefas na seção de pré-requisitos.

  1. Realize as tarefas de pré-requisito antes de configurar a DNI. Para obter instruções, consulte Pré-requisitos para DNIs ou VNIs em dispositivos da família Snow.

  2. Além disso, é necessário iniciar uma instância no dispositivo, criar uma VNI e associá-la à instância. Para obter instruções, consulte Configurar uma interface de rede virtual (VNI) em um dispositivo da família Snow.

    nota

    Se você adicionou rede direta ao dispositivo existente realizando uma atualização de software em campo, deverá reiniciar o dispositivo duas vezes para ativar totalmente o recurso.

Criar uma DNI e associar o endereço IP
  1. Crie uma interface de rede direta e anexe-a à instância compatível com o Amazon EC2 executando o comando a seguir. Você precisará do endereço MAC do dispositivo para a próxima etapa.

    create-direct-network-interface [--endpoint endpoint] [--instance-id instanceId] [--mac macAddress] [--physical-network-interface-id physicalNetworkInterfaceId] [--unlock-code unlockCode] [--vlan vlanId]

    OPTIONS

    --endpoint <endpoint> O endpoint para o qual enviar essa solicitação. O endpoint dos dispositivos será um URL que use o esquema https seguido por um endereço IP. Por exemplo, se o endereço IP do dispositivo for 123.0.1.2, o endpoint do dispositivo será https://123.0.1.2.

    --instance-id <instanceId>: o ID da instância compatível com EC2 ao qual anexar a interface (opcional).

    --mac <macAddress>: define o endereço MAC da interface de rede (opcional).

    --physical-network-interface-id <physicalNetworkInterfaceId> O ID da interface de rede física na qual criar uma interface de rede virtual. Você pode determinar as interfaces de rede física disponíveis no Snowball Edge usando o comando describe-device.

    --vlan <vlanId>: defina a VLAN atribuída para a interface (opcional). Quando especificado, todo o tráfego enviado da interface é marcado com o ID de VLAN especificado. O tráfego de entrada é filtrado pelo ID de VLAN especificado e todas as tags de VLAN são removidas antes de serem transmitidas para a instância.

  2. Depois de criar uma DNI e associá-la à instância compatível com o EC2, é necessário fazer duas alterações na configuração na instância compatível com o Amazon EC2.

    • A primeira é garantir que os pacotes destinados à VNI associada à instância compatível com o EC2 sejam enviados por meio de eth0.

    • A segunda alteração configura a interface de rede direta para usar DCHP ou IP estático durante a inicialização.

    Veja a seguir exemplos de script de shell para Amazon Linux 2 e CentOS Linux que fazem essas alterações na configuração.

    Amazon Linux 2
    # Mac address of the direct network interface. # You got this when you created the direct network interface. DNI_MAC=[MAC ADDRESS FROM CREATED DNI] # Configure routing so that packets meant for the VNI always are sent through eth0. PRIVATE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4) PRIVATE_GATEWAY=$(ip route show to match 0/0 dev eth0 | awk '{print $3}') ROUTE_TABLE=10001 echo "from $PRIVATE_IP table $ROUTE_TABLE" > /etc/sysconfig/network-scripts/rule-eth0 echo "default via $PRIVATE_GATEWAY dev eth0 table $ROUTE_TABLE" > /etc/sysconfig/network-scripts/route-eth0 echo "169.254.169.254 dev eth0" >> /etc/sysconfig/network-scripts/route-eth0 # Query the persistent DNI name, assigned by udev via ec2net helper. # changable in /etc/udev/rules.d/70-persistent-net.rules DNI=$(ip --oneline link | grep -i $DNI_MAC | awk -F ': ' '{ print $2 }') # Configure DNI to use DHCP on boot. cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$DNI DEVICE="$DNI" NAME="$DNI" HWADDR=$DNI_MAC ONBOOT=yes NOZEROCONF=yes BOOTPROTO=dhcp TYPE=Ethernet MAINROUTETABLE=no EOF # Make all changes live. systemctl restart network
    CentOS Linux
    # Mac address of the direct network interface. You got this when you created the direct network interface. DNI_MAC=[MAC ADDRESS FROM CREATED DNI] # The name to use for the direct network interface. You can pick any name that isn't already in use. DNI=eth1 # Configure routing so that packets meant for the VNIC always are sent through eth0 PRIVATE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4) PRIVATE_GATEWAY=$(ip route show to match 0/0 dev eth0 | awk '{print $3}') ROUTE_TABLE=10001 echo from $PRIVATE_IP table $ROUTE_TABLE > /etc/sysconfig/network-scripts/rule-eth0 echo default via $PRIVATE_GATEWAY dev eth0 table $ROUTE_TABLE > /etc/sysconfig/network-scripts/route-eth0 # Configure your direct network interface to use DHCP on boot. cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$DNI DEVICE="$DNI" NAME="$DNI" HWADDR="$DNI_MAC" ONBOOT=yes NOZEROCONF=yes BOOTPROTO=dhcp TYPE=Ethernet EOF # Rename DNI device if needed. CURRENT_DEVICE_NAME=$(LANG=C ip -o link | awk -F ': ' -vIGNORECASE=1 '!/link\/ieee802\.11/ && /'"$DNI_MAC"'/ { print $2 }') ip link set $CURRENT_DEVICE_NAME name $DNI # Make all changes live. systemctl restart network