Dapr は、ランタイム コンテキストに基づいてさまざまな引数と注釈を使用して構成できます。 Azure Container Apps で使用できる Dapr 構成は、 アプリケーション スコープの 変更と見なされます。 複数リビジョン モードでコンテナー アプリを実行すると、これらの設定を変更しても新しいリビジョンは作成されません。 代わりに、既存のすべてのリビジョンが再起動されて、最新の値で確実に構成されます。
Azure Container Apps には、Dapr を有効にして構成できる 3 つのチャネルが用意されています。
- Azure CLI
- Bicep や Azure Resource Manager (ARM) テンプレートなどのコードとしてのインフラストラクチャ (IaC) テンプレート
- Azure ポータル
次の表は、現在サポートされている Azure Container Apps で Dapr を有効にするための Dapr サイドカー構成の一覧を示しています。
コンテナアプリケーション コマンドライン インターフェース (CLI) | [テンプレート] フィールド | 説明 |
---|---|---|
--enable-dapr |
dapr.enabled |
コンテナー アプリで Dapr を有効にします。 |
--dapr-app-port |
dapr.appPort |
アプリケーションと通信するために Dapr によって使われる、アプリケーションがリッスンしているポート |
--dapr-app-protocol |
dapr.appProtocol |
アプリケーションで使用しているプロトコルを Dapr に伝えます。 有効なオプションは http または grpc です。 既定の設定は http です。 |
--dapr-app-id |
dapr.appId |
サービス検出、状態のカプセル化、および pub/sub コンシューマー ID に使用される、コンテナー アプリに対する一意の Dapr 識別子。 |
--dapr-max-request-size |
dapr.httpMaxRequestSize |
大きなファイルのアップロードを処理する要求本文の http サーバーと grpc サーバーの最大サイズを設定します。 既定の設定は 4 MB です。 |
--dapr-read-buffer-size |
dapr.httpReadBufferSize |
マルチ KB ヘッダーの送信時に処理する HTTP ヘッダー読み取りバッファーの最大サイズを設定します。 既定の設定は 4 KB です。 |
--dapr-api-logging |
dapr.enableApiLogging |
アプリケーションから Dapr サイドカーへの API 呼び出しを表示できるようにします。 |
--dapr-log-level |
dapr.logLevel |
Dapr サイドカーのログ レベルを設定します。 使用できる値は、debug、error、info、warn です。 既定の設定は info です。 |
--dapr-app-health-enabled |
dapr.appHealth.enabled |
ブール形式を使用してコンテナー アプリのアプリの正常性チェックを有効にするオプションの構成。 既定の設定は false です。 |
--dapr-app-health-path |
dapr.appHealth.path |
アプリ チャネルが HTTP の場合に、Dapr が正常性プローブに対して呼び出すパスを設定します。 アプリ チャネルが gRPC を使用している場合、この値は無視されます。 既定の設定は /healthz です。 |
--dapr-app-health-probe-interval |
dapr.appHealth.probeIntervalSeconds |
各ヘルスチェック間の秒数。 既定の設定は 3 です。 |
--dapr-app-health-probe-timeout |
dapr.appHealth.probeTimeoutMilliseconds |
正常性プローブ要求のタイムアウト (ミリ秒単位)。 この値は、 probeIntervalSeconds 値より小さくする必要があります。 既定の設定は 500 です。 |
--dapr-app-health-threshold |
dapr.appHealth.threshold |
アプリが異常と見なされるまでの連続するエラーの最大数。 既定の設定は 3 です。 |
--dapr-max-concurrency |
dapr.maxConcurrency |
アプリケーションのコンカレンシーを制限します。 有効な値は、 0 より大きい任意の数です。
-1 は、コンカレンシーに制限がないことを意味します。 |
CLI を使用する
Azure CLI を使用して、コンテナー アプリで Dapr を有効にできます。
az containerapp dapr enable
詳細と例については、リファレンス ドキュメントを参照してください。
Bicep または ARM の使用
IaC テンプレートを使用する場合は、コンテナー アプリ リソース定義の properties.configuration
セクションで、次の引数を指定します。
dapr: {
enabled: true
appId: 'nodeapp'
appProtocol: 'http'
appPort: 3000
httpReadBufferSize: 30
httpMaxRequestSize: 10
logLevel: 'debug'
enableApiLogging: true
appHealth: {
enabled: true
path: '/health'
probeIntervalSeconds: 3
probeTimeoutMilliseconds: 1000
threshold: 3
},
maxConcurrency: 10
}
Azure Portal の使用
コンテナー アプリのポータル ビューを介して Dapr を有効にすることもできます。
注
開始する前に、独自の Dapr コンポーネントの作成が既に完了していることを確認します。 ポータルのコンテナー アプリ環境を介して Dapr コンポーネントを接続できます。
Azure portal でコンテナー アプリに移動し、左側のメニューの [設定] で [Dapr] を選択します。
既定では、Dapr は無効になっています。 [有効] を選択して Dapr 設定を展開します。
コンポーネントのアプリ ID を入力し、適切な見出しを選択します。 該当する場合は、[コンポーネント] ヘッダーの下でリンクを選択して Dapr コンポーネントをコンテナー アプリ環境に追加して管理します。