Microsoft AZ-104: Azure App Service と PaaS コンピューティング — 学習ガイド

こちらの一部です: Microsoft Azure Administrator Associate AZ-104 — 学習ガイド. 検証済みの解答で練習: Microsoft試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.

概要

AzureのPaaSコンピュートポートフォリオは、フルマネージドのWeb/アプリホスティング、サーバーレス関数、ワークフロー自動化、オンデマンドコンテナ、そしてコンテナオーケストレーションを統合しています。管理者として成功するには、各サービスの境界、ネットワーク接続と認証の方法、そして信頼性の高いデプロイとスケーリングの方法を理解することが重要です。このセクションでは、App Service(プラン、デプロイメントスロット、ネットワーク、組み込み認証)、Azure FunctionsとLogic Apps(プラン、トリガー、コネクタ)、Azure Container InstancesとAKS(スケジューリング、スケーリング、運用ツール)、そして分離されたApp Service Environmentについて説明します。

App ServiceとFunctionsのコンピューティング基盤

App Serviceプランは、専用プランで実行されるWeb Apps、API Apps、およびFunction Appsのコンピューティングリソースプールを決定します。価格レベルごとに、異なる機能とスケーリングモデルがあります。

スケーリングは、スケールアップ(価格レベル/VMサイズの変更)とスケールアウト(インスタンス数の変更)に分かれます。自動スケールにはStandard以上が必要で、Azure Monitorのルール(CPU、App Serviceメトリック経由のメモリ、またはカスタムメトリック)によって駆動されます。スケール操作はApp Serviceプランごとに行われ、プラン内のすべてのアプリに影響します。

デプロイメントスロットは、同じプラン内に本番アプリのインスタンスを提供し、変更をステージングします。スロットはStandard以上で存在し、Standardはサポート数が少なく、Premium/Isolatedはより多くサポートします。スワップは、スロット設定(スロットに固定されるアプリ設定と接続文字列)を尊重しながら、スロットのコンテンツと構成を交換することで、ゼロダウンタイムの昇格をオーケストレーションします。プレビュー付きスワップは、ターゲットスロットをウォームアップし、完了前にヘルス状態を評価します。運用環境でのテストでは、本番トラフィックの一定割合を1つ以上のスロットにルーティングします。ルーティングは、テストのランプアップ中にセッションアフィニティを維持するためにクライアントごとに固定(スティッキー)されます。

App Serviceのネットワークは、制御されたアウトバウンドおよびインバウンド接続を提供します。

組み込みの認証/承認(「Easy Auth」)は、ホストされた認証ハンドラーをアプリのフロントに配置し、コードの変更なしにトークンの検証をオフロードします。サポートされているプロバイダーには、Microsoft Entra ID (Azure AD)、Microsoft Account、Google、Facebook、Twitter、および汎用のOpenID Connectが含まれます。すべてのリクエストに対してログインを強制したり、アプリにパススルーしたり、許可されたオーディエンスを設定したり、特定のテナントに制限したりできます。オプションのトークンストアは、プロバイダートークンをキャッシュし、/.auth/meエンドポイントとリクエストヘッダーを介してクレームを公開します。システム割り当てマネージドIDと組み合わせることで、下流のAzureサービスを安全に呼び出すことができます。

Azure Functionsは、3つのホスティングモデルでイベント駆動型のコンピューティングを提供します。

コストとスケーリングの動作は、App ServiceプランモデルとConsumptionモデルで大きく異なります。App Serviceプランは、常時稼働インスタンスのサイズと数に対して課金され、プランのルールに従ってスケーリングします。FunctionsのConsumptionモデルは、実行時間とメモリに対してのみ課金され、同時実行数に基づいた自動スケールとスケールトゥゼロが特徴です。Premiumはこれらの中間に位置し、予約されたウォームキャパシティとバーストスケーリングを組み合わせています。

コンテナとKubernetes

Azure Container Instances (ACI) は、VMやオーケストレーターを管理することなく、オンデマンドで秒単位課金のコンテナを提供します。デプロイの単位はコンテナグループです。これは、同じホストにスケジュールされ、IP、ポート、ボリューム、ライフサイクルを共有する1つ以上のコンテナで構成されます。コンテナごとにCPU/メモリを定義し、ポートを公開し、Azure Files、シークレット、emptyDirなどのボリュームをマウントします。環境変数は、プレーンテキストまたはセキュア(ログやメタデータから除外)に設定できます。再起動ポリシーはライフサイクルを制御します。Always(長時間実行されるサービスのデフォルト)、OnFailure(ゼロ以外の終了コードで再試行すべきジョブ用)、Never(再起動なしで終了状態を検査したい実行完了タスク用)があります。ネットワークは、パブリックIP、委任されたサブネットへのVNetインジェクションによるプライベートIP、およびパブリックエンドポイント用のDNS名ラベルをサポートします。

Azure Kubernetes Service (AKS) は、Virtual Machine Scale Setsとしてプロビジョニングされるノードプールを備えた、マネージドKubernetesコントロールプレーンです。ノードプールは、システムワークロード(kube-systemコンポーネント)とユーザーワークロードを区別し、複数のVMサイズをサポートし、LinuxとWindowsを実行できます(Windowsには少なくとも1つのLinuxシステムプールが必要です)。プールには、スケジューリングを制御するためにテイント(taint)を付与できます。アップグレードはプールごとにオーケストレーションされ、maxPods、可用性ゾーン、エフェメラルOSディスクはプール作成時に構成されます。クラスターオートスケーラーはKubernetesスケジューリングと統合され、保留中のポッドがスケジュールできない場合や、ノードが十分に利用されていない場合に、最小/最大数の範囲内でノード数を変更します。これはPod Disruption Budgetを尊重し、安全な場合にのみスケールダウンします。Horizontal Pod Autoscalerはこれを補完し、メトリクスに基づいてDeployment内のレプリカをスケーリングします。

クラスター管理のためのkubectlの基本:

ネットワークプラグイン(Azure CNIまたはkubenet)、ID(マネージドIDかサービスプリンシパルか)、およびRBAC/Entra ID統合は、ポッドのIP割り当て、クラスターの認証、および認可を決定します。クラスターIDが、ロードバランサー、マネージドディスク、およびノードリソースグループに対する権限を持つことを確認してください。

統合、ネットワーク、セキュリティ

Logic Appsは、何百ものSaaSやAzureサービスへのコネクタを備えたマネージドワークフローエンジンを提供します。ワークフローは、実行を開始するトリガーと、ステップを実行するアクションで構成されます。トリガーには、HTTPリクエスト、繰り返し(Recurrence)、Service Busメッセージ、Event Gridイベント、ストレージイベント、および多くのSaaSイベント(例:Dynamics 365でレコードが作成されたとき)が含まれます。アクションには、制御構造(条件、ループ、スイッチ)、データ操作(作成、JSONの解析、変数)、およびコネクタ操作(メール送信、メッセージのエンキュー、API呼び出し)が含まれます。Azureサービスとの統合は緊密です:

App Service Environment (ASE) は、App ServiceのIsolatedプランを実装します。仮想ネットワーク内にデプロイされるASEは、ネットワーク制御を備えたシングルテナントの専用コンピューティングおよびストレージスタンプを提供します。外部ASEはパブリックなイングレスエンドポイントを公開します。内部ロードバランサー(ILB)ASEは、厳密にプライベートなアクセスのためにプライベートVIPのみを公開します。ASE内のアプリは、Isolated/Isolated v2価格プランを使用します。環境のスタンプ料金とインスタンスごとのワーカーコストの両方を支払います。ASEは、コンプライアンス、ネットワーク分離、またはスケールの要件がマルチテナントのApp Serviceの能力を超える場合に選択されます。ASE v3では、デプロイとネットワークが簡素化されましたが、VNetを境界とする、専用でプライベートにアドレス指定可能なApp Serviceという中核的な価値提案は変わりません。

これらのサービス全体でのアクセスガバナンスは、リソースアクションに対するAzure RBAC、サービス間の認証に対するマネージドID、およびIDプレーンでの条件付きアクセスに依存します。App Serviceへのイングレス制御には、必要に応じて、プライベートエンドポイントまたはILB ASEを、アクセス制限やWAFが有効なフロントエンド(例:Application GatewayやAzure Front Door)と組み合わせます。エグレス制御には、データサービス用のNSG、ルートテーブル、およびプライベートエンドポイントとともにVNet統合を使用します。

デプロイとスケーリングの運用

App Serviceへの信頼性の高いリリースでは、デプロイメントスロットを使用して、スワップ前に正常性を検証し、キャッシュをウォームアップします。環境ごとに異なる構成(接続文字列、機能フラグなど)は「スロット設定」としてマークし、スワップ中に移動しないようにします。プレビュー付きスワップを使用して、ヘルスプローブやアプリケーション固有のウォームアップエンドポイントを実行します。正常でない場合は、スワップを中止します。カナリアリリース中は、トラフィックルーティングを有効にして、少量の固定的な割合のトラフィックをステージングスロットに誘導し、徐々に増やしていきます。スロット固有のアプリ設定により、ベータ機能を安全に切り替えることができます。

App Serviceプランのオートスケールは、プランリソース上でプロファイル(時間ベースの最小/最大/デフォルト)とルール(スケールステップとクールダウン期間を持つメトリックのしきい値)を使用して構成されます。より正確なスケーリングのために、CPUとカスタムメトリック(キューの長さなど)を組み合わせます。Functionsの場合、従量課金プラン(Consumption)は自動的にスケールします。同時実行性を監視し、トリガーごとの動作(Service Busのバッチサイズやプリフェッチなど)をhost.jsonで構成します。Premiumプランは、事前ウォーミングされたインスタンスとバーストインスタンスをスケールします。最小インスタンス数をレイテンシの目標に合わせます。

コンテナでは、ACIの再起動ポリシーは意図を反映する必要があります。バッチジョブは無限ループを避けるためにNeverまたはOnFailureに設定し、サービスはAlwaysを使用します。構成には環境変数、シークレットにはAzure Key Vaultを使用し、マネージドIDとスタートアップコードを介して注入するか、必要に応じてシークレットをボリュームとしてマウントします。AKSでは、ノードプールごとに適切な最小/最大境界値を設定してクラスターオートスケーラーを有効にし、重要なDeploymentに対してHPAを構成します。ヘッドルーム(余裕)を予算に含め、Pod Disruption Budgetsを設定して、アップグレードやスケールイン中の可用性を保護します。クラスターやプールのアップグレードを広範囲に展開する前に、カナリアノードプールでアップグレードを検証します。

実践的な問題シナリオ

Fabrikam社は、顧客ポータルとバックグラウンド処理サービスを運用しています。同社はPaaSへのモダナイゼーション、データストアへのプライベートネットワークアクセスの強制、ブルーグリーンデプロイメントのサポート、そしてVMを管理することなく夜間のコンテナ化されたETLを実行する必要があります。

  1. デプロイメントスロットを備えたApp Service Premiumでポータルをホストする
  1. プライベートイングレスと制御されたエグレスを強制する
  1. Azure Functions Premiumでバックグラウンド処理を実装する
  1. Logic Apps Standardでサービス横断的なワークフローをオーケストレーションする
  1. 夜間ETLをAzure Container Instancesで実行する
  1. AKSでコンテナ化されたマイクロサービスの準備をする

Azure ストレージ · すべてのドメイン · Azure データベースとデータサービス

これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

試験に合格する →

Microsoftを閲覧 →

Related guides

オールインワンアクセス

1つのサブスクリプション。すべての試験。

すべてのプランで、無制限の回答検索、模擬試験、AI解説、および完全なリソースライブラリが利用可能 — 20以上の言語に対応。

月額
24.87
Just €0.83/day
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

ベストバリュー
12ヶ月
179.87
Just €0.49/daySave 40%
すべて含まれています:
  • 無制限の回答検索
  • 無制限の模擬試験
  • AIを活用した解説
  • 完全なリソースライブラリ
  • 20以上の言語
  • 毎週のコンテンツ更新
  • 特典 & 紹介
  • 優先サポート
無料トライアルを開始

クレジットカード不要*

✓ 無料プランが含まれています · ✓ いつでもキャンセル可能 · ✓ すべてのプランで製品の全機能が利用可能