このドキュメントでは、Migration Center ディスカバリー クライアント CLI を使用して Amazon Web Services(AWS)アカウントでインベントリ検出を実行する方法について説明します。
mcdc
CLI を使用すると、AWS の Amazon Elastic Compute Cloud(EC2)インスタンスと Amazon リレーショナル データベース サービス(RDS)データベースに関する情報を収集できます。mcdc
CLI は、収集した情報を移行センターに送信して評価を行います。
インベントリ検出時に収集される情報
mcdc
CLI は、EC2 インスタンスから次の情報を収集します。
- インスタンスのタイプ、ID、名前、リージョン。
- マシンサイズ(CPU、メモリ、ストレージ サイズなど)。
- オペレーティング システムの名前、バージョン、アーキテクチャ。
- 電源の状態(オンまたはオフ)。
- ネットワーク インターフェースと、関連する IP アドレスと MAC アドレス。
- ディスク情報(インターフェース タイプ、ボリューム タイプ、ラベル、サイズなど)。
- ハイパースレッディングのサポート。
- 各 EC2 インスタンスのパフォーマンス データ:
- 1 秒あたりの入出力オペレーション(IOPS)
- CPU 使用率
- ネットワークの上り(内向き)と下り(外向き)
mcdc
CLI は、RDS データベースから次の情報を収集します。
- プラットフォーム
- データベース エンジン
- 名前
- 生成された ID
- バージョン
- Edition
- ディスクに割り当てられたバイト数
- 物理コア数
- メモリバイト数
- 各データベースのパフォーマンス データ:
- メモリ使用量
- ディスク 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 マシンの両方にダウンロードできます。mcdc
CLI は、使用可能なすべての収集方法をサポートしているため、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 Cloud Shell から mcdc
CLI コマンドを直接実行します。AWS Cloud Shell から mcdc
CLI を実行する場合は、アクセスキーなしで既存の認証情報を使用できます。この場合、mcdc
CLI は認証情報によって付与された権限に基づいて AWS 環境にアクセスし、VM インスタンスを検出できます。
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)
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
パラメータを使用して VM またはデータベースのみを表示します。たとえば、VM インスタンスのみを表示するには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 にエクスポートする方法を確認する。