ソリューションアーキテクトに求められる視点(5/14) 経験を活かしたソリューション(Discovery Service + Migration Hub + Athena)

## はじめに
以前、情報システム部門で仕事をしていた事があります。その時、前任者から引継ぎを受けたのですが、前任者自身もどんな機器があり、どんなアプリが存在するのかわからない状況でした。そのため、引継ぎに、苦労した経験があります。そんな経験を踏まえて、次のようなケースを想定したソリューションを考えてみました。**(Discovery Service + Migration Hub + Athena)**

**オンプレミスで運用しているアプリケーションを AWS に移行したい。**
**運用担当は、突然前任者がやめてしまい、引継ぎをしっかり出来ていない。**
**どんな機器やアプリケーションが存在するのかわからない。**


## アーキテクトに求められる観点
オンプレミスで運用しているアプリケーションを AWS に移行することを計画しています。運用担当は、突然前任者がやめてしまい、引継ぎをしっかり出来ていない状況です。そのため、どんな機器やアプリケーションが存在するのかわからない状況です。カスタムIPベースのプロトコルを使用している事は把握出来ています。アプリケーションは、物理マシンと VM の混合で構成されています。運用担当は、すべての依存関係が何であるかを把握していません。AWS Application Discovery Agent をインストールし、数か月間データを収集しています。**移行する必要がある依存関係を識別するには、どのようにすればよいでしょうか?**


## ソリューション
AWS Migration Hub を使用して、アプリケーションをホストするサーバーを選択します。ネットワーク グラフを視覚化して、アプリケーションとやり取りするサーバーを見つけます。Amazon Athena でデータ探索をオンにします。サーバー間で転送されるデータをクエリして、カスタムIPベースのプロトコルで通信するサーバーを特定します。Migration Hub に戻り、Athena クエリの結果に基づいて移動グループを作成します。

:::note info
移動グループとは、一緒に移行およびテストされるサーバーまたはアプリケーションのセットです。移動グループは、ビジネス目標を達成するために移行ウェーブに編成されます。
:::

**上記詳細解説　AWS Migration Hubのネットワーク可視化を使用してアプリケーションとサーバーの依存関係の課題を克服する　(AWSブログ記事による具体的な活用説明)**

https://aws.amazon.com/blogs/mt/using-aws-migration-hub-network-visualization-to-overcome-application-and-server-dependency-challenges/ 

## ブログ記事の課題と結論を整理し、項目の説明を見やすい表にまとめました。
**課題** 
クラウド移行において、アプリケーションとサーバーの依存関係を特定することが難しい。IT資産が頻繁に更新されないスプレッドシートで管理されている場合や、古くなった構成管理データベース (CMDB) ソフトウェアが使用されている。 
**結論**
サーバーをアプリケーションとしてグループ化し、ネットワークの視覚化に基づいて移動グループを特定し、Amazon Athenaを使用して高度なクエリを実行する事が出来る。 

### 
| 項目 | 説明 |
|------|------|
| **AWS Migration Hubの利点** | 複数のAWSおよびパートナーソリューションにわたるアプリケーション移行の進行状況を1か所で**追跡できる。**<br>アプリケーションのポートフォリオ全体の移行ステータス**を可視化できる。** |
| **ネットワーク可視化の利点** | サーバー依存関係の高精度モデルを構築し、移行ウェーブと移動グループを**識別できる。**<br>Migration Hub ネットワークの視覚化は、サーバーまたは移動グループの影響範囲を特定するのに役立ち、アプリケーション回帰テストと必要なテスト カバレッジを**計画できる。** |
| **データ収集とアプリケーション依存関係マッピングのアーキテクチャ** | AWS Discovery Agentを使用してデータ収集を設定し、Migration Hubにデータを送信する。<br>2～4週間にわたってデータを収集し、分析を開始して移行計画を作成する。 |
| **移行ウェーブと移動グループの作成** | サーバーのビジネス機能を特定し、移行ウェーブを作成する。<br> サーバーをアプリケーションとしてグループ化し、移行の追跡を容易にする。 |
| **Amazon Athenaの使用** | Migration Hubで収集されたデータを分析するためにAmazon **Athenaを使用する事が出来る。**<br>高度なクエリを実行し、プロセスレベルのデータ、パフォーマンス、**依存関係を調べる事が出来る。** |


## 更に詳細を確認したい人向け
**Amazon Athena でのデータ探索**
Amazon Athena のデータ探索を使用すると、**Discovery Agent によって検出されたすべてのオンプレミス サーバーから収集されたデータを 1 か所で分析できます。** Migration Hub コンソールから (または StartContinousExport API を使用して) Amazon Athena のデータ探索を有効にし、エージェントのデータ収集をオンにすると、エージェントによって収集されたデータは定期的に S3 バケットに自動的に保存されます。

その後、Amazon Athena にアクセスして、定義済みのクエリを実行し、**各サーバーの時系列システム パフォーマンス、各サーバーで実行されているプロセスの種類、および異なるサーバー間のネットワーク依存関係を分析できます。** さらに、Amazon Athena を使用して独自のカスタム クエリを記述し、構成管理データベース (CMDB) エクスポートなどの既存のデータ ソースを追加アップロードし、検出されたサーバーを実際のビジネス アプリケーションに関連付けることができます。また、Athena データベースを Amazon QuickSight と統合して、クエリ出力を視覚化し、追加の分析を実行することもできます。

https://docs.aws.amazon.com/application-discovery/latest/userguide/explore-data.html

**Migration Hub でのネットワーク接続の表示**
AWS Migration Hub でネットワーク接続を表示すると、**サーバーの依存関係を視覚化**できます。これらの依存関係を視覚化することで、各アプリケーションを Amazon Web Services に正常に移行するために必要なすべてのリソースを検証できます。

ネットワーク接続は、ネットワーク図を使用して表示します。**ネットワーク図を使用すると、大量のデータを視覚的に確認して、どのようなサーバーの依存関係が存在するかを理解できます。** これらのサーバーの依存関係を理解することで、AWS への移行のためにアプリケーションをサポートするために必要なリソースをグループ化する方法を計画するのに役立ちます。

https://docs.aws.amazon.com/migrationhub/latest/ug/network-diagram.html 



#### ソリューションは、あくまで、一例です。他の解決方法もあるので、参考程度にしてください。

#### 読んでいただき、ありがとうございました。