移行対象をMigrationHubで可視化する(Application Discorvery Agentによるインベントリ収集)

記事タイトルとURLをコピーする

こんにちは。森井と申します。

今回は特にオンプレミス中心のITポートフォリオとなっている方向けに、AWS移行を効率化するサービスであるMigration Hubについて紹介します。
本記事で紹介するサービスは、AWSを利用していなくても無料で使えます。今回は、Migration Hubが提供する機能の中でも、インベントリ収集に焦点を当てて説明します。

記事の要約

このブログは、AWSへの移行を検討している方向けに、AWS Migration Hubの「検出」機能を中心に解説しています。Migration Hubを使用したインベントリ収集方法、収集したデータの活用方法、およびEC2インスタンスのレコメンデーションなど、移行プロセスを効率化するツールの特徴と使い方を詳細に紹介しています。

想定している読者

本記事は、こんな人に向けて書かれています。

  • オンプレミスからパブリッククラウドへの移行を考えているが、何から始めればいいかわからない。
  • AWSへの移行準備に向けて、まずはITポートフォリオの可視化・棚卸しがしたい。
  • Migration Hubの機能概要が知りたい。

本記事のスコープ

AWSは、クラウド移行を支援するために、多くのサービスを提供しています。
本記事では、ポートフォリオ調査(移行前環境の可視化)に使用される、MigrationHubApplication Discovery Agentによるインベントリ収集に絞って説明させていただきます。

AWS Black Belt Online Seminar資料より引用

1.現状調査の課題

クラウド移行に当たっては、まず移行対象となるシステムの現状を調査するところから着手します。
しかしながら、ITサービスは近年のデジタルトランスフォーメーション(DX)化やITの活用が進むにつれて肥大化・複雑化しており、現状調査にかかる負荷は膨大になっているかと思います。

複雑な環境の現行調査は難しく、何をどのようにクラウド化していくのか、方針を立てることは容易ではありません。
そこで、現行のITポートフォリオを整理し、移行計画・方針を立てることができるサービスがAWS Migration Hubです。

2.AWS MigrationHubについて

MigrationHubが提供する機能は以下の通りです。

機能 説明
ダッシュボード アプリケーション・サーバー毎の移行進捗状況や以降ステータスを一目で確認できる総合的なビュー。
検出 サーバーをに検出し、インベントリを作成する機能。
評価 現在のインフラストラクチャの評価を行い、最適なマイグレーション戦略を策定するための機能。
戦略 マイグレーションの全体的な戦略を計画し、各フェーズのステップを定義する機能。
オーケストレート マイグレーションプロセス全体を自動化・管理するためのワークフローを構築する機能。
移行 サーバーやアプリケーションのデータを新しい環境に移行するためのプロセスを管理する機能。
Refactor Spaces アプリケーションのリファクタリングを行うためのスペースを提供し、コードの再構築や最適化を支援する機能。

Migration Hubを利用する上でのセットアップ

Migration Hubにデータを収集するために必要な事前作業は以下の通りです。

docs.aws.amazon.com

  1. AWSアカウントを作成します。

  2. IAMユーザを作成します。
    ※後で作成したIAMユーザのアクセスキー、シークレットアクセスキーを使用します。

  3. Migration Hubにサインインして、ホームリージョンを設定します。
    ※Migration Hubで管理するデータを保管する場所を選択します。
     今回の手順では、東京リージョンを選択しています。

3.MigrationHubでの検出機能(インベントリ収集)について

Migration Hubにてデータを検出するには、以下4つの手段があります。

  1. Application Discorvery Agent
  2. Agentless Discovery Agent
  3. Migration Evaluator Collector
  4. CSVImport

どの手段が良いかを判断するには、以下比較表を参考にしてください。

Discovery Agent Agentless Collecoer Migration Evaluator Collector
収集Agentをサポートするサーバー
∟VMware仮想マシン
∟Hyper-V仮想マシン ×
∟物理サーバー ×
∟対応プラットフォーム リンク リンク リンク
Agentのデプロイ単位
∟単位 サーバー毎
1Agent
HV毎
1Collector
DC毎に
1Collector
Agentが収集できるデータ
∟静的設定データ
∟使用率メトリクス(CPU、RAM、DISKなど)
∟ネットワーク接続(TCPのみ) ×
∟実行中プロセス情報 × ×
収集ツール(Application Discovery Agent)を活用したデータ収集について

ここでは、Application Discovery Agentのインストール手順を紹介します。

インストール手順

最新の手順はAWSドキュメントを参照してください。

インストールの前提条件
  • Agentにより収集したデータをMigration Hubに送信するために、アウトバウンド通信を許可する必要があります。
    必要な通信要件は以下です。
    ※MigrationHubのホームリージョンを東京(ap-northeast-1)に設定している場合。

  • (Linuxの場合)
    Intel i686 CPU アーキテクチャ (P6 マイクロ アーキテクチャとも呼ばれます) をサポートしている必要があります。

インストール手順(Linux)
  1. エージェントコンポーネントを格納するディレクトリを任意に作成し、移動してください。(以下はホームディレクトリにdiscoveryという名前のディレクトリを作成した例です)
$ mkdir ~/discovery
$ cd ~/discovery
  1. 以下コマンドでインストーラーをダウンロードします。
$ curl -o ./aws-discovery-agent.tar.gz https://s3-us-west-2.amazonaws.com/aws-discovery-agent.us-west-2/linux/latest/aws-discovery-agent.tar.gz
  1. ダウンロードしたインストーラーを展開します。
$ tar -xzf aws-discovery-agent.tar.gz
  1. インストールを実施します。
    ※非透過プロキシを使用している場合、オプションが必要になります。
$ sudo bash install -r ap-northeast-1 -k {アクセスキー} -s {シークレットアクセスキー}
  1. インストールが完了したら、Migration Hubのデータコネクターにエージェントをインストールしたホストが存在しているか確認してください。

インストール手順(WindowsServer)
  1. エージェントインストーラー(AWSDiscoveryAgentInstaller.exe)をダウンロードします。

  2. コマンドプロンプトを開き、インストールパッケージを保存したディレクトリに移動します。

  3. 以下のコマンドでインストールを実行します。※非透過プロキシを使用している場合、オプションが必要になります。

> .\AWSDiscoveryAgentInstaller.exe REGION="ap-northeast-1" KEY_ID="{アクセスキー}" KEY_SECRET="{シークレットアクセスキー}" /quiet

インストールが完了したら、Migration Hubのデータコネクターにエージェントをインストールしたホストが存在しているか確認してください。

そのほかの収集ツールを活用したデータ収集

そのほかツールを活用したデータ収集方法は、以下にリンクに説明があります。

(補足)収集ツールを使用せず、手動でインベントリ情報を登録する方法

収集ツールがプラットフォームに非対応である場合など、エージェントが稼働しない場合においては、手動でMigrationHubにデータを追加することができます。
その場合、ダッシュボードでの移行管理やEC2インスタンスのレコメンデーション機能は使用可能ですが、データは登録断面のままになるという性質があるため、作業負荷は高くなります。

インポートテンプレートを使用して、データインポート
  • MigrationHubの左側メニューからデータコレクタ→インポートタブで”インポート”を選択します。

  • インポートテンプレートをダウンロードし、Migration Hubに移行対象サーバーの情報を埋めます。
    ※この場合、手動での確認が必要となります。

  • S3バケットに作成したインポートテンプレートをアップロードします。
    S3バケットの作成方法は、AWSユーザガイドを参照ください。

  • 作成したオブジェクトのオブジェクトURLを指定して、インポートします。
    インポート名はMigrationHubで管理される名前になります。

ここまでで、検出は以上になります。
以降は、検出したデータをどのようにして活用するかを説明いたします。

4.検出したデータをダッシュボードで可視化する

検出したインベントリ情報は、MigrationHub上で以下のようにダッシュボードとして可視化することができます。

移行対象の整理

Migration Hubでは、収集したデータをアプリケーションごとにグルーピングしたり、サーバーの詳細情報やネットワーク依存関係を視覚的に確認したりすることができます。
また、CSVファイルで詳細情報をエクスポートすることも可能です。エクスポートできる情報には、ネットワークインターフェース、OS情報、プロセス情報、ネットワーク接続情報、システムパフォーマンス情報などが含まれます。

アプリケーション一覧

サーバー一覧(アプリケーション名を指定したフィルタが可能)

収集情報の表示

Migration Hubでは、収集したサーバー情報を詳細に表示できます。サーバーの詳細情報(CPU、メモリ、ディスク使用量など)や、サーバー間のネットワーク依存関係を視覚的に確認することが可能です。

技術情報としてMigration Hub画面で確認できる情報

パフォーマンス情報としてMigration Hub画面で確認できる情報

さらに、csvファイルで、以下詳細情報のエクスポートが可能です。

ファイル名: {AccountID}_networkInterface.csv
項目 説明
name ネットワークインターフェースの名前
macAddress ネットワークインターフェースのMACアドレス
family ネットワークファミリー(例:IPv4、IPv6)
ipAddress ネットワークインターフェースに割り当てられたIPアドレス
gateway デフォルトゲートウェイのIPアドレス
netMask ネットワークマスク
ファイル名: {AccountID}_osInfo.csv
項目 説明
osName オペレーティングシステムの名前
osVersion オペレーティングシステムのバージョン
cpuType CPUの種類
hostName ホスト名
hypervisor 使用されているハイパーバイザー(仮想化ソフトウェア)の名前
ファイル名: {AccountID}_process.csv
項目 説明
agentAssignedProcessId エージェントが割り当てたプロセスID
isSystem システムプロセスかどうかを示すフラグ
name プロセスの名前
cmdLine プロセスを起動したコマンドライン
path プロセスの実行ファイルのパス
agentProvidedTimeStamp エージェントが情報を収集した時刻
ファイル名:{AccountID}_sourceProcessConnection.csv
項目 説明
sourceIp 接続元のIPアドレス
sourcePort 接続元のポート番号
destinationIp 接続先のIPアドレス
destinationPort 接続先のポート番号
ipVersion 使用されているIPのバージョン(IPv4またはIPv6)
transportProtocol 使用されているトランスポートプロトコル(例:TCP、UDP)
agentAssignedProcessId この接続を確立したプロセスのID
ファイル名: {AccountID}_systemPerformance.csv
項目 説明
totalDiskBytesReadPerSecond (Kbps) 1秒あたりの総ディスク読み取りバイト数(キロビット/秒)
totalDiskBytesWrittenPerSecond (Kbps) 1秒あたりの総ディスク書き込みバイト数(キロビット/秒)
totalDiskReadOpsPerSecond 1秒あたりの総ディスク読み取り操作数
totalDiskWriteOpsPerSecond 1秒あたりの総ディスク書き込み操作数
totalNetworkBytesReadPerSecond (Kbps) 1秒あたりの総ネットワーク読み取りバイト数(キロビット/秒)
totalNetworkBytesWrittenPerSecond (Kbps) 1秒あたりの総ネットワーク書き込みバイト数(キロビット/秒)
totalNumLogicalProcessors 論理プロセッサの総数
totalNumCores CPUコアの総数
totalNumCpus 物理CPUの総数
totalNumDisks ディスクの総数
totalNumNetworkCards ネットワークカードの総数
totalCpuUsagePct 総CPU使用率(パーセンテージ)
totalDiskSize (GB) 総ディスクサイズ(ギガバイト)
totalDiskFreeSize (GB) 空きディスク容量(ギガバイト)
totalRAM (MB) 総RAM容量(メガバイト)
freeRAM (MB) 空きRAM容量(メガバイト)

サーバーネットワーク図の表示

サーバー間の依存関係を視覚化したネットワーク図を表示することで、移行計画の立案時に重要な情報を提供します。この機能では、通信の方向(FromかToか)と通信ポートも図示されるため、サーバー移行における影響分析も同時に行うことができます。

サーバーネットワーク(Testというアプリケーションに属するサーバーでフィルタ)

ダッシュボード

収集した情報をもとに、Migration Hub上のダッシュボードで移行状況の管理を行うことができます。これにより、クラウド移行の進捗状況を一目で把握できます。

ダッシュボード機能画面

5.検出したデータをもとにツールで評価する。

収集したデータをもとに、以下のような評価を行う機能を使用することができます。

EC2インスタンスのレコメンデーション

使用状況から、推奨されるEC2インスタンスタイプを自動で推奨してくれます。
膨大な数のOSをAWSEC2にリフトする際など、1台1台評価する必要なく、インスタンスタイプの検討を効率化することができます。

Migration Evaluatorによるレポート作成

このレポート作成機能は、Migration Evaluator Collectorにてインベントリ収集をした場合に利用可能な機能です。

評価レポートのサンブルはMigration Evaluator の使用を開始するの以下からダウンロード可能です。

サンブルビジネスケースをダウンロードから確認できます。

結果レポートの概要は、以下の通りです。
※サンプルとして提供されているものであることから、実際に提供される内容とは異なるかもしれません。

項目 内容
分析とインサイト (Analysis & Insights) ・オンプレミス環境の概要(サーバー数、ストレージ容量など)
・主要な発見事項(ゾンビマシンの割合、サーバーの使用率など)
・予想されるコスト削減
財務サマリー (Financial Summary) ・様々な移行オプションの年間コスト比較
・オンプレミスと比較したAWSでの予想コスト削減
・ライセンスモデルの違いによる影響
ビジネス価値 (Business Value) ・スタッフの生産性向上
・運用の回復力
・ビジネスの俊敏性
・持続可能性(炭素排出量の削減)
デプロイメントサマリー (Deployment Summary) ・EC2インスタンスタイプの推奨
・共有テナンシーと専用ホストの比較
・Windows ServerとSQL Serverのライセンシングオプション
ストレージ評価 (Storage Assessment) ・ファイル/NASストレージの概要
・Amazon FSx for NetApp ONTAPへのマッピング
・ブロックストレージボリュームの評価
・Amazon EBSへのマッピングと見積もりコスト
補完的なAWSサービス (Supplementary AWS Services) ・AWS Elastic Disaster Recovery(DRS)の概要と見積もりコスト
次のステップ (Next Steps) ・サーバー依存関係マッピング
・移行加速プログラム(MAP)の活用
・ストレージ評価の詳細実施
・ライセンシングヘルスチェック
・その他の推奨事項(トレーニング、移行準備評価など)
付録 (Appendix) ・持続可能性:炭素排出量の推定方法
・オンプレミスの年間コスト見積もり
・AWS上でのWindows & SQL Serverライセンシングルール
・クラウドビジネス価値の内訳
・用語集

まとめ

当記事で紹介した、Migration Hubの検出(インベントリ収集機能)を活用することで、AWS移行対象のオンプレミス機器の情報や全体の移行状況をリアルタイムに可視化・トレースすることができます。
移行を行う上で、整理された情報を確認したい方には、活用できる機能だと思いますので、ぜひ活用してみてください。

参考リンク

・AWS Migration Hub ユーザーガイド

docs.aws.amazon.com

docs.aws.amazon.com

aws.amazon.com

aws.amazon.com

森井 賢弘(執筆記事の一覧)

エンタープライズクラウド部

エンジニアだけじゃなく、誰もが一緒にAWSアップデートで盛り上がる世界を作れるように頑張ります!