Neste documento, descrevemos como executar uma descoberta de inventário na sua conta da Amazon Web Services (AWS) usando a CLI do discovery client da Central de migração.
Você pode usar a CLI mcdc
para coletar informações sobre os seguintes
recursos na sua conta da AWS:
- Amazon CloudFront (pré-lançamento)
- Amazon Elastic Compute Cloud (EC2)
- Amazon Elastic Container Service (ECS) (prévia)
- Amazon Elastic File System (EFS) (prévia)
- Amazon Elastic Kubernetes Service (EKS) (prévia)
- Amazon Redshift (prévia)
- Amazon Relational Database Service (RDS)
- Microsoft SQL Server
- MySQL
- PostgreSQL
- Amazon Simple Storage Service (S3) (pré-lançamento)
- Amazon Virtual Private Cloud (VPC) (pré-lançamento)
- AWS Lambda (pré-lançamento)
- Elastic Load Balancing (ELB) (pré-lançamento)
Em seguida, a CLI mcdc
envia as informações coletadas para a Central de migração, onde é possível concluir a avaliação.
Limitações
Ao executar uma descoberta de inventário na sua conta da AWS, a CLI
mcdc
tem as seguintes limitações:
- Somente os tipos de recursos EC2 e RDS são incluídos no relatório de TCO. Para exportar e analisar todos os tipos de recursos fora do Migration Center, exporte seu inventário.
- As seguintes informações das instâncias do EC2 não são coletadas:
- O uso da memória não é coletado. Para coletar essas informações, verifique se o agente do Amazon CloudWatch está instalado e configurado nas instâncias do EC2.
- Espaço livre no disco. Para coletar essas informações, execute uma descoberta de convidados.
- Não é possível executar a CLI
mcdc
em máquinas Linux para coletar dados de instâncias do AWS Windows EC2. Para coletar informações de instâncias do Windows EC2, execute a CLImcdc
em uma máquina Windows.
Dados coletados durante a descoberta de inventário
A CLI mcdc
coleta as seguintes informações dos
serviços da AWS compatíveis:
Tipo de recurso | Dados coletados |
---|---|
Amazon EC2 |
Clique para mostrar os dados coletados.
|
Amazon RDS |
Clique para mostrar os dados coletados.
|
Amazon S3 |
Clique para mostrar os dados coletados.
|
Amazon EKS |
Clique para mostrar os dados coletados.
|
Amazon ECS |
Clique para mostrar os dados coletados.
|
ELB |
Clique para mostrar os dados coletados.
|
AWS Lambda |
Clique para mostrar os dados coletados.
|
Amazon CloudFront |
Clique para mostrar os dados coletados.
|
Amazon EFS |
Clique para mostrar os dados coletados.
|
Amazon Redshift |
Clique para mostrar os dados coletados.
|
VPC da Amazon |
Clique para mostrar os dados coletados.
|
A CLI mcdc
coleta métricas dos últimos 30 dias, exceto o uso de memória do banco de dados. Para o uso da memória do banco de dados, a AWS salva apenas até 7 dias de dados por padrão. Portanto, a CLI mcdc
coleta dados apenas dos últimos 7 dias.
Antes de começar
Antes de iniciar a descoberta de inventário, conclua as seguintes etapas:
- Confira os requisitos para fazer o download e executar a CLI do
mcdc
. - Escolha onde fazer o download da CLI
mcdc
e conclua as etapas para baixar a CLImcdc
. - Verifique se você tem acesso à sua conta da AWS.
Escolha um local para fazer o download da CLI mcdc
É possível fazer o download da CLI mcdc
para máquinas Linux e Windows. Recomendamos usar uma instância do Windows EC2 para
baixar e executar a CLI mcdc
, porque ela é compatível com todos os
métodos de coleta disponíveis.
Faça o download da CLI mcdc
para um local com acesso aos
recursos de destino, como:
- AWS CloudShell
- Uma instância do Linux EC2
- Uma instância do Windows EC2
- Qualquer computador em que você tenha instalado a CLI
mcdc
e tenha acesso remoto à sua conta da AWS.
Para instruções sobre como fazer o download da CLI mcdc
,
consulte Fazer o download da CLI mcdc
.
Crie uma política do IAM para a AWS.
Para autorizar a CLI mcdc
a ler os dados do inventário de recursos da AWS,
crie uma política do IAM da AWS
com as seguintes permissões:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudfront:ListDistributions",
"cloudfront:ListTagsForResource",
"cloudwatch:DescribeAlarms",
"cloudwatch:ListTagsForResource",
"cloudwatch:GetMetricData",
"ec2:DescribeRegions",
"ec2:DescribeInstances",
"ec2:DescribeInstanceTypes",
"ec2:DescribeVolumes",
"ec2:DescribeVpcs",
"ec2:DescribeSubnets",
"ec2:DescribeNetworkAcls",
"ecs:ListClusters",
"ecs:DescribeClusters",
"ecs:ListServices",
"ecs:DescribeServices",
"ecs:ListTasks",
"ecs:DescribeTasks",
"ecs:ListContainerInstances",
"ecs:DescribeContainerInstances",
"efs:DescribeFileSystems",
"efs:ListTagsForResource",
"efs:DescribeLifecycleConfiguration",
"efs:DescribeBackupPolicy",
"efs:DescribeReplicationConfigurations",
"efs:DescribeMountTargets",
"efs:DescribeAccessPoints",
"eks:ListClusters",
"eks:DescribeCluster",
"eks:ListNodegroups",
"eks:DescribeNodegroup",
"eks:ListFargateProfiles",
"eks:DescribeFargateProfile",
"autoscaling:DescribeAutoScalingGroups",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTags",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeRules",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeTargetHealth",
"elasticloadbalancing:DescribeInstanceHealth",
"lambda:ListFunctions",
"lambda:ListTags",
"lambda:ListEventSourceMappings",
"lambda:GetFunctionConcurrency",
"rds:DescribeDBInstances",
"rds:DescribeDBEngineVersions",
"pi:GetResourceMetrics",
"redshift:DescribeClusters",
"redshift-serverless:ListWorkgroups",
"redshift-serverless:GetNamespace",
"redshift-serverless:ListSnapshotCopyConfigurations",
"redshift-serverless:ListTagsForResource",
"s3:ListAllMyBuckets",
"s3:GetBucketLocation",
"s3:GetBucketTagging",
"s3:GetBucketVersioning",
"s3:GetLifecycleConfiguration",
"ssm:DescribeInstanceInformation"
],
"Resource": "*"
}
]
}
Autenticar na AWS
Para autorizar a CLI mcdc
a acessar seu ambiente da AWS,
autentique sua conta usando um dos seguintes métodos:
Usar as credenciais da AWS atuais
Para usar as credenciais da AWS, execute os comandos da CLI mcdc
diretamente do AWS Cloud Shell.
Se você executar a CLI mcdc
no AWS CloudShell, poderá usar suas credenciais atuais sem uma chave de acesso. Nesse caso, a CLI mcdc
pode acessar seu ambiente da AWS para descobrir recursos da AWS, já que o acesso é concedido pelas suas credenciais.
Criar uma chave de acesso para a CLI mcdc
Para criar uma chave de acesso para a CLI do mcdc
, siga estas etapas:
- Crie um usuário do IAM dedicado para interagir com a API da AWS.
- Anexe a política criada na seção anterior ao novo usuário.
No console da AWS, navegue até o usuário do IAM criado na etapa anterior e clique em Usuário > Credenciais de segurança > Criar chave de acesso > Outro > Próxima > Criar chave de acesso.
Para mais informações, consulte Criar uma chave de acesso.
Armazene o ID e a chave de acesso. Você precisa dessas informações para verificar seu inventário da AWS.
Opcional: configurar o acesso para coletar dados do sistema operacional convidado
Os dados do sistema operacional convidado enriquecem os relatórios de preços e de licenças, além das exportações de detalhes de recursos. Esses dados também ajudam a avaliar a adequação para migrações de conteinerização para o Google Kubernetes Engine, o GKE Autopilot e o Cloud Run. Se você não quiser coletar dados do sistema operacional, pule esta seção.
Para coletar dados do sistema operacional convidado, a estação de trabalho que executa a CLI mcdc
precisa se conectar às instâncias do EC2 de destino. Verifique se as seguintes portas estão abertas nas instâncias do EC2 de destino:
- Porta 22 (SSH) para máquinas Linux
- Porta 135 (WMI) para máquinas Windows
Descobrir recursos na sua conta da AWS
Para descobrir recursos na sua conta da AWS, siga estas etapas:
No terminal de linha de comando, mude para o diretório em que você fez o download da CLI
mcdc
.Execute a descoberta:
AWS CloudShell
Para descobrir recursos na sua conta da AWS, execute o seguinte comando:
Linux
./mcdc discover aws --host-config \
[--services AWS_SERVICE_NAMES] \
[--region AWS_REGION]Windows
mcdc.exe discover aws --host-config \
[--services AWS_SERVICE_NAMES] \
[--region AWS_REGION]Substitua:
- AWS_SERVICE_NAMES: os tipos de recursos a serem descobertos.
Insira uma lista separada por vírgulas. Os valores aceitos são
cloudfront
,dynamodb
,ecs
,efs
,eks
,elb
,lambda
,db
(RDS),redshift
,route53
,s3
,vm
(EC2) evpc
. Se você não fornecer essa flag, todos os tipos de recursos compatíveis serão descobertos. - AWS_REGION: a região da AWS em que as instâncias do EC2 e os bancos de dados do RDS estão localizados. Essa sinalização é opcional. Se você não fornecer essa flag, os recursos de todas as regiões da AWS ativadas serão descobertos.
Chave de acesso da AWS
Para descobrir recursos na sua conta da AWS usando o ID da chave de acesso e a chave de acesso da AWS, execute o seguinte comando:
Linux
./mcdc discover aws --access-key-id AWS_ACCESS_KEY_ID \
--secret-access-key AWS_ACCESS_KEY \
[--services AWS_SERVICE_NAMES] \
[--region AWS_REGION]Windows
mcdc.exe discover aws --access-key-id AWS_ACCESS_KEY_ID \
--secret-access-key AWS_ACCESS_KEY \
[--services AWS_SERVICE_NAMES] \
[--region AWS_REGION]Substitua:
- AWS_ACCESS_KEY_ID: o ID da chave de acesso que você
criou na seção Criar uma chave de acesso para a
CLI
mcdc
. - AWS_ACCESS_KEY: a chave de acesso que você criou
na seção Criar uma chave de acesso para a CLI do
mcdc
. - AWS_SERVICE_NAMES: os tipos de recursos a serem descobertos.
Insira uma lista separada por vírgulas. Os valores aceitos são
cloudfront
,dynamodb
,ecs
,efs
,eks
,elb
,lambda
,db
(RDS),redshift
,route53
,s3
,vm
(EC2) evpc
. Se você não fornecer essa flag, todos os tipos de recursos compatíveis serão descobertos. - AWS_REGION: a região da AWS em que seus recursos da AWS estão localizados. Essa sinalização é opcional. Se você não fornecer essa flag, os recursos de todas as regiões da AWS ativadas serão descobertos.
A saída será parecida com esta:
[+] Collecting for AWS Account: 123456789012 [+] Collecting RDS in region eu-north-1 [✓] Collected 0 DB instances [!] No DB instances found [+] Collecting ECS in region eu-north-1 [+] Successfully collected data for 2 ECS clusters in region eu-north-1 [+] Collecting S3... [+] Successfully collected data for 74 S3 buckets [✓] Collection completed.
- AWS_SERVICE_NAMES: os tipos de recursos a serem descobertos.
Insira uma lista separada por vírgulas. Os valores aceitos são
Opcional: para analisar os dados coletados, execute o seguinte comando:
Linux
./mcdc discover ls
Windows
mcdc.exe discover ls
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 AWS CloudFront Distribution: 2 assets were collected. AWS ECS Cluster: 3 assets were collected. AWS EFS: 5 assets were collected. AWS Elastic Load Balancer: 7 assets were collected. AWS Lambda: 9 assets were collected. AWS Redshift: 2 assets were collected. AWS S3 Bucket: 77 assets were collected. AWS VPC: 84 assets were collected.
Se quiser, use a flag
--asset-types
para mostrar recursos de um tipo específico. Por exemplo, para mostrar apenas instâncias do EC2, execute o seguinte comando:Linux
./mcdc discover ls --asset-types=vm
Windows
mcdc.exe discover ls --asset-types=vm
Ao usar a flag
--asset-types
, apenas os seguintes tipos de recursos são aceitos:db
: Relational Database Service (RDS)vm
: Elastic Compute Cloud (EC2)
Depois de descobrir seus recursos, exporte os dados coletados para a Central de migração e veja os recursos.
A seguir
- Saiba como exportar dados coletados para o Migration Center.
- Saiba como exportar dados de inventário e performance.
- Saiba como gerar relatórios de TCO.