チュートリアル: データセンターで実行されている Spring Boot アプリケーションを検出する (プレビュー)
この記事では、Azure Migrate: Discovery and Assessment ツールを使用して、データセンターにあるサーバーで実行されている Spring Boot アプリケーションを検出する方法について説明します。 この検出プロセスは完全にエージェントレスです。ターゲット サーバーにエージェントはインストールされません。
このチュートリアルでは、次の作業を行う方法について説明します。
- Spring Boot アプリケーションを検出するための、Kubernetes ベースのアプライアンスを設定する
- そのアプライアンスを構成し、継続的な検出を開始する
Note
- Spring Boot アプリケーションを検出するには、Kubernetes ベースのアプライアンスが必要です。 Windows ベースのアプライアンスが使用されるシナリオについては、こちらの詳細情報をご覧ください。
- チュートリアルではシナリオを試すためのごく簡単な方法を紹介します。 可能な場合は既定のオプションが使用されます。
Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
サポートされている地域
地理的な場所 |
---|
アジア太平洋 |
韓国 |
日本 |
米国 |
ヨーロッパ |
イギリス |
カナダ |
オーストラリア |
フランス |
前提条件
- このチュートリアルに従って Spring Boot アプリケーションを検出する前に、次のチュートリアルに従って、Azure Migrate アプライアンスを使用してサーバーの検出を実行していることを確認します。
- アプライアンス構成マネージャーでサーバー資格情報を指定して、ソフトウェア インベントリを実行していることを確認します。 詳細情報。
- パブリック エンドポイント接続で作成されたプロジェクトの移行のみがサポートされます。 プライベート エンドポイント プロジェクトはサポートされていません。
Kubernetes ベースのアプライアンスを設定する
Azure Migrate アプライアンスを使用してサーバーの検出とソフトウェア インベントリを実行したら、次のように Kubernetes アプライアンスを設定して、Spring Boot アプリケーションの検出を有効にすることができます。
Kubernetes ベースのアプライアンスをオンボードする
Azure portal に移動します。 Azure アカウントでサインインし、Azure Migrate を検索します。
[概要] ページ >[サーバー、データベース、Web アプリ] で、[検出、評価、移行] を選択します。
前提条件の一部として Azure Migrate アプライアンスを設定したプロジェクトを選びます。
[Azure Migrate: Discovery and assessment] タイルの上に、Kubernetes ベースのアプライアンスをオンボードして Spring Boot アプリケーションの検出を有効にするためのメッセージが表示されます。
操作を続けるには、メッセージのリンクを選択します。これにより、Kubernetes ベースのアプライアンスのオンボードを開始できます。
Note
サービスでディスク暗号化を使用する Kubernetes クラスターを選択することをお勧めします。 Kubernetes の保存データの暗号化に関する詳細について説明します。
[アプライアンスの選択] で、次のオプションから 1 つを選択できます。
- パッケージ化された Kubernetes クラスターを使用してアプライアンスをインストールする - このオプションは、ユーザーがインストーラー スクリプトを使用してオンプレミスの Linux サーバーに Kubernetes クラスターをダウンロードしてインストールしてアプライアンスを設定できる推奨される方法であるため、既定で選択されます。
- "Kubernetes クラスターの持ち込み" を選択します。オンプレミスで実行されている独自の Kubernetes クラスターを持ち込み、Azure Arc に接続し、インストーラー スクリプトを使用してアプライアンスを設定する必要があります。
[Azure Migrate のアプライアンスの詳細を指定する] で、アプライアンス名があらかじめ設定されていますが、アプライアンスに独自のフレンドリ名を付けることもできます。
ドロップダウンから Key Vault を選択するか、Key Vault の [新規作成] を選択します。 この Key Vault は、プロジェクトで指定されている資格情報を処理して Spring Boot アプリケーションの検出を開始するために使用されます。
Note
Key Vault は、Azure Migrate プロジェクトと同じサブスクリプションおよびリージョンで選択または作成できます。 KV を作成または選択する場合は、消去保護が有効になっていないことを確認します。それ以外の場合は、Key Vault を介した資格情報の処理に問題があります。
アプライアンス名と Key Vault を指定したら、[スクリプトの生成] を選択して、オンプレミスの Linux サーバーにコピーして貼り付けることができるインストーラー スクリプトを生成します。 スクリプトを実行する前に、Linux サーバーで次の前提条件が満たされていることを確認してください。
サポート 詳細 サポートされている Linux OS Ubuntu 20.04、RHEL 9 必要なハードウェア構成 8 GB の RAM、30 GB のストレージ、4 コアの CPU ネットワーク要件 次のエンドポイントへのアクセス:
*.docker.io
*.docker.com
api.snapcraft.io
https://dc.services.visualstudio.com/v2/track
Azure Arc 対応 Kubernetes ネットワークの要件
プロキシ バイパス用の Azure CLI エンドポイント
スクリプトをコピーしたら、Linux サーバーに移動し、スクリプトを Deploy.sh としてサーバーに保存できます。
送信プロキシ サーバーを使用して接続する
マシンが送信プロキシ サーバーの背後にある場合は、送信プロキシ サーバー経由で要求をルーティングする必要があります。 プロキシ設定を指定するには、次の手順に従います。
- サーバー上のターミナルを開き、ルート ユーザー
sudo su -
として次のコマンド セットアップ環境変数を実行します - デプロイ マシンでは、送信プロキシ サーバーを使用するように、
deploy.sh
に必要な環境変数を設定します。export HTTP_PROXY=”<proxy-server-ip-address>:<port>” export HTTPS_PROXY=”<proxy-server-ip-address>:<port>” export NO_PROXY=””
- プロキシで証明書を使用する場合は、証明書への絶対パスを指定します。
export PROXY_CERT=””
Note
マシンでは、deploy.sh
スクリプトを実行するために必要な前提条件をインストールするときに、プロキシの詳細を使用します。 Azure Arc 対応 Kubernetes クラスターのプロキシ設定はオーバーライドされません。
インストーラー スクリプトを実行する
Linux サーバーにスクリプトを保存したら、次の手順に従います。
Note
このスクリプトは、ネットワークの前提条件と OS の互換性を満たすターミナル上の Linux マシンに接続した後で実行する必要があります。
curl がサーバーにインストールされていることを確認します。 Ubuntu の場合は、sudo apt-get install curl
コマンドを使ってインストールでき、他の OS (RHEL) の場合は、yum install curl
コマンドを使用できます。
重要
セットアップをクリーンアップしない限り、スクリプトを編集しないでください。
サーバーでターミナルを開き、次のコマンドを実行して、スクリプトを root ユーザーとして実行します。
sudo su -
スクリプトを保存した場所にディレクトリを変更し、
bash deploy.sh
コマンドを使用してスクリプトを実行します。スクリプトの指示に従い、Azure ユーザー アカウントでのサインインを求められたらそれを行います。
そのスクリプトでは、次の手順が実行されます。
- 必要な CLI 拡張機能をインストールする。
- Azure リソース プロバイダーの登録
- 必要なエンドポイントへの接続などの前提条件の確認
- MicroK8s Kubernetes クラスターの設定
- 必要なオペレーターのクラスターへのインストール
- 必要な Migrate リソースの作成
スクリプトが正常に実行されたら、ポータルを使用してアプライアンスを構成します。
再インストール
Note
スクリプトの実行中に問題が発生した場合は、スクリプトを再実行する必要があり、最後に成功した状態から再開されます。 完全な新規インストールを実行する場合は、スクリプトを再実行する前にセットアップのクリーンアップの詳細を参照してください。
保存時の暗号化
パッケージ化されたアプライアンスを設定しているので、シークレットをセキュリティで保護する共同責任があります。
- サービスのディスク暗号化を使用する Linux VM を選択することをお勧めします。
Kubernetes ベースのアプライアンスを構成する
インストーラー スクリプトを使用してアプライアンスを正常に設定できたら、次の手順に従ってアプライアンスを構成する必要があります。
Kubernetes ベースのアプライアンスのオンボードを開始した、Azure Migrate プロジェクトに移動します。
[Azure Migrate: Discovery and Assessment] タイルで、アプライアンスの概要にある [保留中のアクション] のアプライアンス数を選択します。
[概要]>[管理]>[アプライアンス] に、フィルター処理されたアプライアンスの一覧が表示され、保留中のアクションが示されます。
設定した Kubernetes ベースのアプライアンスを見つけて、[資格情報を使用できません] 状態を選択し、アプライアンスを構成します。
[資格情報の管理] ページで、サーバーで実行されている Spring Boot アプリケーションの検出を開始するための資格情報を追加します。
[資格情報の追加] を選択し、Linux (非ドメイン) またはドメイン資格情報から資格情報の種類を選択し、フレンドリ名、ユーザー名、パスワードを指定します。 [保存] を選択します。
Note
- ポータルに追加された資格情報は、Kubernetes ベースのアプライアンスをオンボードするための最初の方の手順で選択した、Azure Key Vault を使用して処理されます。 それから、資格情報はアプライアンス上の Kubernetes クラスターに同期 (暗号化された形式で保存) され、Azure Key Vault から削除されます。
- 資格情報は、正常に同期された後、次の検出サイクルで特定のワークロードの検出に使われます。
資格情報を追加した後、ページを更新して資格情報の [同期状態] を確認する必要があります。 状態が "不完全" である場合は、その状態を選択し、発生したエラーを確認し、推奨されている操作を実行することができます。 資格情報が正常に同期されたら、[検出済みサーバー] ページで特定のワークロードでフィルター処理して検出されたインベントリを確認できるようになるまで、24 時間待ちます。
Note
資格情報の追加または更新は、[Azure Migrate: Discovery and Assessment]>[概要]>[管理]>[アプライアンス] ページに移動し、Kubernetes ベースのアプライアンスで使用可能なオプションから [資格情報の管理] を選択することでいつでも行うことができます。
設定のクリーンアップ
クリーンアップするには、削除モードで次のスクリプトを実行します。
ポータルによって生成されたスクリプトで、すべてのユーザー引数の後に (次の図の 19 行目以降) export DELETE= “true”
を追加して、同じスクリプトを再度実行します。 これにより、アプライアンスの作成時に作成されたすべての既存コンポーネントがクリーンアップされます。
検出結果の概要
[検出済みサーバー] 画面には、次の情報が表示されます。
- サーバー ベースの環境で実行中のすべての Spring Boot ワークロードが表示されます。
- 各サーバーの基本情報が表形式で一覧表示されます。
Web アプリを選択すると、その詳細が表示されます。 [Web アプリ] 画面には、次の情報が表示されます。
- 各サーバー上の各 Spring Boot プロセスの包括的なビューが表示されます。
- 次のような各プロセスの詳細情報が表示されます。
- JDK バージョンと Spring Boot バージョン。
- 構成されている環境変数名と JVM オプション。
- 使用中のアプリケーション構成ファイルと証明書ファイル。
- サーバー上のプロセスの JAR ファイルの場所。
- 静的コンテンツの場所とバインドのポート。
次のステップ
- 移行のために Spring Boot アプリを評価します。
- 検出中にアプライアンスによって収集されるデータを確認します。