コンテンツにスキップ

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. アーキテクチャおよび技術要素

  1. エージェント型あるいはエージェントレス型 Discovery を設定し、オンプレミスまたは仮想環境の情報を収集
  2. 収集データ(ネットワーク通信、プロセス、CPU 使用状況など)が暗号化され、AWS に送信
  3. AWS 上でデータが分析・可視化され、アプリケーション依存関係やリソース使用状況をレポート
  4. データを Migration Hub や Athena などにエクスポートし、移行計画や詳細分析に活用
  5. 移行実施後も状況をモニタリングし、段階的にオンプレから 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. 設定・デプロイ手順(ハンズオン例)

  1. AWS コンソールで「AWS Application Discovery Service」を検索し、Discovery のセットアップを開始
  2. 「エージェント型」または「エージェントレス型」を選択し、手順に従ってオンプレ環境へエージェント導入、または VMware 環境へ OVA をデプロイ
  3. データ収集を開始し、数時間〜数日でアプリケーション依存関係やリソース使用状況が集積
  4. コンソールまたは Migration Hub で収集データを確認し、サーバリストや通信経路を可視化
  5. 結果を CSV/JSON などでエクスポートし、Athena や QuickSight で詳細分析
  6. 分析結果をもとに、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 サービスやインスタンスタイプを選択。