Azure App Service 上のマネージド インスタンス

Azure App ServiceのManaged Instanceは、OSのカスタマイズ、オプションのプライベートネットワーキング、Azureリソースとの安全な統合が必要な、Windowsウェブアプリ向けのプランスコープ付きホスティングオプションです。 App Service のマネージド パッチ適用、スケーリング、診断、ID 機能を保持しながら、レガシまたはインフラストラクチャに依存するワークロード (コンポーネント オブジェクト モデル (COM)、レジストリ、Microsoft/Windows インストーラー (MSI)) を対象としています。

Important

Managed Instanceは、特定の地域でWindowsのウェブアプリ向けに一般的に利用可能で、Pv4およびPmv4の料金プランに限定されています。 Microsoftは今後さらに多くの地域を導入していく予定です。 Managed InstanceはLinuxやコンテナをサポートしていません。

主な機能

次の表は、Managed Instance が提供する主な機能をまとめたものです。

カテゴリ 能力
ネットワークの分離 プラン レベルの仮想ネットワーク統合 (省略可能、作成後に追加できます):
プライベート エンドポイントとカスタム ルーティング
ネットワーク セキュリティ グループ (NSG) のサポート、NAT ゲートウェイ、ルート テーブル
• 内部名前解決のためのプライベート ドメイン ネーム サーバー (DNS)
コンピューティングの分離 • プランに基づくネットワーク境界の完全制御による隔離
• 予測可能なパフォーマンスのための専用コンピューティング
カスタム コンポーネントのサポート PowerShell のインストールスクリプト:
• COM コンポーネント
• レジストリと永続的なレジストリ値
インターネット インフォメーション サービス (IIS サーバー) の構成と ACL
• MSI インストーラー
• Microsoft 以外のコンポーネントと Windows サービス
グローバル アセンブリ キャッシュ (GAC) のインストール
• Windows 機能 (MSMQ クライアント、サーバー ロール)
• カスタム フレームワーク (カスタマー マネージド パッチ適用)
レジストリ アダプター セキュリティで保護された構成のための Azure Key Vault でサポートされるレジストリ キー
ストレージの柔軟性 • Azure Files と Key Vault の統合
UNC パスとネットワーク共有アクセス
• スクリプト化されたドライブ マッピング
• ローカル一時ストレージ (2 GB、非永続的)
マネージド ID • プラン レベルでのシステム割り当て ID とユーザー割り当て ID
• Azure リソースへのキーレス認証
運用効率 プラットフォームで管理される負荷分散、修正プログラムの適用、スケーリング:
• 水平自動スケーリング (すべてのインスタンス)
• 垂直スケール (Pv4/Pmv4 のみ)
リモート デスクトップ プロトコル • Azure Bastion 経由の Just-In-Time RDP (仮想ネットワークが必要)
• ログ、イベント ビューアー、IIS マネージャーへのアクセス
セキュリティと認証 証明書バインドを使用した TLS とカスタム ドメイン
• Microsoft Entra ID を使用した App Service 認証
ランタイムのサポート • プレインストール済み: .NET Framework 3.5、4.8、および .NET 8
• インストール スクリプトを使用したカスタム ランタイム
CI/CD 統合 GitHub Actions, Azure DevOps, zip デプロイ, パッケージのデプロイ, パッケージから実行

構成オプション

Managed Instance では、次の方法でプラン レベルの構成が提供されます。

  • 構成 (インストール) スクリプト: Zip 形式の PowerShell スクリプトを Azure Storage にアップロードします (マネージド ID 経由でアクセス)。 スクリプトは、永続的な構成のために起動時に実行されます。

    • スクリプトは任意です。 アプリが依存関係のインストールやOSレベルの機能設定が必要な場合はスクリプトを使いましょう。
    • RDP セッションの変更は一時的であり、再起動またはプラットフォームのメンテナンス後に失われます。
    • スクリプト実行ログは App Service コンソール ログに表示され、Azure Monitor にストリーミングできます。
  • Windows レジストリ アダプター: Azure Key Vault に格納されているシークレット値を使用して、プラン レベルでレジストリ キーを定義します。

  • ストレージ マウント: Azure Files またはカスタム UNC パスでカスタム ドライブ文字を使用してストレージをマップします。 ローカル ストレージも使用できますが、2 GB に制限され、再起動後は永続化されません。

  • RDP アクセス: Azure Bastion 経由の Just-In-Time リモート デスクトップ (仮想ネットワーク統合が必要)。

ロギングおよびトラブルシューティング

  • Managed Instance のログは、アプリ レベルではなく App Service プラン レベルで作成されます。
  • ストレージ マウントとレジストリ アダプターのイベントは、App Service プラットフォーム ログにキャプチャされます。 これらのログは、Logstream 経由でストリーミングすることも、Azure Monitor と統合することもできます。
  • 構成 (インストール) スクリプト ログは、App Service コンソール のログとインスタンス (C:\InstallScripts<scriptName>\Install.log など) で使用できます。 一元化されたアクセスには、Logstream または Azure Monitor を使用します。
  • RDP アクセスには、Azure Bastion と仮想ネットワークの統合が必要です。 IIS マネージャーとイベント ビューアーは、診断に推奨されます。

適切なホスティング オプションの選択

必要な場合は、Managed Instance を使用します。

従来の Windows の互換性

  • COM コンポーネント、レジストリの変更、MSI インストーラー
  • 診断用の IIS マネージャーアクセスと RDP
  • UNC パスまたはドライブ マッピングを使用したネットワーク共有

最小限のリファクタリングによる移行

  • レガシー .NET Framework アプリの "リフト アンド インプルーブ"
  • 完全な書き換えを行わない段階的な最新化
  • コンプライアンス要件の計画レベルのネットワーク分離

Windows 固有のカスタマイズ

  • スタートアップ構成用の PowerShell インストール スクリプト
  • MSMQ やサーバー ロールなどの Windows 機能
  • GAC の Microsoft 以外のカスタムコンポーネント

必要な場合は、Standard App Service を使用します。

最新のクラウドネイティブ開発

  • 複数言語アプリのサポート (Python、Node.js、Java、PHP など)
  • Linux またはコンテナー化されたワークロード
  • OS カスタマイズを使用しないプラットフォームで管理されるインフラストラクチャ
  • より広範なランタイムとフレームワークのオプション

必要な場合は、App Service Environment (ASE) を使用します。

エンタープライズ規模の隔離

  • 完全に分離された専用インフラストラクチャ
  • 100 以上のアプリケーションをサポートするデプロイ
  • 完全なネットワーク境界制御

現在の制限

制限事項 詳細
プラットフォーム • Windows のみ (Linux/コンテナーなし)
• ASE では使用できません
SKU Pv4 と Pmv4 のみ
Regions 東アジア、米国中西部、北ヨーロッパ、米国東部、オーストラリア東部、インド中部、インド南部
認証 Entra ID とマネージド ID のみ (ドメイン参加/NTLM/Kerberos なし)
ワークロード Web アプリのみ (WebJobs、TCP/NetPipes なし)
Configuration 永続的な変更にはスクリプトが必要です (RDP は診断のみ)

ベスト プラクティス

  • 永続的な構成には、構成スクリプト (スクリプトのインストール) を使用します。
  • Key Vault を使用してシークレットを一元化する。
  • ステージング環境でのログ設定を検証してください。
  • 運用環境のロールアウト前にステージングで構成 (インストール) スクリプトをテストします。
  • ネットワーク ルールを依存関係インベントリに合わせます。
  • 脅威の検出については、Microsoft Defender for Cloud を使用して監視します。

次のステップ