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 に関連するこれらの主要な概念を示しています。
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
Azure Container Apps には、次の "安定した" Dapr API (構成要素) のフル マネージド バージョンが用意されています。 アルファ API と機能の使用について詳しくは、Dapr に関する FAQ をご覧ください。
Dapr API | 説明 |
---|---|
サービス間の呼び出し | 自動 mTLS 認証と暗号化を使用して、サービスを検出し、信頼性の高いサービス間呼び出しを実行します。 Azure Container Apps での Dapr サービス呼び出しに関する既知の制限事項を参照してください。 |
状態管理 | トランザクションと CRUD 操作の状態管理機能を提供します。 |
pub/sub | パブリッシャーとサブスクライバーのコンテナー アプリが中間メッセージ ブローカーを介して相互通信できるようにします。 外部コンポーネントの JSON ファイルを使用して、トピックへの宣言型サブスクリプションを作成することもできます。 宣言型 pub/sub API の詳細を確認します。 |
バインド | イベントに基づいてアプリケーションをトリガーする |
アクター | Dapr のアクターは、迅速にスケーリングするように設計された、メッセージ駆動型のシングル スレッドの作業単位です。 たとえば、ワークロードにバーストが多い状況などです。 |
可観測性 | Application Insights バックエンドにトレース情報を送信します。 |
シークレット | アプリケーション コードからシークレットにアクセスするか、Dapr コンポーネントのセキュリティで保護された値を参照します。 |
Configuration | サポートされている構成ストアのアプリケーション構成項目を取得してサブスクライブします。 |
制限事項
- Dapr 構成仕様: Dapr 構成仕様を使用する必要があるすべての機能。
- Dapr 有効化ガイドに記載されていない Dapr サイドカーの注釈
- アルファ API とコンポーネント: Azure Container Apps では、Dapr アルファ API と機能の可用性は保証されません。 詳細については、Dapr の FAQ に関する記事をご覧ください。
- アクターのリマインダー: リマインダーが常にアクティブになり、正しく起動されるためには、1 以上の minReplicas が必要です。
- ジョブ: ジョブでは、Dapr はサポートされていません。