Azure Container Apps Express の概要 (プレビュー)

Azure Container Apps express は、コンテナー化された Web アプリケーションをAzureにデプロイする最速の方法を提供します。 オピニオンされた既定値と最小限の構成面を備えた Express は、開発者優先のエージェント優先プラットフォームであり、Web アプリを可能な限り迅速にクラウドで実行できるように設計されています。

Express を使用すると、まず環境のプロビジョニングを待たずにコンテナー アプリを直接作成できます。 迅速なプロビジョニングとゼロからのスケーリング機能により、AI を利用したアプリケーションやエージェント バックエンドに最適なホストが実現します。

Azure Container Apps の Express のようこそ画面のスクリーンショット。

主な機能

高速デプロイ モデルではインフラストラクチャの決定が削除されるため、アプリケーションの構築に集中できます。

能力 詳細情報
高速打ち上げ インフラストラクチャのチューニングを必要とせず、数分でデプロイできます。 スケーリング動作は、最初から組み込まれています。
シンプルで強力なアプリ API、SaaS フロントエンド、AI ゲートウェイ、イベントドリブン Web バックエンドなどの HTTP 優先ワークロードを実行します。
自動弾力性 ゼロからハイパースケールに自動的にスケーリングします。 プラットフォームは予測できないトラフィック パターン用に設計されており、スケーリングは自動的に処理されます。
ゼロからスケールする アプリは、アイドル時にはゼロまでスケールダウンし、必要に応じて再びスケールアップするため、使用した分だけお支払いいただきます。
高速起動 コールド スタートを最適化することで、アプリでトラフィックをすばやく処理する準備が整います。
推奨の既定設定 適切な既定値は自動的に適用されるため、インフラストラクチャ設定を構成する必要はありません。
最小限の構成領域 意思決定の数が少ないほど、運用までの時間が短縮されます。
開発者の迅速性 インフラストラクチャに費やす時間を減らし、コードの記述に多くの時間を費やします。

一般的なシナリオ

エクスプレスデプロイメントモデルは、展開速度とシンプルさが最も重視されるHTTPウェブワークロードに最適です。

  • SaaS アプリケーション: インフラストラクチャのスケーリングを気にせずに SaaS 製品を起動します。

  • AI アプリ フロントエンド: 需要に応じてスケーリングする AI を利用したインターフェイスとゲートウェイをデプロイします。

  • 開発者ツール: ゼロ構成のデプロイを使用して、内部および外部の開発ツールを配布します。

  • Web ダッシュボード: すぐに利用できる内部分析、監視、および管理パネルを構築します。

  • スタートアップと新しいプロジェクト: アイデアから運用環境に数分で移動します。 プロトタイプを迅速に作成し、成長に合わせてスケーリングします。

  • 迅速なプロトタイプ作成: アイデアをすばやく構築して検証し、再プラットフォーム化せずに運用環境で実行し続けます。

Express のしくみ

高速デプロイ モデルを使用すると、Container Apps 環境を管理する必要がなくなるので、デプロイ エクスペリエンスが簡素化されます。 アプリをデプロイすると、プラットフォームによって基になるリソースがプロビジョニングされます。

  • 管理する環境の詳細が少なくなります。ポータルを使用すると、プラットフォームによってアプリの軽量環境が作成されます。 CLI から作業する場合は、引き続き自分で環境を作成します。

  • 従量課金制コンピューティング: Express アプリは、使った分だけ課金される従量課金制の CPU で実行されます。 アプリはアイドル状態になるとゼロにスケーリングされるため、アプリが使用するコンピューティングに対してのみ料金が発生します。

  • オピニオンされた既定値: プラットフォームは、スケーリング ルール、ネットワーク、リソース割り当てなどの構成の決定を、運用対応の既定値で処理します。

  • 要求ドリブン期間: アプリが要求を受信するとコンピューティングが実行され、トラフィックが停止したときにスケールダウンされます。

  • 最適化されたコールド スタート: プラットフォームはコールド スタート動作を自動的に最適化するため、アプリはゼロからスケーリングした後にトラフィックをすばやく処理する準備が整います。

  • 特別な管理 UI: Express アプリは、Azure ポータルとは別 UI エクスペリエンスを通して管理されます。 Express アプリを作成または管理すると、プラットフォームは、標準のAzure ポータル エクスペリエンスではなく、この合理化されたインターフェイスに誘導します。

    Azure Container Apps の簡易作成エクスペリエンスのスクリーンショット。

Express を使用する場合

次の表を使用して、express がワークロードに適しているかどうかを判断します。

シナリオ Express を使用する 代替手段
Web アプリと REST API ✅ はい
SaaS フロントエンドと AI ゲートウェイ ✅ はい
迅速なプロトタイプ作成とスタートアップ ✅ はい
Web ダッシュボードと管理パネル ✅ はい
GPU ワークロード ❌ いいえ 専用ワークロード プロファイルで サーバーレス GPU を 使用する
TCPサービス ❌ いいえ ワークロードプロファイルコンテナアプリ環境を活用してください
ジョブとバッチ処理 ❌ いいえ Container Apps ジョブを使用する
サービス検出を使用したマイクロサービス ❌ いいえ ワークロードプロファイルコンテナアプリ環境を活用してください

考慮事項

Express を使用する場合は、次の重要な点に注意してください。

  • Ingressプロトコル:ExpressはHTTPイングレスをサポートしています。 HTTP/2、TCP、不安全なHTTP、追加の入力ポート、ターゲットポートの自動検出(targetPort: 0)をサポートしていません。

  • 従量課金制の CPU コンピューティング: Express アプリは従量課金制の CPU コンピューティングで実行されます。 GPUワークロードには 消費GPUワークロードプロファイルが必要です。

  • オピニオン構成: Express モデルでは、最小限の構成サーフェイスで、オピニオンされた既定値が使用されます。 コンピューティング、ネットワーク、またはコールド スタートの動作をきめ細かく制御する必要がある場合は、 ワークロード プロファイル環境で標準の Container Apps を使用します。

  • フォーカスネットワーク:Expressは内部または外部の入力、IP制限、CORS、仮想ネットワーク出口、環境プライベートエンドポイントをサポートします。 仮想ネットワークの出口には、環境レベルのサブネットまたはアプリレベルのアウトバウンドサブネットのいずれかを使用します。 アプリレベルのサブネットは環境レベルの仮想ネットワークと結合できず、同じ環境内のアプリ同士のみ共有でき、設定後に変更や削除もできません。 カスタムドメイン、クライアント証明書、セッションアフィニティ、組み込みのサービスディスカバリーはまだサポートされていません。

  • 機能の利用可能性:Expressはコンテナアプリの機能群に特化しています。 ユーザー割り当てのマネージドアイデンティティ、HTTP、CPU、メモリスケールルール、 EmptyDir ボリュームマウント、カスタムの一時的なストレージは、以下の表に記載される制限付きで利用可能です。 DAPR、ジョブ、ワークロードプロファイル、システム割り当てのマネージドアイデンティティはまだサポートされていません。

サポートされている機能

ExpressはAzure Container Appsの機能を効率化したセットで提供しています。 各機能は以下の3つの利用可能な状態のいずれかに分類されます。

  • サポート:Expressで直接動作。
  • ⚠️ ユースケース対応:メインシナリオは動作しますが、一部のオプションは利用できません。
  • サポートされていません:Expressでは利用できません。

使用可能な機能

特徴 在庫状況
ゼロにスケールする ✅ サポートされています
コンテナイメージ展開 ✅ 対応:ユーザー名とパスワードの秘密で認証された公開画像およびプライベート画像
複数のレプリカ ✅ サポートされています
環境変数 ✅ 対応: リテラル値と手動シークレットへの参照
HTTPイングレス ✅ 対応中:ターゲットポートの自動検出はサポートされていません
デフォルト入力ドメイン ✅サポート対象:Microsoft管理のazurecontainerapps.ioドメイン
エクスプレスマネジメントの経験 ✅ サポート:Expressアプリの作成と管理のための効率的な体験
ログ ストリーミング ✅ 対応: リアルタイムのコンテナごとのログストリーム
リージョン別の提供状況 ✅ 以下に挙げる地域でサポートされています
アプリの開始と停止 ✅ サポートされています
従量課金 ✅ 対応:使用量ベースの請求
ローリングアップデート ⚠️ ユースケース対応:アップデートはアクティブなリビジョンを自動的に置き換えます。 トラフィック分割はサポートされていません。
IP 制限 ✅ サポート:CIDR範囲によるトラフィックの許可または拒否
コンソール アクセス ✅ サポート対象:ブラウザベース、コンテナごとのコンソール
内部および外部の侵入 ✅ サポートされています
単一リビジョンのデプロイ ✅ 対応: 内蔵
アプリ間通信 ⚠️ ユースケース対応:アプリ同士は公開アプリのURLを使って通信できます。 内部サービスディスカバリーはサポートされていません。
マニュアルの秘密 ⚠️ サポートされたユースケース:シークレットをアプリに直接追加できます。 Key Vault参照はサポートされていません。
Metrics (Azure Monitor) ✅ アプリ概要および環境ダッシュボードでサポートされています
ログ (ログ分析) ⚠️ ユースケース対応:Express環境でLog Analyticsが有効化されている場合、ログを送ることができます。
自動スケーリング ⚠️ ユースケース対応:アプリはHTTPトラフィック、CPU、メモリでスケール可能です。 認証済みスケーリングルールはサポートされていません。
アプリランタイム用のユーザー割り当て管理型アイデンティティ ⚠️ サポートするユースケース:アプリはユーザー割り当てのマネージドアイデンティティを利用できます。 システム割り当てマネージド ID はサポートされていません。
イメージ取得用のユーザー割り当てマネージド ID ⚠️ サポートされるユースケース:アプリはユーザー割り当てのアイデンティティを使って、サポートされているAzure Container Registryサーバーからイメージを取得できます。
仮想ネットワークの統合 ⚠️ ユースケース対応:アプリは環境サブネットまたはアプリサブネットのいずれかを通じて送信トラフィックを送ることができます。 アプリレベルのネットワーキングには、前述の制限があります。
ボリュームのマウント ⚠️ ユースケース対応:アプリは最大10個の EmptyDir ボリュームをマウントでき、コンテナごとに最大10個のマウントが可能です。 他のボリュームタイプや subPath はサポートされていません。
一時的な保管 ⚠️ ユースケース対応:アプリは一時的なストレージを利用できます。 コンテナと EmptyDir の合計ストレージは、1レプリカあたり40 GiBを超えてはなりません。
エクスプレス環境クオータ ✅ 対応:地域およびグローバルエクスプレス環境の制限が適用されます
ヘルス プローブ ⚠️ サポートされたユースケース:アプリはHTTPおよびTCPヘルスプローブを使用できます。 エグゼックベースのプローブはサポートされていません。
CORS ⚠️ ユースケース対応:公開されたレスポンスヘッダーを除き、CORSは利用可能です。
プライベート エンドポイント ⚠️ サポートするユースケース:Express環境はパブリックネットワークアクセスが無効化されている場合、プライベートエンドポイントを使用できます。

サポートしていません

Expressは以下の機能をサポートしていません:

リージョンの可用性

パブリックプレビュー期間中、Expressは以下のAzureリージョンで利用可能です:

  • オーストラリア東部
  • オーストリア東部
  • ブラジル南部
  • カナダ中部
  • カナダ東部
  • インド中部
  • 米国中部
  • チリ中部
  • 東アジア
  • 米国東部
  • 米国東部 2
  • 米国東部 2 EUAP
  • フランス中部
  • ドイツ中西部
  • インドネシア中部
  • イタリア北部
  • 東日本
  • 西日本
  • JIO インド中部
  • 韓国中部
  • マレーシア西部
  • メキシコ中部
  • ニュージーランド北部
  • 米国中北部
  • 北ヨーロッパ
  • ノルウェー東部
  • ポーランド中部
  • 南アフリカ北部
  • 米国中南部
  • インド南部
  • 東南アジア
  • スペイン中部
  • スウェーデン中部
  • スイス北部
  • スイス西部
  • アラブ首長国連邦北部
  • 英国南部
  • 英国西部
  • 米国中西部
  • 西ヨーロッパ
  • 米国西部
  • 米国西部 2
  • 米国西部 3

次のステップ

Azure CLI