Descobrir instâncias e bancos de dados do EC2 na AWS

Este documento descreve as etapas para executar uma descoberta de inventário na sua conta da AWS usando a CLI do discovery client da Central de migração.

A CLI mcdc permite coletar informações sobre suas instâncias do Amazon Elastic Compute Cloud (EC2) e bancos de dados do Amazon Relational Database Service (RDS) na AWS. A CLI mcdc envia essas informações para a Central de migração, onde você pode continuar a avaliação.

Informações coletadas durante a descoberta de inventário

A CLI mcdc coleta as seguintes informações das suas instâncias do EC2:

  • ID, nome e região da instância
  • Tipo de instância
  • Tamanho da máquina, incluindo CPU, memória e tamanho do armazenamento
  • SO convidado: nome, versão, arquitetura
  • Estado de energia (ligado/desligado)
  • Interfaces de rede e endereços IP e MAC associados
  • Discos: tipo de interface, tipo de volume, rótulo, tamanho
  • Dados de desempenho
  • Compatibilidade com Hyperthreading

A CLI mcdc coleta as seguintes informações dos seus bancos de dados do RDS:

  • Plataforma
  • Mecanismo
  • Nome
  • ID gerado
  • Versão
  • Edição
  • Bytes alocados no disco
  • Contagem de núcleos físicos
  • Bytes de memória
  • Dados de desempenho

Bancos de dados compatíveis

Os seguintes bancos de dados são compatíveis:

  • Microsoft SQL Server
  • MySQL
  • PostgreSQL

Antes de começar

  1. Confira os requisitos para fazer o download e executar a CLI do mcdc.
  2. Siga as etapas para fazer o download da CLI mcdc.
  3. Verifique se você tem acesso à sua conta da AWS. Recomendamos usar a configuração e as credenciais da AWS em estações de trabalho configuradas para funcionar com ferramentas da AWS, como a AWS CLI.

Configurar a AWS

As seções a seguir descrevem como configurar sua conta da AWS para permitir que a CLI mcdc colete dados das suas instâncias do EC2.

Crie uma política do IAM para a AWS.

Crie uma política do IAM da AWS com as seguintes permissões para ler dados de inventário:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeRegions",
        "ec2:DescribeInstances",
        "ec2:DescribeVolumes",
        "ec2:DescribeInstanceTypes",
        "rds:DescribeDBInstances",
        "rds:DescribeDBEngineVersions",
        "ssm:DescribeInstanceInformation",
        "cloudwatch:GetMetricData"
      ],
      "Resource": "*"
    }
  ]
}

Escolher um método de autenticação na AWS

  1. Crie um usuário do IAM dedicado para interagir com a API da AWS.
  2. Anexe a política do IAM criada na etapa anterior ao novo usuário.
  3. Escolha um método de autenticação.

    • Crie um token de sessão da AWS usando o comando get-session-token da AWS CLI.
    • Configure as configurações que a interface de linha de comando da AWS (AWS CLI) usa para interagir com a AWS. Para mais informações, consulte Como definir as configurações da AWS CLI.
    • Crie uma chave de acesso. No console da AWS, acesse o usuário do IAM que você criou na etapa anterior: Usuário  > Credenciais de segurança  > Criar chave de acesso  > Outros  > Próxima  > Criar chave de acesso.

      Armazene as informações de autenticação da AWS criadas quando você cria a chave de acesso. Você vai precisar dele para verificar o inventário da AWS com a CLI mcdc.

Descobrir instâncias do EC2 e bancos de dados do RDS

  1. No terminal da linha de comando, mude para o diretório em que você fez o download da CLI mcdc.

  2. Execute a descoberta:

    Para coletar informações de inventário das instâncias do EC2 e dos bancos de dados RDS de uma região específica da AWS, faça o seguinte:

    Linux

    ./mcdc discover aws --session-token AWS_SESSION_TOKEN 
    --services AWS_SERVICE_NAME
    [--region AWS_REGION]

    Windows

    mcdc.exe discover aws --session-token AWS_SESSION_TOKEN 
    --services AWS_SERVICE_NAME
    [--region AWS_REGION]

    Para fazer a autenticação na AWS usando a configuração da AWS CLI do host, especifique a flag --host-config, que localiza automaticamente a configuração da AWS:

    Linux

    ./mcdc discover aws  --host-config
    --services AWS_SERVICE_NAME 
    [--region AWS_REGION]

    Windows

    mcdc.exe discover aws  --host-config
    --services AWS_SERVICE_NAME 
    [--region AWS_REGION]

    Para fazer a autenticação na AWS usando o ID da chave de acesso e a chave secreta, especifique as flags --access-key-id e --secret-access-key:

    Linux

    ./mcdc discover aws --access-key-id AWS_ACCESS_KEY_ID 
    --secret-access-key AWS_SECRET_ACCESS_KEY
    --services AWS_SERVICE_NAME
    [--region AWS_REGION]

    Windows

    mcdc.exe discover aws --access-key-id AWS_ACCESS_KEY_ID 
    --secret-access-key AWS_SECRET_ACCESS_KEY
    --services AWS_SERVICE_NAME
    [--region AWS_REGION]

    Substitua:

    • AWS_SESSION_TOKEN: o token de sessão que você criou na seção Configurar o ambiente da AWS.
    • AWS_ACCESS_KEY_ID: o ID da chave de acesso que você criou na seção Configurar o ambiente da AWS.
    • AWS_SECRET_ACCESS_KEY: a chave de acesso secreta que você criou na seção Configurar o ambiente da AWS.
    • AWS_HOST_CONFIG: a configuração da AWS CLI do host. Para mais informações, consulte Como definir as configurações da AWS CLI.
    • AWS_REGION: a região da AWS em que as instâncias do EC2 e os bancos de dados RDS estão localizados. Essa sinalização é opcional. Se você não informar essa flag, os recursos de todas as regiões da AWS ativadas serão descobertos.
    • AWS_SERVICE_NAME: o nome do serviço da AWS (rds ou ec2). Essa flag é opcional. Se você não fornecer essa flag, as instâncias do EC2 e os bancos de dados RDS serão descobertos.

A saída será parecida com esta:

  [+] Collecting EC2...
  Collecting region eu-west-1
  Collected 73 EC2 instances
  [+] Collecting RDS...
  [+] Collecting region eu-west-1
  [✓] Collected 1 DB instances
  [✓] Collected total of 1 DB instances
  [✓] Collection completed.

Quando a descoberta terminar, revise os dados coletados executando o comando discover ls.

Linux

./mcdc discover ls

Windows

mcdc.exe discover ls

Se quiser, use o parâmetro --asset-types para mostrar apenas VMs ou bancos de dados. Por exemplo, execute discover ls --asset-types=vm para mostrar apenas instâncias de VM ou discover ls --asset-types=db para mostrar apenas bancos de dados.

A saída será parecida com esta:

    VM Assets
    PLATFORM VM ID       NAME              COLLECTED DATA   OS                          IP ADDRESSES
    i-011d6234b5769fe2a  abc-rhel9.0-arm   AWSVM            Red Hat Enterprise Linux    192.0.2.1
    i-08f7e5e469508460f  def-rhel9.0-arm   AWSVM            Red Hat Enterprise Linux    192.0.2.2
    i-09e28bb6eggg94db8  ghi-ol9.3         AWSVM            Linux/UNIX                  192.0.2.3

    Database Assets
    GENERATED ID                                         PROVIDER        ENGINE
    arn:aws:rds:eu-west-1:12345678912:db:abc-sqlserver   RDS             SQL Server

A seguir