このドキュメントでは、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 インスタンスの次の情報は収集されません。
- メモリ使用量は収集されません。この情報を収集するには、Amazon CloudWatch エージェントが EC2 インスタンスにインストールされ、構成されていることを確認してください。
- ディスクの空き容量。この情報を収集するには、ゲスト検出を実行します。
- 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 マシンの両方にダウンロードできます。mcdc
CLI のダウンロードと実行には、Windows EC2 インスタンスを使用することをおすすめします。このインスタンスは、使用可能なすべての収集方法をサポートしています。
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 のアクセスキーを作成する手順は次のとおりです。
- AWS API とやり取りするための専用の IAM ユーザーを作成します。
- 前のセクションで作成した IAM ポリシーを新しいユーザーに関連付けます。
AWS コンソールで、前の手順で作成した IAM ユーザーに移動し、[ユーザー] > [セキュリティ認証情報] > [アクセスキーの作成] > [その他] > [次へ] > [アクセスキーの作成] をクリックします。
詳細については、アクセスキーを作成するをご覧ください。
アクセスキー 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
: Relational Database Service(RDS)vm
: Elastic Compute Cloud(EC2)
アセットを検出したら、収集したデータを Migration Center にエクスポートして、アセットを表示します。
次のステップ
- 収集したデータを Migration Center にエクスポートする方法を確認する。
- インベントリとパフォーマンス データをエクスポートする方法を確認する。
- TCO レポートを生成する方法を学習する。