目的
- AWS Application Discovery Serviceについて仕事上の相談があり、勉強(知ったかぶり)のため、基本動作を確認することにした。
AWS Application Discovery Service とは(自分の理解)
- オンプレ等、AWSとは別環境で稼働しているサーバ(物理/仮想問わない)のスペック、負荷状況等を収集できるサービス。
- 収集したデータを元にAWSに移行する場合の必要スペック(インスタンスタイプ等)を設計し、移行計画を立案する。
- AWS Application Discovery Service で環境調査をして、AWS Server Migration Service (AWSへの移行を行うサービス)等で実際にMigrationを行う。それらの進捗を管理画面(AWS Migration Hub:マネージメントコンソール内で、移行関連サービスを一覧できる画面)で一元管理する、という仕組み。
AWS Application Discovery Service の種類
- エージェント有タイプとエージェントレスタイプの2種類がある。VMWare環境(=vCenterにアクセス可能な環境)であれば、Connectorを入れて、エージェントレスでvCenter配下のインスタンスのデータ収集が可能。ただし収集できるデータはエージェント有タイプのほうが多い。
- 収集できるデータについては公式ユーザガイドを参照。
やったこと
以下を実施した(今回はエージェント有タイプのみ検証)。
- オンプレ環境のインスタンス(WS2016)にAWS Application Discovery Serviceのエージェントをインストール。
- 管理画面(AWS Migration Hub)やAthenaにて、データ収集状況の確認、収集データの内容確認を行う。
構成図
- AWS Migration Hub, AWS Application Discovery Serviceが使えるのは2019/7/23現在、Oregonリージョンのみ。
導入手順
- エージェント用IAMユーザ作成
- 専用のIAMユーザを作成し、エージェントがデータをアップロードするための権限「AWSApplicationDiscoveryAgentAccess」を付与し、AccessKey/SecretKeyを発行する。このKeyをエージェントのインストール時に使用する。
- オンプレ上のサーバ(WS2016)へのエージェントのインストール
- 管理画面からWindows用のエージェントのインストールファイルを入手する。
- オンプレのサーバ内のコマンドラインでエージェントをインストールする。
msiexec.exe /i AWSDiscoveryAgentInstaller.msi REGION="us-west-2" KEY_ID="<aws key id>" KEY_SECRET="<aws key secret>" /q
- 筆者の環境では、インストール時に「Visual C++ 2015 Redistributable for x86」が必要とのエラーが出たため、これを事前にインストール。
- 最初、マニュアルを見ずにインストーラをダブルクリックしてインストールしてしまった。それだとkeyの情報が入らないため、一度アンインストールしてやり直し。
- 動作確認
- インストールが成功すると、エージェントからAWSのApplication Discovery Service のエンドポイントに対して定期的にデータ送信が行われるようになる。
- ステータスは以下の管理画面(Migration Hub - Discover - Data Collectors - Agents)で閲覧可能。エージェントの状態が表示される。
収集データ確認手順
- (1)Migration Hub 画面での確認
- 管理画面(Discover - Servers) から、収集したサーバ情報の概要(OS、CPU数、MEM、NIC数、IPアドレス等)の表示が可能。
- (2)csv Exportでの確認
- (3)Athena での確認
所感
- 「Application Discovery Service」 というサービス名だが、動作プロセス等は取得できるものの、インストールされているアプリケーション(Officeとか)が取れるわけではないので、インベントリ的な使い方ではなさそう。
- オンプレのvCenterにアクセスできる権限が得られるのであれば、サーバ情報が一気にまとめて取得できるので、移行対象サーバリストを作るのに便利かなと感じた。
- 移行関連のサービスがいろいろ出ているため、他のものも検証してみたい。