本文說明如何使用 Migration Center 用戶資產評估器 CLI,在 Amazon Web Services (AWS) 帳戶中執行資產清單探索作業。
您可以使用 mcdc
CLI 收集 AWS 帳戶中下列資產的相關資訊:
- Amazon CloudFront (預先發布版)
- Amazon Elastic Compute Cloud (EC2)
- Amazon Elastic Container Service (ECS) (預先發布版)
- Amazon Elastic File System (EFS) (預覽版)
- Amazon Elastic Kubernetes Service (EKS) (預先發布版)
- Amazon Redshift (預覽版)
- Amazon Relational Database Service (RDS)
- Microsoft SQL Server
- MySQL
- PostgreSQL
- Amazon Simple Storage Service (S3) (預覽版)
- Amazon Virtual Private Cloud (VPC) (預覽版)
- AWS Lambda (預先發布版)
- Elastic Load Balancing (ELB) (預先發布版)
mcdc
CLI 接著會將收集到的資訊傳送至 Migration Center,您可以在該處完成評估。
限制
在 AWS 帳戶上執行資產目錄探索作業時,mcdc
CLI 有下列限制:
- TCO 報表僅包含 EC2 和 RDS 資產類型。如要匯出及分析 Migration Center 以外的所有資產類型,請匯出資產清單。
- 系統不會收集 EC2 執行個體的下列資訊:
- 系統不會收集記憶體用量。如要收集這項資訊,請確保已在 EC2 執行個體上安裝及設定 Amazon CloudWatch 代理程式。
- 釋出磁碟空間。如要收集這項資訊,請執行訪客探索。
- 您無法在 Linux 電腦上執行
mcdc
CLI,從 AWS Windows EC2 執行個體收集資料。如要從 Windows EC2 執行個體收集資訊,請在 Windows 電腦上執行mcdc
CLI。
商品目錄探索期間收集的資料
mcdc
CLI 會從支援的 AWS 服務收集下列資訊:
資產類型 | 收集的資料 |
---|---|
Amazon EC2 |
按一下即可查看收集到的資料。
|
Amazon RDS |
按一下即可查看收集到的資料。
|
Amazon S3 |
按一下即可查看收集到的資料。
|
Amazon EKS |
按一下即可查看收集到的資料。
|
Amazon ECS |
按一下即可查看收集到的資料。
|
ELB |
按一下即可查看收集到的資料。
|
AWS Lambda |
按一下即可查看收集到的資料。
|
Amazon CloudFront |
按一下即可查看收集到的資料。
|
Amazon EFS |
按一下即可查看收集到的資料。
|
Amazon Redshift |
按一下即可查看收集到的資料。
|
Amazon VPC |
按一下即可查看收集到的資料。
|
mcdc
CLI 會收集過去 30 天的指標,但資料庫記憶體用量除外。就資料庫記憶體用量而言,AWS 預設只會儲存最多 7 天的資料,因此 mcdc
CLI 只會收集最近 7 天的資料。
事前準備
開始探索商品目錄之前,請先完成下列步驟:
- 詳閱下載及執行
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 讀取 AWS 資產清單資料,請建立具有下列權限的 AWS IAM 政策:
{
"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": "*"
}
]
}
驗證 AWS
如要授權 mcdc
CLI 存取 AWS 環境,請使用下列其中一種方法驗證帳戶:
使用現有的 AWS 憑證
如要使用現有的 AWS 憑證,請直接從 AWS Cloud Shell 執行 mcdc
CLI 指令。如果您從 AWS Cloud Shell 執行 mcdc
CLI,可以使用現有憑證,不必使用存取金鑰。在這種情況下,由於憑證授予存取權,因此 mcdc
CLI 可以存取 AWS 環境,以探索 AWS 資產。
為 mcdc
CLI 建立存取金鑰
如要為 mcdc
CLI 建立存取金鑰,請按照下列步驟操作:
- 建立專屬的 IAM 使用者,與 AWS API 互動。
- 將您在上一個章節建立的 IAM 政策附加至新使用者。
在 AWS 主控台中,前往您在上一個步驟中建立的 IAM 使用者,然後依序點選「User」(使用者) >「Security Credentials」(安全性憑證) >「Create access key」(建立存取金鑰) >「Other」(其他) >「Next」(下一步) >「Create access key」(建立存取金鑰)。
詳情請參閱建立存取金鑰。
儲存存取金鑰 ID 和存取金鑰。您需要這項資訊才能掃描 AWS 目錄。
選用:設定存取權,以便收集客體作業系統資料
客體作業系統資料可豐富定價報表、授權報表和資產詳細資料匯出內容。這項資料也有助於評估是否適合將容器化遷移至 Google Kubernetes Engine、GKE Autopilot 和 Cloud Run。如不想收集作業系統資料,可以略過本節。
如要收集客層作業系統資料,執行 mcdc
CLI 的工作站必須連線至目標 EC2 執行個體。請確認目標 EC2 執行個體已開啟下列通訊埠:
- Linux 電腦的通訊埠 22 (SSH)
- Windows 電腦的 135 埠 (WMI)
探索 AWS 帳戶中的資產
如要在 AWS 帳戶中探索資產,請按照下列步驟操作:
在指令列終端機中,切換至您下載
mcdc
CLI 的目錄。執行探索作業:
AWS CloudShell
如要探索 AWS 帳戶中的資產,請執行下列指令:
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]更改下列內容:
- AWS_SERVICE_NAMES:要探索的資產類型。
請提供以半形逗號分隔的清單。支援的值為
cloudfront
、dynamodb
、ecs
、efs
、eks
、elb
、lambda
、db
(RDS)、redshift
、route53
、s3
、vm
(EC2) 和vpc
。如未提供這個標記,系統會探索所有支援的資產類型。 - AWS_REGION:EC2 執行個體和 RDS 資料庫所在的 AWS 區域。這個旗標是選用的。 如未提供此標記,系統會探索所有已啟用的 AWS 區域中的資產。
AWS 存取金鑰
如要使用 AWS 存取金鑰 ID 和存取金鑰,探索 AWS 帳戶中的資產,請執行下列指令:
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]更改下列內容:
- AWS_ACCESS_KEY_ID:您在「為
mcdc
CLI 建立存取金鑰」一節中建立的存取金鑰 ID。 - AWS_ACCESS_KEY:您在「
mcdc
CLI 的存取金鑰」一節中建立的存取金鑰。 - AWS_SERVICE_NAMES:要探索的資產類型。
請提供以半形逗號分隔的清單。支援的值為
cloudfront
、dynamodb
、ecs
、efs
、eks
、elb
、lambda
、db
(RDS)、redshift
、route53
、s3
、vm
(EC2) 和vpc
。如未提供這個標記,系統會探索所有支援的資產類型。 - AWS_REGION:AWS 資產所在的 AWS 區域。這個標記是選用的,如未提供這個旗標,系統會探索所有已啟用的 AWS 區域中的資產。
輸出內容應如下所示:
[+] 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:要探索的資產類型。
請提供以半形逗號分隔的清單。支援的值為
選用:如要查看收集到的資料,請執行下列指令:
Linux
./mcdc discover ls
Windows
mcdc.exe discover ls
輸出內容應如下所示:
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.
(選用) 使用
--asset-types
旗標顯示特定類型的資產。 舉例來說,如要只顯示 EC2 執行個體,請執行下列指令:Linux
./mcdc discover ls --asset-types=vm
Windows
mcdc.exe discover ls --asset-types=vm
使用
--asset-types
標記時,僅支援下列資產類型:db
:關聯式資料庫服務 (RDS)vm
:Elastic Compute Cloud (EC2)
探索資產後,請將收集到的資料匯出至 Migration Center,即可查看資產。
後續步驟
- 瞭解如何將收集到的資料匯出至 Migration Center。
- 瞭解如何匯出庫存和成效資料。
- 瞭解如何產生 TCO 報表。