次の方法で共有


リモート監視ソリューション アクセラレータをローカルにデプロイする - Visual Studio Code

この記事では、テストと開発のためにリモート監視ソリューション アクセラレータをローカル コンピューターにデプロイする方法について説明します。 Visual Studio Code でマイクロサービスを実行する方法について説明します。 ローカル マイクロサービスのデプロイでは、IoT Hub、Cosmos DB、Azure Streaming Analytics、Azure Time Series Insights のクラウド サービスが使用されます。

[前提条件]

リモート監視ソリューション アクセラレータで使用される Azure サービスをデプロイするには、アクティブな Azure サブスクリプションが必要です。

アカウントをお持ちでない場合は、数分で無料試用版アカウントを作成できます。 詳細については、「Azure の無料試用版サイト」を参照してください。

マシンのセットアップ

ローカルデプロイを完了するには、ローカル開発マシンに次のツールがインストールされている必要があります。

Visual Studio Code は、Windows、Mac、Ubuntu で使用できます。

ソース コードをダウンロードする

リモート監視のソース コード リポジトリには、マイクロサービスの Docker イメージを実行するために必要なソース コードと Docker 構成ファイルが含まれます。

リポジトリのローカル バージョンを複製して作成するには、コマンド ライン環境を使用して、ローカル コンピューター上の適切なフォルダーに移動します。 次に、次のいずれかのコマンド セットを実行して、.NET リポジトリを複製します。

最新バージョンの .NET マイクロサービス実装をダウンロードするには、次を実行します。

git clone --recurse-submodules https://github.com/Azure/azure-iot-pcs-remote-monitoring-dotnet.git

# To retrieve the latest submodules, run the following command:

cd azure-iot-pcs-remote-monitoring-dotnet
git submodule foreach git pull origin master

これらのコマンドは、マイクロサービスをローカルで実行するために使用するスクリプトに加えて、すべてのマイクロサービスのソース コードをダウンロードします。 Docker でマイクロサービスを実行するためにソース コードは必要ありませんが、後でソリューション アクセラレータを変更して変更をローカルでテストする場合は、ソース コードが役立ちます。

Azure サービスをデプロイする

この記事ではマイクロサービスをローカルで実行する方法を示しますが、マイクロサービスはクラウドで実行されている Azure サービスに依存します。 次のスクリプトを使用して、Azure サービスをデプロイします。 次のスクリプト例では、Windows マシンで .NET リポジトリを使用していることを前提としています。 別の環境で作業している場合は、パス、ファイル拡張子、およびパス区切り記号を適切に調整します。

新しい Azure リソースを作成する

必要な Azure リソースをまだ作成していない場合は、次の手順に従います。

  1. コマンド ライン環境で、リポジトリの複製されたコピー内の \services\scripts\local\launch フォルダーに移動します。

  2. 次のコマンドを実行して、pcs CLI ツールをインストールし、Azure アカウントにサインインします。

    npm install -g iot-solutions
    pcs login
    
  3. start.cmd スクリプトを実行します。 このスクリプトでは、次の情報の入力を求められます。

    • ソリューション名。

    • 使用する Azure サブスクリプション。

    • 使用する Azure データセンターの場所。

      このスクリプトは、ソリューション名を使用して Azure にリソース グループを作成します。 このリソース グループには、ソリューション アクセラレータが使用する Azure リソースが含まれています。 このリソース グループは、対応するリソースが不要になったら削除できます。

      また、このスクリプトは、PCS プレフィックスを持つ一連の環境変数をローカル コンピューターに追加します。 これらの環境変数は、Azure Key Vault リソースから読み取ることができるリモート監視の詳細を提供します。 この Key Vault リソースは、リモート監視が構成値を読み取る場所です。

      ヒント

      スクリプトが正常に実行された後、環境変数は、<ホームフォルダー>\.pcs\<ソリューション名>.envというファイルに保存されます。 将来のソリューション アクセラレータのデプロイに使用できます。 docker-compose を実行すると、ローカル コンピューターに設定されたすべての環境変数によって、services\scripts\local\.env ファイル値がオーバーライドされることに注意してください。

  4. コマンド ライン環境から終了します。

既存の Azure リソースを使用する

必要な Azure リソースを既に作成している場合は、対応する環境変数をローカル コンピューターに作成します。 次の環境変数を設定します。

  • PCS_KEYVAULT_NAME - Azure Key Vault リソースの名前
  • PCS_AAD_APPID - AAD アプリケーション ID
  • PCS_AAD_APPSECRET - AAD アプリケーション シークレット

構成値は、この Azure Key Vault リソースから読み取られます。 これらの環境変数は、展開により <あなたのホームフォルダー>\.pcs\<ソリューション名>.env ファイルに保存される可能性があります。 docker-compose を実行すると、ローカル コンピューターで設定された環境変数によって、services\scripts\local\.env ファイル値がオーバーライドされることに注意してください。

マイクロサービスに必要な構成の一部は、初期デプロイ時に作成 Key Vault のインスタンスに格納されます。 keyvault 内の対応する変数は、必要に応じて変更する必要があります。

マイクロサービスを実行する

このセクションでは、リモート監視マイクロサービスを実行します。 Web UI をネイティブに実行し、Docker でデバイス シミュレーション サービスを実行し、Visual Studio Code でマイクロサービスを実行します。

コードのビルド

コマンド プロンプトで azure-iot-pcs-remote-monitoring-dotnet\services に移動し、次のコマンドを実行してコードをビルドします。

dotnet restore
dotnet build -c Release

他のすべてのマイクロサービスをローカル コンピューターにデプロイする

次の手順では、Visual Studio Code でリモート監視マイクロサービスを実行する方法を示します。

  1. Visual Studio Code を起動します。
  2. VS Code で、 azure-iot-pcs-remote-monitoring-dotnet フォルダーを 開きます。
  3. azure-iot-pcs-remote-monitoring-dotnet フォルダーに .vscode という名前の新しいフォルダーを作成します。
  4. services\scripts\local\launch\idesettings\vscode から launch.json ファイルと tasks.json ファイルを、新しく作成した .vscode フォルダーにコピーします。
  5. VS Code で [デバッグ] パネル を開き、[ すべてのマイクロサービスの実行 ] 構成を実行します。 この構成では、Docker でデバイス シミュレーション マイクロサービスを実行し、デバッガーで他のマイクロサービスを実行します。

デバッグ コンソールで Run All microsoervices を実行した場合の出力は、次のようになります。

Deploy-Local-Microservices

Web UI を実行する

この手順では、Web UI を開始します。 ローカル コピー で azure-iot-pcs-remote-monitoring-dotnet\webui フォルダーに移動し、次のコマンドを実行します。

npm install
npm start

開始が完了すると、ブラウザーに http://localhost:3000/dashboardページが表示されます。 このページのエラーが予想されます。 エラーなしでアプリケーションを表示するには、次の手順を実行します。

NGINX の構成と実行

ローカル コンピューターで実行されている Web アプリケーションとマイクロサービスをリンクするようにリバース プロキシ サーバーを設定します。

  • webui\scripts\localhost フォルダーから nginx\conf インストール ディレクトリに nginx.conf ファイルをコピーします。
  • nginx を実行します。

nginx の実行に関する詳細情報は、「Windows での nginx」を参照してください。

ダッシュボードに接続する

リモート監視ソリューション ダッシュボードにアクセスするには、ブラウザーで http://localhost:9000 に移動します。

クリーンアップ

不要な料金を回避するために、テストが完了したら、Azure サブスクリプションからクラウド サービスを削除します。 サービスを削除するには、Azure portal に移動し、start.cmd スクリプトによって作成されたリソース グループを削除します。

GitHub からソース コードを複製したときに作成されたリモート監視リポジトリのローカル コピーを削除することもできます。

次のステップ

リモート監視ソリューションをデプロイしたので、次の手順では、ソリューション ダッシュボード の機能を探索します。