Azure認定資格 WEB問題集&徹底解説

AZ-900:Microsoft Azure Fundamentals

Azure App Services の概要と試験出題ポイントは?

Azureサービスの一つであるAzure App Servicesはどんな内容なのでしょうか?また、Azure認定資格の AZ-900:Azure Fundamentals に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

Azure App Service 徹底解説

1. サービス概要

Azure App Service は、Web アプリ、API、モバイルバックエンドなどを構築、デプロイ、スケーリングするためのフルマネージドプラットフォームサービス(PaaS)です。 インフラストラクチャの管理を気にすることなく、アプリケーションの開発に集中できます。 App Service は、複数のプログラミング言語、フレームワーク、オペレーティングシステムをサポートし、自動スケーリング、組み込みの負荷分散、継続的なデプロイメント機能を提供します。 シンプルな Web サイトから複雑なエンタープライズアプリケーションまで、幅広いユースケースに対応できます。

App Service は、Web アプリケーションを迅速かつ簡単に構築、デプロイ、管理するための強力なプラットフォームです。

2. 主な特徴と機能

2.1 マネージドプラットフォーム

App Service は、インフラストラクチャの管理を抽象化し、OS、フレームワーク、ネットワークなどの基盤となるコンポーネントを Azure が管理します。

2.2 複数の言語とフレームワークのサポート

App Service は、.NET、.NET Core、Java、Node.js、PHP、Python、Ruby などの複数のプログラミング言語とフレームワークをサポートしています。

2.3 自動スケーリングと負荷分散

App Service は、アプリケーションの需要に基づいて、自動的にインスタンス数をスケールアウト/スケールインし、トラフィックを分散します。

2.4 継続的なデプロイメント

App Service は、GitHub、Azure DevOps、Bitbucket などのソース管理システムと統合されており、継続的なデプロイメントをサポートしています。これにより、コードの変更を自動的にデプロイできます。

2.5 セキュリティ

App Service は、Azure のセキュリティ機能によって保護されており、Azure Active Directory (Azure AD) との統合、SSL/TLS 証明書のサポート、IP アドレス制限、マネージドサービス ID (MSI) などの機能を提供します。

2.6 デプロイスロット

App Service は、複数のデプロイスロットをサポートしており、本番環境に影響を与えることなく、新しいバージョンをステージング環境でテストできます。

2.7 監視とロギング

App Service は、Azure Monitor と統合されており、アプリケーションのパフォーマンスとヘルス状態を監視できます。また、アプリケーションのログを Azure Monitor Logs に収集し、分析できます。

3. アーキテクチャおよび技術要素

  1. ユーザーが Azure Portal、CLI、PowerShell、または SDK を介して App Service プランと App Service アプリを作成/管理。
  2. ユーザーは、ランタイムスタック (言語、フレームワーク、OS)、インスタンスサイズ、スケーリング設定などの App Service アプリ構成を指定。
  3. Azure が、App Service アプリを実行するためのインフラストラクチャを自動的にプロビジョニング。
  4. App Service アプリは、Azure のセキュリティで保護されたインフラストラクチャ上で実行される。
  5. App Service アプリは、Azure Virtual Network に統合でき、他の Azure サービスやオンプレミスネットワークと安全に通信できる。

App Service は、Azure Resource Manager (ARM) を使用して管理され、Azure の他のサービス (Azure SQL Database、Azure Cosmos DB など) と統合できます。

4. セキュリティと認証・認可

  • Azure Active Directory (Azure AD): Azure AD を使用して、App Service アプリへのアクセスを制御できます。
  • Azure Role-Based Access Control (RBAC): RBAC を使用して、App Service リソースへのアクセス権限を、ロールに基づいて付与/制限できます。
  • SSL/TLS 証明書: SSL/TLS 証明書を使用して、App Service アプリへのトラフィックを暗号化できます。
  • IP アドレス制限: IP アドレス制限を使用して、App Service アプリへのアクセスを特定の IP アドレスに制限できます。
  • マネージドサービス ID (MSI): MSI を使用して、App Service アプリから他の Azure サービスへの安全なアクセスを認証できます。

5. 料金形態

Azure App Service は主に以下に基づく料金体系です:

  • App Service プラン: App Service プランの SKU (Free, Shared, Basic, Standard, Premium, Isolated) に応じて課金。SKU によって、利用できるリソース (CPU、メモリ、ストレージ) と機能が異なります。
  • インスタンス時間: App Service プランで実行されるインスタンスの時間に応じて課金。
  • データ転送: App Service アプリとの間のデータ転送量に応じて課金。
  • SSL 証明書: カスタム SSL 証明書を使用する場合は、証明書の料金が発生。

6. よくあるアーキテクチャ・設計パターン

  • Web アプリケーション: App Service を使用して、Web アプリケーションをホストできます。
  • API バックエンド: App Service を使用して、API バックエンドを構築し、モバイルアプリや他のクライアントアプリケーションにサービスを提供できます。
  • モバイルバックエンド: App Service の Mobile Apps 機能を使用して、モバイルバックエンドを構築できます。
  • シングルページアプリケーション (SPA): App Service を使用して、Angular、React、Vue.js などの SPA をホストできます。
  • サーバーレス API: App Service と Azure Functions を組み合わせて、サーバーレス API を構築できます。

7. 設定・デプロイ手順(ハンズオン例)

  1. Azure Portal、CLI、または PowerShell を使用して、リソースグループを作成。
  2. App Service プランを作成 (SKU、リージョン、OS などを指定)。
  3. App Service アプリを作成 (名前、ランタイムスタック、App Service プランなどを指定)。
  4. アプリケーションのコードをデプロイ (GitHub、Azure DevOps、FTP などを使用)。
  5. カスタムドメインを設定し、SSL 証明書をバインド。
  6. Azure Monitor を使用して、アプリケーションのパフォーマンスを監視。

8. 試験で問われやすいポイント

8.1 App Service の基本的な概念

  • Q: App Service とは何ですか?
    A: Web アプリ、API、モバイルバックエンドなどを構築、デプロイ、スケーリングするためのフルマネージドプラットフォームサービス(PaaS)です。
  • Q: App Service の主な利点は何ですか?
    A: マネージドプラットフォーム、複数の言語とフレームワークのサポート、自動スケーリングと負荷分散、継続的なデプロイメント、セキュリティ。

8.2 App Service プラン

  • Q: App Service プランとは何ですか?
    A: App Service アプリを実行するためのリソース (CPU、メモリ、ストレージ) を定義します。
  • Q: App Service プランの SKU の種類は何ですか?
    A: Free, Shared, Basic, Standard, Premium, Isolated。

8.3 デプロイメント

  • Q: デプロイスロットとは何ですか?
    A: 本番環境に影響を与えることなく、新しいバージョンをステージング環境でテストできます。
  • Q: 継続的なデプロイメントとは何ですか?
    A: コードの変更を自動的にデプロイできます。

8.4 セキュリティ

  • Q: App Service アプリへのアクセスを制御する方法は何ですか?
    A: Azure Active Directory (Azure AD) と Azure Role-Based Access Control (RBAC) を使用。
  • Q: App Service アプリへのトラフィックを暗号化する方法は何ですか?
    A: SSL/TLS 証明書を使用。

8.5 料金

  • Q: App Service の料金はどのように計算されますか?
    A: App Service プラン、インスタンス時間、データ転送、SSL 証明書に基づいて計算。

8.6 ユースケース

  • Q: App Service の一般的なユースケースは何ですか?
    A: Web アプリケーション、API バックエンド、モバイルバックエンド、シングルページアプリケーション (SPA)、サーバーレス API。

8.7 App Service と他の Azure サービスの比較

  • Q: App Service と Azure Functions の違いは何ですか?
    A: App Service は Web アプリケーションなどの長期実行プロセスに適しており、Azure Functions はイベントトリガー型のサーバーレス関数に適しています。

8.8 その他細かな試験ポイント

  • App Service Environment (ASE)とは
  • Kudu サービスとは
  • カスタムドメインの設定方法
  • バックアップと復元