本文档介绍了如何使用迁移中心发现客户端 CLI 在您的 Amazon Web Services (AWS) 账号中运行目录发现。
借助 mcdc
CLI,您可以收集有关 AWS 上的 Amazon Elastic Compute Cloud (EC2) 实例和 Amazon Relational Database Service (RDS) 数据库的信息。然后,mcdc
CLI 会将收集到的信息发送到 Migration Center 进行评估。
在广告资源发现期间收集的信息
mcdc
CLI 会从您的 EC2 实例收集以下信息:
- 实例类型、ID、名称和区域。
- 机器大小,包括 CPU、内存和存储空间大小。
- 操作系统名称、版本和架构。
- 电源状态(开启或关闭)。
- 网络接口以及关联的 IP 地址和 MAC 地址。
- 磁盘信息,包括接口类型、卷类型、标签和大小。
- 超线程支持。
- 每个 EC2 实例的性能数据:
- 每秒输入和输出操作次数 (IOPS)
- CPU 利用率
- 网络入站流量和出站流量
mcdc
CLI 会从您的 RDS 数据库收集以下信息:
- 平台
- 数据库引擎
- 名称
- 已生成的 ID
- 版本
- 版本
- 磁盘分配的字节数
- 物理核心数
- 内存字节数
- 每个数据库的性能数据:
- 内存用量
- 磁盘 IOPS
- 网络入站流量和出站流量
- CPU 利用率
mcdc
CLI 会收集过去 30 天的指标(数据库内存用量除外)。对于数据库内存用量,AWS 默认最多只会保存 7 天的数据,因此 mcdc
CLI 仅收集过去 7 天的数据。
支持的数据库
支持以下数据库:
- Microsoft SQL Server
- MySQL
- PostgreSQL
限制
在 AWS 账号上运行清单发现时,mcdc
CLI 存在以下限制:
- 系统不会收集 EC2 实例的以下信息:
- 内存用量。
- 可用磁盘空间。如需收集此类信息,请运行客机发现。
- 您无法在 Linux 机器上运行
mcdc
CLI 来从 AWS Windows EC2 实例收集数据。如需从 Windows EC2 实例收集信息,请在 Windows 计算机上运行mcdc
CLI。
准备工作
在开始发现商品目录之前,请确保您已完成以下步骤:
- 查看下载和运行
mcdc
CLI 的要求。 - 选择下载
mcdc
CLI 的位置,然后完成下载mcdc
CLI 的步骤。 - 确保您有权访问自己的 AWS 账号。
选择要将 mcdc
CLI 下载到何处
您可以将 mcdc
CLI 下载到 Linux 和 Windows 机器。我们建议您使用 Windows EC2 实例下载并运行 mcdc
CLI,因为它支持所有可用收集方法。
您可以将 mcdc
CLI 下载到有权访问目标素材资源的位置,例如:
- AWS CloudShell
- Linux EC2 实例
- Windows EC2 实例
- 已安装
mcdc
CLI 且可以远程访问 AWS 账号的任何计算机。
如需了解下载 mcdc
CLI 的说明,请参阅下载 mcdc
CLI。
创建 AWS IAM 政策
如需让 mcdc
CLI 读取 EC2 和 RDS 目录数据,请创建一个具有以下权限的 AWS IAM 政策:
{
"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": "*"
}
]
}
向 AWS 进行身份验证
如需让 mcdc
CLI 访问您的 AWS 环境,请使用以下方法之一对您的账号进行身份验证:
使用现有的 AWS 凭据
如需使用现有的 AWS 凭据,请直接从 AWS CloudShell 运行 mcdc
CLI 命令。如果您从 AWS Cloud Shell 运行 mcdc
CLI,则无需访问密钥即可使用现有凭据。在这种情况下,mcdc
CLI 可以访问您的 AWS 环境,以便根据您的凭据发现虚拟机实例。
为 mcdc
CLI 创建访问密钥
如需为 mcdc
CLI 创建访问密钥,请按以下步骤操作:
- 创建专用的 IAM 用户来与 AWS API 交互。
- 将您在上一部分中创建的 IAM 政策附加到新用户。
在 AWS 控制台中,前往您在上一步中创建的 IAM 用户,然后依次点击用户 > 安全凭据 > 创建访问密钥 > 其他 > 下一步 > 创建访问密钥。
如需了解详情,请参阅创建访问密钥。
存储访问密钥 ID 和访问密钥。您需要这些信息来扫描 AWS 广告资源。
可选:设置访问权限以收集客机操作系统数据
借助访客操作系统数据,您可以丰富价格报告、许可报告和资产详情导出内容。这些数据还有助于评估是否适合进行容器化改造,以便迁移到 Google Kubernetes Engine、GKE Autopilot 和 Cloud Run。如果您不想收集操作系统数据,可以跳过此部分。
如需收集客机操作系统数据,运行 mcdc
CLI 的工作站必须连接到目标 EC2 实例。确保目标 EC2 实例上打开以下端口:
- Linux 计算机的端口 22 (SSH)
- 适用于 Windows 计算机的端口 135 (WMI)
探索 EC2 实例和 RDS 数据库
如需发现 EC2 实例和 RDS 数据库,请按以下步骤操作:
在命令行终端中,切换到下载
mcdc
CLI 的目录。运行发现:
AWS CloudShell
如需在 AWS 账号中发现 EC2 实例和 RDS 数据库,请运行以下命令:
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]替换以下内容:
- AWS_SERVICE_NAME:AWS 服务名称(
rds
或ec2
)。此标志为可选标志。如果您未提供此标志,则系统会发现 EC2 实例和 RDS 数据库。 - AWS_REGION:您的 EC2 实例和 RDS 数据库所在的 AWS 区域。此标志是可选标志。如果您未提供此标志,系统会发现所有已启用 AWS 区域中的资源。
AWS 访问密钥
如需使用 AWS 访问密钥 ID 和访问密钥发现 EC2 实例和 RDS 数据库,请运行以下命令:
Linux
./mcdc discover aws --access-key-id AWS_ACCESS_KEY_ID
--secret-access-key AWS_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_ACCESS_KEY
[--services AWS_SERVICE_NAME]
[--region AWS_REGION]替换以下内容:
- AWS_ACCESS_KEY_ID:您在为
mcdc
CLI 创建访问密钥部分创建的访问密钥 ID。 - AWS_ACCESS_KEY:您在为
mcdc
CLI 创建访问密钥部分创建的访问密钥。 - AWS_SERVICE_NAME:AWS 服务名称(
rds
或ec2
)。此标志为可选标志。如果您未提供此标志,则系统会发现 EC2 实例和 RDS 数据库。 - AWS_REGION:您的 EC2 实例和 RDS 数据库所在的 AWS 区域。此标志是可选标志。如果您未提供此标志,系统会发现所有已启用 AWS 区域中的资源。
输出应类似如下所示:
[+] 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.
- AWS_SERVICE_NAME:AWS 服务名称(
如需查看收集的数据,请运行以下命令:
Linux
./mcdc discover ls
Windows
mcdc.exe discover ls
(可选)使用
--asset-types
参数仅显示虚拟机或数据库。例如,如需仅显示虚拟机实例,请运行discover ls --asset-types=vm
;如需仅显示数据库,请运行discover ls --asset-types=db
。输出应类似如下所示:
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
后续步骤
- 了解如何运行客机发现。
- 了解如何将收集的数据导出到 Migration Center。