Como vejo uma lista das minhas instâncias do Amazon EC2 que estão conectadas ao Amazon EFS?

6 minuto de leitura
0

Quero ver uma lista das minhas instâncias do Amazon Elastic Compute Cloud (Amazon EC2) que montaram um Amazon Elastic File System (Amazon EFS). Como faço isso?

Breve descrição

Os logs de fluxo da VPC são usados para rastrear o tráfego na interface de rede elástica de cada destino de montagem do Amazon EFS. Os logs de fluxo podem ser enviados para os logs do Amazon CloudWatch. Usando insights de logs do CloudWatch, o fluxo de tráfego na interface de rede elástica do destino de montagem é filtrado para fornecer a lista de instâncias do Amazon EC2 que montaram um Amazon EFS em um carimbo de data/hora específico.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

Execute as etapas a seguir uma vez. Depois de concluir essas etapas, sempre que você quiser listar os endereços IP dos clientes que montam o Amazon EFS, execute uma consulta para criar uma lista atual.

Criar um grupo de logs

  1. Abra o console do CloudWatch.
  2. No painel de navegação, escolha Logs e, em seguida, escolha Grupos de logs.
  3. Escolha Criar grupo de logs.
  4. Insira um Nome de grupo de logs, uma Configuração de retenção e um ARN de chave KMS opcional. Você também pode adicionar Tags aqui.
  5. Escolha Criar.

Crie um perfil do Identity and Access Management (IAM) com permissão para publicar logs de fluxo no CloudWatch Logs

  1. Abra o console do IAM.
  2. No painel de navegação, em Gerenciamento de Acesso, escolha Perfis.
  3. Escolha Criar perfil e crie um novo perfil do IAM.
  4. A política do IAM anexada a seu perfil do IAM deve incluir as permissões para publicar os logs de fluxo da VPC no CloudWatch. Da mesma forma, ela deve ter uma relação de confiança que permita que o serviço de logs de fluxo assuma o perfil.

Obtenha a lista de interfaces de rede elásticas usadas pelo destino de montagem do seu Amazon EFS

Observação: o Amazon EFS tem um destino de montagem diferente para cada zona de disponibilidade.

  1. Abra o console do Amazon EFS.
  2. Em Sistemas de arquivos, escolha o Amazon EFS específico e, em seguida, escolha Exibir detalhes.
  3. Clique em Rede e anote o ID da interface de rede de cada destino de montagem.

Criar os logs de fluxo

  1. Abra o console do Amazon EC2.
  2. Escolha Rede e Segurança e, em seguida, escolha Interfaces de rede.
  3. Escolha todas as interfaces de rede elásticas que estão sendo usadas pelo destino de montagem.
  4. No menu Ações, escolha Criar log de fluxo. Use os seguintes valores ao criar o log de fluxo:
  • Nome: opcional
  • Filtrar: Selecione Tudo
  • Intervalo máximo de agregação: Escolha entre 10 minutos padrão ou 1 min
  • Destino: selecione Enviar para os logs do CloudWatch
  • Grupo de logs de destino: escolha o grupo de logs que você criou
  • Perfil do IAM: escolha o perfil do IAM que você criou
  • Formato de registro do log: escolha entre Formato padrão da AWS ou Formato personalizado.
  • Tag: opcional
  1. Escolha Criar.
  2. Monitore o status do log de fluxo escolhendo a interface de rede elástica específica para a qual você criou um log de fluxo. Na parte inferior da tela, escolha Logs de fluxo. Verifique se o Status está Ativo.
  3. O primeiro log de fluxo é enviado para o CloudWatch Logs após cerca de 10 minutos.

Verifique se os logs de fluxo estão no CloudWatch Logs

  1. Abra o console do CloudWatch e escolha Logs.
  2. Escolha os Grupos de logs criados na etapa 1.
  3. Verifique se todos os fluxos de logs que você criou aparecem agora. Cada interface de rede elástica tem um fluxo de logs diferente.

Execute uma consulta

Para executar uma consulta no CloudWatch Logs Insights:

  1. No console do CloudWatch, escolha Logs e, em seguida, escolha Logs Insights.
  2. Escolha os grupos de logs que você criou no menu suspenso.
  3. Escolha a duração pela qual você deseja revisar os logs de fluxo (5 min, 30 min, 1h, 3h, 12 ou Personalizado).
  4. Insira a consulta abaixo:
fields @timestamp, @message | filter dstPort="2049" | stats count(*) as FlowLogEntries by srcAddr | sort FlowLogEntries desc

Observação: essa consulta analisa todos os logs de fluxo gerados para todos os destinos de montagem. Ela filtra os logs que têm uma porta de destino definida como Porta=2049 (os clientes do Amazon EFS se conectam para montar destinos na porta 2049 do NFS). Ela recupera todos os IPs de origem exclusivos (IPs de cliente do Amazon EFS) e os classifica pelas conexões de cliente mais ativas. A atividade é determinada pelo número de entradas no log de fluxo.

  • Escolha Executar consulta. A saída contém a lista de IPs privados de todas as instâncias do Amazon EC2 nas quais você montou o Amazon EFS.

Veja a seguir um exemplo da saída da consulta:

#          srcAddr              FlowLogEntries
1      111.22.33.44                 78
2      111.55.66.77                36
3      111.88.99.000                33

Execute uma consulta usando a AWS CLI <br>

Para executar uma consulta da AWS CLI, siga estas etapas:

  1. Depois que o log de fluxo da VPC for configurado, você poderá usar um comando da AWS CLI para executar a consulta.
  2. Verifique se a CLI da AWS está atualizada para a versão mais recente:
$ pip install --upgrade awscli
  • Verifique se o jq está instalado:
yum install -y jq
  • Use a seguinte consulta da AWS CLI usando esses parâmetros de consulta:
  • log-group-name: insira o nome do grupo de logs que você criou.
  • start-time / end-time: esses valores estão no horário Unix/Epoch. Use o conversor de conversor epoch para converter carimbos de data e hora legíveis por humanos em hora Unix/Epoch.
  • test.json: opcionalmente, você pode alterar o nome do arquivo json sempre que executar esse comando. Alterar o nome garante que a saída anterior não seja mesclada com a nova saída.
  • sleep: esse valor (em segundos) é usado como um atraso enquanto a consulta de insights do CloudWatch Logs é realizada. O valor inserido depende de quanto tempo você deseja revisar os logs de fluxo. Se você quiser revisar os logs por um período mais longo, como semanas, aumente o tempo de hibernação.
aws logs start-query --log-group-name EFS-ENI-Flowlogs --start-time 1643127618 --end-time 1643128901 --query-string 'filter dstPort="2049" | stats count(*) as FlowLogEntries by srcAddr | sort FlowLogEntries desc' > test.json && sleep 10 && jq .queryId test.json | xargs aws logs get-query-results --query-id

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos