第 10 章 Azure のコンピューティングリソースをデプロイおよび管理する(20〜25%)

Azure App Service

この章で学ぶこと

  • App Service プランをプロビジョニングする
  • App Service プランのスケーリングを構成する
  • App Service を作成する
  • App Service の証明書とトランスポート層セキュリティ (TLS) を構成する
  • 既存のカスタム DNS 名を App Service にマップする

この章に出てくる用語

Azure App Service
Web アプリや API を動かすための PaaS。 OS の更新もランタイムの導入も Azure がやるので、利用者はアプリのコードを置くだけで動く。仮想マシンに自分で IIS や nginx を立てる場合と比べ、運用の手間が大きく減る代わりに、OS レベルの自由は無い。

App Service プランは、アプリを動かすコンピューティングリソースの定義だ。OS、リージョン、インスタンス数、インスタンスサイズ、価格レベルを決める。アプリはそのプランの上に載る。

図 10-1 プランとアプリ
図 10-1 プランとアプリ

試験では

同じプランに載せたアプリは、すべて同じ VM インスタンスを共有する。1 つのアプリが CPU を食い潰せば、他のアプリも遅くなる。アプリ単位では分離されない。「特定のアプリだけ重い」という状況の対処は、そのアプリを別のプランに移すこと。

スケールの方向は 2 つある。スケールアップは価格レベルを上げて 1 インスタンスの性能や機能を増やすこと、スケールアウトはインスタンス数を増やすことだ。どちらもプラン単位で行う。

ここが最頻出。レベルは大きく 3 つに分かれる。

  • 共有コンピューティング(Free / Shared) ―― 他の顧客のアプリと同じ VM で動く。CPU クォータが割り当てられる
  • 専用コンピューティング(Basic 〜 PremiumV4) ―― 専用の Azure VM でアプリを動かす
  • IsolatedV2 ―― 専用の仮想ネットワーク上の専用 VM。App Service Environment を使う
図 10-2 価格レベルでできること
図 10-2 価格レベルでできること
機能FreeSharedBasicStandard 以上
カスタムドメイン×○○○
スケールアウト××○○
自動スケール×××○
デプロイスロット×××○
バックアップ×××○

試験では

自動スケール・デプロイスロット・バックアップはすべて Standard 以上。Basic では手動のスケールアウトはできるが、自動スケールはできない。「Basic で運用しているが…」と書かれていたら、この 3 つは選べない。

試験では

Free ではカスタムドメインが使えない(Shared 以上)。「独自ドメインを割り当てたいが追加費用を最小にしたい」なら Shared。

補足

「ネットワークごと分離したい」「専用の VNet 上で動かしたい」という要件なら IsolatedV2。課金は worker 単位になる。

本番とは別に用意する、独立したホスト名を持つ稼働環境のこと。ステージングスロットに新しい版をデプロイして検証し、問題なければ本番と入れ替える。

図 10-3 スロットとスワップ
図 10-3 スロットとスワップ

入れ替える操作をスワップと呼ぶ。スワップの前にインスタンスがウォームアップされるため、ダウンタイムがほぼ無い。問題が見つかったら、もう一度スワップすれば元の版に戻せる。

試験では

スワップで入れ替わるのはアプリの中身で、「スロット設定」は移動しない。接続文字列やアプリ設定を環境ごとに変えたい場合は、その設定をスロット設定としてマークしておく。そうすればスワップしてもスロットに固定される。「スワップしたらステージング用の DB に本番がつながった」の原因はこれ。

# スロットを作る(Standard 以上)
az webapp deployment slot create -g rg \
  -n myapp --slot staging
# スワップする
az webapp deployment slot swap -g rg \
  -n myapp --slot staging --target-slot production

既定のホスト名は <アプリ名>.azurewebsites.net だ。独自ドメインを割り当てるには、DNS 側にレコードを登録して所有権を検証させる。

割り当てるものDNS に登録するレコード
裸ドメイン(contoso.com)A レコード + TXT レコード
サブドメイン(www.contoso.com)CNAME レコード(または A + TXT)

証明書

TLS 証明書は、App Service が無料で発行・更新するApp Service マネージド証明書が使える。ただし万能ではない。

試験では

App Service マネージド証明書は、ワイルドカードや一部の裸ドメインなど対応できないケースがある。その場合は App Service 証明書を購入するか、外部の証明書をアップロードする。

バインドの方式仕組み課金
SNI SSL1 つの IP を共有して複数の証明書を扱う無料
IP ベース SSL証明書ごとに専用 IP を割り当てる追加課金

試験では

SNI に対応していない古いクライアントをサポートする必要があるなら IP ベース SSL。それ以外は SNI SSL でよい。

アプリの構成・コンテンツ・接続されたデータベースをストレージアカウントに保存する機能。Standard 以上で使え、保存先のストレージアカウントは自分で指定する。

App Service のネットワーク設定は 3 つあり、送信か受信かで役割がきれいに分かれている。ここを取り違える設問が定番だ。

図 10-4 送信と受信
図 10-4 送信と受信
機能向き何をするか
VNet 統合送信アプリから VNet 内のリソースへ出ていけるようにする
プライベートエンドポイント受信アプリへの接続をプライベート IP に限定する
アクセス制限受信送信元の IP アドレスやサービスタグで許可・拒否する

試験では

VNet 統合は送信専用。 「アプリへのアクセスを社内からだけに絞りたい」という要件をVNet 統合で満たすことはできない。それはプライベートエンドポイントかアクセス制限の仕事。逆に「アプリから仮想ネットワーク内のデータベースに接続したい」なら VNet 統合。

この章のまとめ

  1. 同じプランのアプリはリソースを分離されるか
  2. 特定のアプリだけ重いときの定番の対処
  3. スケールアップとスケールアウトの違い
  4. 自動スケールが使える最低の価格レベル
  5. デプロイスロットが使える最低の価格レベル
  6. バックアップが使える最低の価格レベル

この章の根拠

試験 AZ-104 の学習ガイド(Microsoft Learn)

最終確認 2026-10-04 / 対応バージョン DEA 2026-05-04 改訂版