- Published on
Headstart デモ環境を構築する - Part 3 Azure の環境を準備する(その1)
- Authors
- Name
- Shinichi Haramizu
- @haramizu
コードの準備ができたので、まずは手元でミドルウェアを起動するところまで進めていきます。そのためには、Microsoft Azure の環境にいくつかリソースを準備していく形となるため、この部分の手順も併せて紹介をしていきます。
設定ファイルのテンプレート
Headstart のミドルウェアが動作するために必要となるパラメーターのテンプレートに関しては、このプロジェクトの中に以下のパスで準備しています。
- assets\templates\AppSettingConfigTemplate.json
最近上記のフォルダに変わりましたが、以前は以下にファイルがありました。古いデータを利用している場合は以下のフォルダです。
- src/Middleware/src/Headstart.Common/AppSettingConfigTemplate.json
このファイルで設定されているパラメーターで必要なリソースを埋めていくようにしていきます。
リソースグループの作成
今回は Microsoft Azure に展開をする形で紹介をしていきます。デモ環境で必要となるリソースは Web アプリインスタンス、CosmosDB、Application Insights、App Configuration およびストレージが必要となります。今回はミドルウェアの動作に必要なリソースのみを準備していきます。
まず受け皿となるリソースグループを1つ作成します。
Application Insights の設定
パラメーターの一つ目は Application Insights のデータを入れる必要があります。リソースグループを指定して、今回は以下のように作成をします。
作成された Application Insights の ConnectionString は Overview のページに表示されています。
この値を、以下のように ApplicationInsightsSettings:ConnectionString
反映します。
注意 : 以前は ApplicationInsightsSettings:InstrumentationKey
の設定でしたが、現在は ApplicationInsightsSettings:ConnectionString
に変更されています。
ストレージの設定
続いてストレージを作成します。ストレージの名前を指定して作成をしてください。
作成が完了したあと、2つのパラメーターを取得します。セキュリティとネットワークにあるアクセスキーから接続文字列を取得してください。
もう1つのエンドポイントに関しては、設定 - エンドポイントを選択してプライマリ エンドポイントの値を取得します。
2つの値を AppSetting のファイルに反映させます。
CosmosDB の設定
続いてトランザクションのデータを保存する CosmosDB を作成します。API オプションに関してはコア(SQL)を選択してください。
サブスクリプション、リソースグループを指定して、アカウント名、データセンターの選択をしてください。今回は以下の設定で作成をします。
2022-07-01 追記: 現在のサンプルは 1200 RU/s の設定が必要となるためフリープランでは設定できません。
作成されたデータベースからは2つの値を取得します。まず設定 - キーを選択すると、このデータベースにアクセスするための情報が表示されます。
URI の値がエンドポイントの値として、あとはプライマリキーが表示されています。これ以外にヒア DatabaseName に関しては今回は分かりやすくするために同じ値を設定します。
App Configuration の設定
作成をしたファイルをインポートする先として、App Configuration をリソースグループに追加します。
これで手元で準備をしている設定ファイルのインポートの準備が完了しました。
設定ファイルのインポート
まだ空欄のパラメーターが多くありますが、取り急ぎ現在の設定をインポートします。
設定ファイルを Visual Studio Code で開くと、元々のファイルのエンコーディングが UTF-8 with BOM LF になっているのがウィンドウの右下で確認することができます。
これを UTF8 に変更をしてください。変更をする際には、エンコーディングの部分をクリックすると UTF-8 を選択できるようになります。変更後は以下のようになっており、この状況で保存できているのを確認してください。
UTF-8 になっている状態で、Azure の App Configuration の設定画面を開き、Operations - Import / Export をクリックします。Import の手順として、
- Source service - Configuration file
- For language - Other
- File type - Json
まで指定すると、ファイルのアップロード画面に切り替わります。すでに値を入力済みのファイルを指定すると、以下のように画面が切り替わります。
Separator を :
に変更をした後、Apply をクリックします。インポートが完了すると、Operations - Configuration explorer を開くと値がアップロードされていることが分かります。
Web アプリ - ミドルウェアを追加
展開をするのは先の方ですが、取り急ぎミドルウェアの URL を決めておくために Web アプリを追加します。ランタイムスタックとしては .NET Core 6(LTS)
を選択、プランは安いものでデモですので問題ないでしょう。ということで、今回は以下のように作成をしておきます。
補足 2022 年 12 月 20 日 .NET Core 6 に対応したため画面ショットを変更しました
作成が完了した後、左側のメニューからデプロイスロットの項目を選択して、test のスロットを追加します。追加が完了すると、以下のような形となります。
まとめ
まだ設定としては不足しているところがありますが、ミドルウェアを立ち上げるために必要な機能の準備ができました。次回はミドルウェアの起動まで紹介をしていきます。