AWS Application Discovery Service
1. サービス概要¶
AWS Application Discovery Service は、オンプレミス環境 (サーバや仮想マシン) で稼働するアプリケーションや依存関係、リソース使用状況を分析し、AWS への移行計画に必要なデータを提供するサービスである。
既存のインフラ構成や稼働アプリケーションを可視化することで、クラウド移行のリスクを低減し、最適化された移行プランを策定しやすい。
主なユースケースは次の通り。
- オンプレミスから AWS への移行 (リフト&シフトやリファクタリング) を検討する際の現状調査
- 障害・性能ボトルネックを可視化するアプリケーション依存関係の解析
などが挙げられる。
2. 主な特徴と機能¶
2.1 エージェントおよびエージェントレスのデータ収集¶
Application Discovery Service は、エージェント型とエージェントレス型の両方の手法を提供する。
- エージェント型: OS 上にエージェントをインストールし、プロセスやネットワークポートなどの詳細な情報を取得
- エージェントレス型: VMware 仮想環境に対してハイパーバイザレベルで情報収集し、OS に変更を加えずに基本情報を得る
2.2 アプリケーション依存関係の解析¶
収集したメタデータ (プロセス、ネットワーク通信、CPU/メモリ使用状況など) をもとに、どのサーバがどのサーバへ通信しているかを自動的に可視化する。
これにより、移行対象アプリケーションの内部依存関係を明確化でき、段階的な移行計画を立てやすい。
2.3 データエクスポートと Migration Hub 連携¶
分析結果は Amazon Athena や Amazon QuickSight などで可視化可能な形式でエクスポートでき、AWS Migration Hub と連携することで移行プロジェクト全体を統合管理できる。
移行対象サーバ/アプリケーションを Migration Hub でトラッキングし、ステータスを一元管理できる。
2.4 トラフィックパターンとリソース使用状況の可視化¶
各サーバの CPU・メモリ使用率やストレージ IO、ネットワーク通信量を時間軸で把握できるため、ピーク負荷やボトルネックを洗い出して適切な AWS インスタンスタイプを選定できる。
2.5 シンプルなエージェント展開¶
Agent-based で詳細なデータが必要な場合は、各サーバ (Windows/Linux) に軽量なエージェントを導入する。
導入や設定変更はスクリプトや Chef、Ansible などの構成管理ツールと組み合わせることで、多数サーバへの展開を容易化できる。
3. アーキテクチャおよび技術要素¶
- エージェント型あるいはエージェントレス型 Discovery を設定し、オンプレミスまたは仮想環境の情報を収集
- 収集データ(ネットワーク通信、プロセス、CPU 使用状況など)が暗号化され、AWS に送信
- AWS 上でデータが分析・可視化され、アプリケーション依存関係やリソース使用状況をレポート
- データを Migration Hub や Athena などにエクスポートし、移行計画や詳細分析に活用
- 移行実施後も状況をモニタリングし、段階的にオンプレから AWS へのワークロード移行を最適化
このように、Discovery Service で現状を可視化し、Migration Hub で移行を管理する流れが典型的なアーキテクチャとなる。
4. セキュリティと認証・認可¶
AWS Application Discovery Service におけるセキュリティ面は以下の通り。
- データ暗号化: エージェント/エージェントレスが収集する情報は TLS で AWS へ送信
- IAM ロール: Discovery Service が必要とする API 呼び出し用の権限を最小限に抑える
- オンプレ接続: セキュアな VPN または Direct Connect 上で Discovery データを送信可能
- 監査ログ: CloudTrail でエージェントのインストールや API 操作履歴を追跡可能
5. 料金形態¶
通常、AWS Application Discovery Service 自体に追加コストはなく、エージェントのデータ送信やデータ保存に対して標準の AWS 利用料 (S3 や Athena など) が発生する。
具体的には以下に留意する。
- エージェント: 無料で利用可能だが、稼働する EC2 やオンプレサーバリソースのコスト
- データ保存と分析: S3 へのログ保管や Athena クエリなどの従量課金が適用
- AWS Migration Hub: 無料で使用できるが、関連サービス(SMS, DMS など)利用時のコスト
6. よくあるアーキテクチャ・設計パターン¶
AWS Application Discovery Service を活用する代表的なパターンは以下の通り。
- エージェント型で詳細分析: アプリケーション依存関係を正確に把握し、移行対象の優先度やプランを作成
- VMware 環境でエージェントレス: ハイパーバイザレベルからゲスト OS やネットワーク通信を可視化し、大規模移行を効率化
- AWS Migration Hub 連携: 収集結果を Migration Hub で一元管理し、Server Migration Service (SMS) や Database Migration Service (DMS)などと組み合わせ
- Cost Explorer/EC2 Right Sizing との併用: リソース使用状況をもとに最適な EC2 インスタンスタイプを選定し、コスト削減を狙う
7. 設定・デプロイ手順(ハンズオン例)¶
- AWS コンソールで「AWS Application Discovery Service」を検索し、Discovery のセットアップを開始
- 「エージェント型」または「エージェントレス型」を選択し、手順に従ってオンプレ環境へエージェント導入、または VMware 環境へ OVA をデプロイ
- データ収集を開始し、数時間〜数日でアプリケーション依存関係やリソース使用状況が集積
- コンソールまたは Migration Hub で収集データを確認し、サーバリストや通信経路を可視化
- 結果を CSV/JSON などでエクスポートし、Athena や QuickSight で詳細分析
- 分析結果をもとに、AWS 移行戦略 (リホスト、リファクター、再構築など) を検討
8. 試験で問われやすいポイント¶
8.1 エージェント型 vs. エージェントレス型¶
- エージェント型: OS 上のプロセスや詳細メトリクスを収集、ネットワークトラフィックも詳細把握
- エージェントレス: VMware ハイパーバイザ経由、OS に触れずに基本情報を取得
- 選択基準: 詳細度合いと運用負担のトレードオフ。VMware 環境ではエージェントレスが容易
8.2 データ活用と Migration Hub¶
- Migration Hub 連携: サーバやアプリの移行ステータスを統合管理
- 分析ツール: Athena/QuickSight で依存関係の可視化や使用リソースレポートを作成
8.3 セキュリティ¶
- TLS 暗号化: データ転送の暗号化
- IAM ロール: Discovery Service が利用する API を最小権限で許可
8.4 コストモデル¶
- Discovery 自体は無料: ただしデータ保存先 (S3 等) や分析 (Athena など) は従量課金
- 大規模環境: S3 ストレージ費や Athena クエリコストを見積もる
8.5 試験で頻出となる具体的な問われ方と答え¶
- Q: 既存のオンプレ環境のアプリ依存関係を把握したい。どのサービスを使う?
- A: AWS Application Discovery Service。エージェント型かエージェントレス型を導入し、依存関係や使用リソースを収集する。
- Q: エージェントレス型が対応する環境は?
- A: VMware 仮想環境でのハイパーバイザレベルのデータ収集。
- Q: データ解析後に移行ステータスを一元管理したい場合は?
- A: AWS Migration Hub と連携して、移行計画とステータスを集中管理。
- Q: コスト要素は?
- A: Discovery Service 自体に追加コストはなく、S3 や Athena など周辺サービス利用時の従量課金が発生。
- Q: アプリケーション移行に際し、リファクタリング必要かを判断するには?
- A: Application Discovery のメトリクスや依存関係を見て、アプリ要件に合う AWS サービスやインスタンスタイプを選択。