次の方法で共有


Azure Container Apps との Dapr 統合

分散型アプリケーション ランタイム (Dapr) には、シンプルで移植性、回復性があり、セキュリティで保護されたマイクロサービスを記述して実装するのに役立つ、サイドカー プロセスとして実行される API が用意されています。 Dapr は、Azure Container Apps と抽象化レイヤーとして連携して、メンテナンスが少なく、サーバーレスでスケーラブルなプラットフォームを提供します。 コンテナー アプリで Dapr を有効にすると、アプリケーション コードと共にセカンダリ プロセスが作成されます。これにより、HTTP または gRPC 経由での Dapr とのアプリケーション通信が簡略化されます。

Azure Container Apps の Dapr

Dapr 対応コンテナー アプリソリューション 用に構成されたDapr コンポーネント、それらの間の通信を呼び出す Dapr サイドカーを使用して、コンテナー アプリ環境用の Dapr を構成します。 次の図は、Azure Container Apps での Dapr に関連するこれらの主要な概念を示しています。

Dapr の pub/sub およびそれが Container Apps 内でどのように動作するかを示す図。

Label Dapr 設定 説明
1 Dapr が有効になっている Container Apps Dapr は、Dapr の一連の引数を構成することで、コンテナー アプリ レベルで有効になります。 これらの値は、複数のリビジョン モードで実行されている場合に、特定のコンテナー アプリのすべてのリビジョンに適用されます。
2 Dapr Dapr のフル マネージド API は、Dapr サイドカーを介して各コンテナー アプリに公開されます。 Dapr API は、HTTP または gRPC を介してコンテナー アプリから呼び出すことができます。 Dapr サイドカーは、HTTP ポート 3500 と gRPC ポート 50001 で実行されます。
3 Dapr コンポーネントの構成 Dapr では、機能がコンポーネントとして提供されるモジュール設計を使用します。 Dapr コンポーネントは、複数のコンテナー アプリ間で共有できます。 スコープ配列で提供される Dapr アプリ識別子によって、実行時に特定のコンポーネントを読み込む Dapr 対応コンテナー アプリが決まります。

サポートされている Dapr API、コンポーネント、ツール

マネージド API

Azure Container Apps では、一般公開されているマネージド Dapr API (構成要素) が提供されます。 これらの API はフル マネージドであり、運用環境での使用がサポートされています。

"アルファ版" Dapr API と機能の使用について詳しくは、Dapr に関する FAQ を参照してください

Dapr API を示す図。

API 状態 説明
サービス間の呼び出し GA 自動 mTLS 認証と暗号化を使用して、サービスを検出し、信頼性の高いサービス間呼び出しを実行します。 Azure Container Apps での Dapr サービス呼び出しに関する既知の制限事項を参照してください。
状態管理 GA トランザクションと CRUD 操作の状態管理機能を提供します。
pub/sub GA パブリッシャーとサブスクライバーのコンテナー アプリが中間メッセージ ブローカーを介して相互通信できるようにします。 外部コンポーネントの JSON ファイルを使って、トピックへの宣言型サブスクリプションを作成することもできます。 宣言型 pub/sub API の詳細を確認します。
バインド GA イベントに基づいてアプリケーションをトリガーする
アクター GA Dapr のアクターは、迅速にスケーリングするように設計された、メッセージ駆動型のシングル スレッドの作業単位です。 たとえば、ワークロードにバーストが多い状況などです。
可観測性 GA Application Insights バックエンドにトレース情報を送信します。
シークレット GA アプリケーション コードからシークレットにアクセスするか、Dapr コンポーネントのセキュリティで保護された値を参照します。
Configuration GA サポートされている構成ストアのアプリケーション構成項目を取得してサブスクライブします。

レベル 1 とレベル 2 のコンポーネント

AKS および Arc 対応 Kubernetes 用の Dapr 拡張機能については、Dapr コンポーネントのサブセットがサポートされています。 そのサブセット内で、Dapr コンポーネントはレベル 1 またはレベル 2 の 2 つのサポート カテゴリに分かれます。

  • レベル 1 コンポーネント: クリティカルな (セキュリティまたは重大な回帰) シナリオですぐに調査を受ける安定したコンポーネント。 それ以外の場合、Microsoft はオープンソースと共同で作業し、修正プログラムまたは次回の通常リリースで対処します。
  • レベル 2 コンポーネント: 安定した状態ではないか、サード パーティのプロバイダーに関するものであるため、低い優先順位で調査されるコンポーネント。
レベル 1 のコンポーネント
API コンポーネント Type
状態管理 Azure Blob Storage v1
Azure Table Storage
Microsoft SQL Server
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
パブリッシュとサブスクライブ Azure Service Bus キュー
Azure Service Bus トピック
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
バインド Azure Storage キュー
Azure Service Bus キュー
Azure Blob Storage
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
レベル 2 のコンポーネント
API コンポーネント Type
状態管理 Azure Cosmos DB
PostgreSQL
MySQL、MariaDB
Redis
state.azure.cosmosdb
state.postgresql
state.mysql
state.redis
パブリッシュとサブスクライブ Apache Kafka
Redis Streams
pubsub.kafka
pubsub.redis
バインド Azure Event Grid
Azure Cosmos DB
Apache Kafka
PostgreSQL
Redis
Cron
bindings.azure.eventgrid
bindings.azure.cosmosdb
bindings.kafka
bindings.postgresql
bindings.redis
bindings.cron
構成 PostgreSQL
Redis
bindings.postgresql
bindings.redis

ツール

Azure Container Apps では、SDK や CLI などの Dapr オープン ソース ツールとの互換性が保証されます。

制限事項

  • Dapr 構成仕様: Dapr 構成仕様を使用する必要があるすべての機能。
  • Dapr 有効化ガイドに記載されていない Dapr サイドカーの注釈
  • API とコンポーネントのサポート: この記事で GA、Tier 1、または Tier 2 としてリストされている Dapr API とコンポーネントのみが Azure Container Apps でサポートされます。
  • アクターのリマインダー: リマインダーが常にアクティブになり、正しく起動されるためには、1 以上の minReplicas が必要です。
  • ジョブ: ジョブでは、Dapr はサポートされていません。

次のステップ