演習 - Azure portal での関数アプリの作成
これで温度サービスの実装を開始する準備ができました。 前のユニットでは、サーバーのないソリューションが自分のニーズに最適であることがわかりました。 Azure 関数を保持するために、関数アプリを作成することから始めましょう。
関数アプリとは
関数は、関数アプリと呼ばれる実行コンテキストでホストされます。 Azure では、関数とコンピューティング リソースを論理的にグループ化し、構造化するために、関数アプリを定義します。 エスカレーターの例では、エスカレーター駆動歯車の温度サービスをホストする関数アプリを作成します。 関数アプリを作成するために、いくつかの決定を行う必要があります。サービス プランを選択し、互換性のあるストレージ アカウントを選択する必要があります。
サービス プランの選択
関数アプリには、次のホスティング プランのいずれかを使用できます。
- 従量課金プラン
- Premium プラン
- Dedicated (App Service) プラン
Azure サーバーレス アプリケーション プラットフォームを使用する場合は、従量課金プランを選択します。 このプランでは、自動スケーリングが提供され、関数が実行されている場合のみ課金されます。 従量課金プランでは、関数の実行に対してタイムアウト期間を構成できます。 既定は 5 分ですが、最長 10 分までのタイムアウトを構成できます。
Premium プランでは、需要に合わせてリソースを動的にスケーリングすることもできますが、VM インスタンスの最小数を指定してウォーム状態を維持し、いわゆる "コールド スタート" を減らすことができます。また、Premium プランでは、仮想ネットワークに接続し、その中から機能を実行することもできます。 Dedicated プランと同様に、Premium プランのアプリの既定のタイムアウトは 30 分ですが、(サーバーの可用性に応じて) 基本的に無制限に実行できます。
Dedicated (App Service) プランでは、定義した VM 上で関数を継続的に実行することで、タイムアウト期間を避けることができます。 App Service プランは厳密にはサーバーレス プランではありません。その理由は、関数が実行されるアプリ リソースを管理する責任はお客様にあるからです。 ただし、関数の実行にも使用できる余分な App Service リソースが既にある場合は、この選択の方が適している可能性があります。
ストレージ アカウントの要件
関数アプリを作成する場合、関数アプリはストレージ アカウントにリンクされている必要があります。 既存のアカウントを選択するか、新しいアカウントを作成できます。 このストレージ アカウントは、関数実行の記録や実行トリガーの管理など、内部操作のために関数アプリによって使用されます。 従量課金プランでは、このストレージ アカウントは、関数コードと構成ファイルが格納される場所でもあります。
関数アプリの作成
重要
この演習を行うには、独自の Azure サブスクリプションが必要です。また、料金が発生することがあります。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
Azure portal で関数アプリを作成しましょう。 このモジュールを完了すると、ご利用の Azure アカウントでわずかな (数セント未満の) コストが発生します。
Azure アカウントを使用して Azure Portal にサインインします。
[Azure サービス] で、 [リソースの作成] を選択します。
[リソースの作成] ウィンドウが表示されます。
メニューで、[関数アプリ] を見つけて選びます。 [作成] ボタンを選択します。 [関数アプリの作成] ウィンドウが表示されます。
[従量課金] ラジオ ボタンを選んで、[選択] ボタンを選びます。
[基本] タブで、各設定に対して次の値を入力します。
設定 値 プロジェクトの詳細 サブスクリプション ご自分のサブスクリプション リソース グループ [新規作成] リンクを選び、リソース グループの名前を入力します。 インスタンスの詳細 関数アプリ名 グローバルに一意のアプリ名を入力します。これは、サービスのベース URL の一部になります。 たとえば、escalator-functions-xxx という名前を付けることができます。xxx はご自分のイニシャルと番号に置き換えることができます。 有効な文字は、a から z、0 から 9、- (ハイフン) です ランタイム スタック Node.js (この演習で関数の例を実装する際に使用する言語)。 Version "既定値" をそのまま使用します。 リージョン 地理的に近い場所を選択します。 運用システムでは、関数の顧客やコンシューマーに近い場所を選択する必要があります。 オペレーティング システム オペレーティング システム "既定値" をそのまま使用します。 [次へ: ストレージ] を選択します。 [ストレージ] タブで、各設定に対して次の値を入力します。
設定 [値] Storage ストレージ アカウント [新規作成] リンクを選び、ストレージ アカウントの名前を入力して、[OK] を選びます。 [確認と作成] を選択し、次に [作成] を選択します。 デプロイには、数分かかります。 デプロイが完了すると、通知を受け取ります。
Azure アカウントを使用して Azure Portal にサインインします。
[Azure サービス] で、 [リソースの作成] を選択します。
重要
現在、ポータルで Azure 関数を作成するための新しいワークフローをサポートするように、サンドボックスを更新する作業に取り組んでいます。 それが使用できるようになったときに、手順が更新されます。 それまでは、現在の手順に一致する作成エクスペリエンスのバージョンを使用することができます。これを行うには、[関数アプリ] ページの上部にある、[従来の関数アプリの作成エクスペリエンスをご希望ですか?] というラベルの付いた通知バーをクリックします。 このエクスペリエンスには、Azure Marketplace から [関数アプリ (クラシック)] オプションを選択してアクセスすることもできます。
[リソースの作成] ウィンドウが表示されます。
メニューで [コンピューティング] を選択し、[関数アプリ] を検索して選択します。 [作成] ボタンを選択します。 [関数アプリの作成] ウィンドウが表示されます。
[基本] タブで、各設定に対して次の値を入力します。
設定 値 プロジェクトの詳細 サブスクリプション ご自分のサブスクリプション リソース グループ [新規作成] リンクを選び、リソース グループの名前を入力します。 インスタンスの詳細 関数アプリ名 グローバルに一意のアプリ名を入力します。これは、サービスのベース URL の一部になります。 たとえば、escalator-functions-xxx という名前を付けることができます。xxx はご自分のイニシャルと番号に置き換えることができます。 有効な文字は a-z、0-9、- (ハイフン) です コードまたはコンテナー イメージをデプロイしますか? コード ランタイム スタック PowerShell Core Version "既定値" をそのまま使用します。 リージョン 地理的に近い場所を選択します。 運用システムでは、関数の顧客やコンシューマーに近い場所を選択する必要があります。 オペレーティング システム オペレーティング システム "既定値" をそのまま使用します。 ホスティング ホスティング オプションとプラン 従量課金プラン (サーバーレス) [次へ: ストレージ] を選びます。 [ストレージ] タブで、各設定に対して次の値を入力します。
設定 [値] Storage ストレージ アカウント [新規作成] リンクを選び、ストレージ アカウントの名前を入力して、[OK] を選びます。 [確認と作成] を選択し、検証してから [作成] を選択します。 デプロイには、数分かかります。 [デプロイ] ペインには、作成中のリソースが表示され、デプロイが完了すると、デプロイが完了したことを示す通知が表示されます。
Azure 関数アプリの確認
デプロイが完了したら、[リソースに移動] を選択します。 ご自分のエスカレーター関数の [関数アプリ] ペインが表示されます。
[基本] セクションで、[URL] リンクを選択してブラウザーで開きます。 Azure の既定の Web ページが開き、ご自分の関数アプリが稼働していることを示すメッセージが表示されます。