Reference: Self-hosted gateway Azure Arc configuration settings

適用対象: 開発者 | プレミアム

この記事では、Azure Arc extension for API Management のセルフホスティングゲートウェイコンテナを設定するための必要およびオプションの設定に関する参考資料を提供します。

Important

Azure Arc での API Management セルフホステッド ゲートウェイは、現在プレビュー段階です。 プレビュー期間中、API Management ゲートウェイ拡張機能は次のリージョンで使用できます。

  • アジア (東部、南東部)
  • オーストラリア (中部、中部 2、東部、南東部)
  • ブラジル (南部と南東部)
  • カナダ (中部、東部)
  • ヨーロッパ (北部、西部)
  • フランス (中部と南部)
  • ドイツ (北部と西中部)
  • インド (中部、南、西、ジオ中央、ジオ西)
  • 日本 (東部と西部)
  • 韓国 (中部と南部)
  • ノルウェー (東部と西部)
  • 南アフリカ (北部と西部)
  • スウェーデン (中部)
  • スイス (北部と西部)
  • アラブ首長国連邦 (UAE - 中部と北部)
  • イギリス (UK -南部)
  • 米国 (US - 中部、中部 EUAP、東部、東部 2、東部 2 EUAP、北中部、南中部、西中部、西部、西部 2、西部 3)

構成API統合

セルフホスト型ゲートウェイはConfiguration APIを使ってAzure API Managementに接続し、有効時には最新の設定を取得し、メトリクスを送信します。

以下はすべての設定オプションの概要です:

名前 Description 必須 Default
gateway.configuration.uri Azure API Management for the self-hosted gateway for the self-hosted gateway in Configuration endpoint. この値はAzureポータルの「ゲートウェイ>デプロイメント」で見つけてください。 はい N/A
gateway.auth.token Azure API Managementサービスで認証するための認証キー。 通常、GatewayKey で始まります。 はい N/A
gateway.configuration.backup.enabled 有効化されている場合、ダウンロードした最新の構成のバックアップコピーをストレージボリュームに保存します。 いいえ false
gateway.configuration.backup.persistentVolumeClaim.accessMode 持続ボリュームクレーム(PVC)ポッドのアクセスモード。 いいえ ReadWriteMany
gateway.configuration.backup.persistentVolumeClaim.size 永続ボリュームクレーム(PVC)を作成するサイズ。 いいえ 50Mi
gateway.configuration.backup.persistentVolumeClaim.storageClassName 永続ボリュームクレーム(PVC)で使用するストレージクラス名。 値(null)を割り当てない場合、プラットフォームはデフォルトを使います。 指定されたストレージクラスは ReadWriteMany アクセスモードをサポートする必要があります。 対応ボリュームプロバイダーおよび対応アクセスモードについて詳しく学びましょう。 いいえ null

クロスインスタンスの発見と同期

名前 Description 必須 Default
service.instance.heartbeat.port セルフホスト型ゲートウェイ展開のインスタンスが他のインスタンスにハートビートを送信するために使うUDPポートです。 いいえ 4291
service.instance.synchronization.port セルフホストゲートウェイインスタンスが複数のインスタンス間でレート制限を同期するために使用するUDPポートです。 いいえ 4290

Metrics

名前 Description 必須 Default
telemetry.metrics.cloud Azure Monitorにメトリクスを発するかどうかを示す。 いいえ true
telemetry.metrics.local StatsDを通じて ローカル指標の収集 を有効にしてください。 価値は以下の選択肢の一つです: nonestatsd いいえ N/A
telemetry.metrics.localStatsd.endpoint StatsDエンドポイント。 telemetry.metrics.localstatsdに設定されている場合は可能ですが、そうでなければいいえです。 N/A
telemetry.metrics.localStatsd.sampling StatsDの指標サンプリング率。 値は0から1の間でなければなりません。例えば0.5です。 いいえ N/A
telemetry.metrics.localStatsd.tagFormat StatsD エクスポーターのタグ付け形式。 価値は以下の選択肢の一つです: libratodogStatsDinfluxDB いいえ N/A
telemetry.metrics.opentelemetry.enabled Kubernetes上の OpenTelemetryコレクタへのメトリムのエミット を有効化するかどうかの指示。 いいえ false
telemetry.metrics.opentelemetry.collector.uri OpenTelemetryコレクタのURIを使ってメトリクスを送信します。 observability.opentelemetry.enabledtrueに設定されている場合は可能ですが、そうでなければいいえです。 N/A

Logs

名前 Description 必須 Default
telemetry.logs.std 標準ストリームへのログログを有効にしてください。 価値は以下の選択肢の一つです: nonetextjson いいえ text
telemetry.logs.local ローカルログを有効にしてください。 価値は以下の選択肢のいずれかです: noneautolocalsyslogrfc5424journaljson いいえ auto
telemetry.logs.localConfig.localsyslog.endpoint ローカルsyslogのエンドポイント telemetry.logs.locallocalsyslogに設定されている場合は可能ですが、そうでなければいいえです。 N/A
telemetry.logs.localConfig.localsyslog.facility 例えば、7 などのローカルシスログ施設コードを指定しています。 いいえ N/A
telemetry.logs.localConfig.rfc5424.endpoint RFC5424エンドポイント。 telemetry.logs.localrfc5424に設定されている場合は可能ですが、そうでなければいいえです。 N/A
telemetry.logs.localConfig.rfc5424.facility 例えば 、RFC5424による施設コードは、 7 いいえ N/A
telemetry.logs.localConfig.journal.endpoint ジャーナルのエンドポイント。 telemetry.logs.localjournalに設定されている場合は可能ですが、そうでなければいいえです。 N/A

トラフィックのルーティング

名前 Description 必須 Default
service.type ゲートウェイを公開するために使うKubernetesサービスの種類。 (Kubernetesサービスの種類) いいえ ClusterIP
service.http.port HTTPトラフィックを公開するためのポート。 いいえ 8080
service.http.nodePort ノード上のポートをHTTPトラフィックの公開に使います。 この設定では、サービスタイプとして NodePort が必要です。 いいえ N/A
service.https.port HTTPSトラフィックを公開するためのポート。 いいえ 8081
service.https.nodePort HTTPSトラフィックを公開するためにノード上のポートを設置します。 この設定では、サービスタイプとして NodePort が必要です。 いいえ N/A
service.annotations ゲートウェイ用のKubernetesサービスに追加するための注釈。 いいえ N/A
ingress.annotations ゲートウェイ用のKubernetes Ingressに追加するための注釈。 (実験的なKubernetes Ingressサポート) いいえ N/A
ingress.enabled Kubernetes Ingressを使うかどうかの指標。 (実験的なKubernetes Ingressサポート) いいえ false
ingress.tls Kubernetes IngressのTLS設定。 (実験的なKubernetes Ingressサポート) いいえ N/A
ingress.hosts Kubernetes Ingressで使用するホストの設定について。 (実験的なKubernetes Ingressサポート) いいえ N/A

Integrations

セルフホスト型ゲートウェイは、さまざまな他の技術と統合されます。 このセクションでは、使用できる設定オプションの概要を提供します。

Dapr

名前 Description 必須 Default
dapr.enabled DAPR統合を使うかどうかを示します。 いいえ false
dapr.app.id DAPR統合に使うアプリケーションID。 いいえ None
dapr.config どの設定をCRDのDAPRが使うべきかを定義します。 いいえ tracing
dapr.logging.level Daprサイドカーのログの冗長度のレベル。 いいえ info
dapr.logging.useJsonOutput ログがJSON形式であるかどうかを示します。 いいえ true

Azure Monitor

名前 Description 必須 Default
monitoring.customResourceId ログを送信するためのAzure Log AnalyticsワークスペースのリソースID。 いいえ N/A
monitoring.ingestionKey Azure Log Analytics ワークスペースで認証し、ログを送信するためのインゲスションキー。 いいえ N/A
monitoring.workspaceId ログを送信するためのAzure Log AnalyticsワークスペースのWorkspace IDです。 いいえ N/A

画像およびワークロードスケジューリング

Kubernetesは、何を展開し、どのようにスケジュールすべきかに大きな柔軟性を持つ強力なオーケストレーションプラットフォームです。

このセクションでは、使用される画像に影響を与えるための利用可能な設定オプションの概要、画像がどのように自己修復されるか、どのようにスケジュールされ設定されるかを説明します。

名前 Description 必須 Default
replicaCount セルフホストゲートウェイのインスタンス数を実行。 いいえ 3
image.repository イメージを流す。 いいえ mcr.microsoft.com/azure-api-management/gateway
image.pullPolicy コンテナ画像を取得するためのポリシー。 いいえ IfNotPresent
image.tag コンテナイメージタグを使う。 いいえ 拡張機能はアプリ版で使用されています
imagePullSecrets コンテナイメージを取得する際にコンテナレジストリで認証するためのKubernetesシークレット。 いいえ N/A
probes.readiness.httpGet.path コンテナの準備プローブに使用されるURIパス いいえ /status-0123456789abcdef
probes.readiness.httpGet.port コンテナのライブネスプローブ用ポート いいえ http
probes.liveness.httpGet.path コンテナのライブネスプローブに使用するURIパス いいえ /status-0123456789abcdef
probes.liveness.httpGet.port コンテナのライブネスプローブ用ポート いいえ http
highAvailability.enabled ゲートウェイがクラスタ内で高可用性にスケジュールされるべきかどうかの指標。 いいえ false
highAvailability.disruption.maximumUnavailable 自主的な中断により利用不可とされるポッドの数。 いいえ 25%
highAvailability.podTopologySpread.whenUnsatisfiable 要件が満たせない場合に備えて、ノード間でポッドをどのように分散させるべきかを示すこと。 詳細はKubernetesのドキュメントをご覧ください いいえ ScheduleAnyway
resources ゲートウェイに割り当てるCPU/メモリリソースを定義する機能 いいえ N/A
nodeSelector ゲートウェイが動作すべきノードをセレクターで特定できる機能。 いいえ N/A
affinity Affinity for pod scheduling (Kubernetes node affinity) いいえ N/A
tolerations ポッドスケジューリングの許容範囲(Kubernetesの汚染と許容) いいえ N/A