適用対象: 開発者 | プレミアム
この記事では、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を通じて ローカル指標の収集 を有効にしてください。 価値は以下の選択肢の一つです: none、 statsd。 |
いいえ | N/A |
telemetry.metrics.localStatsd.endpoint |
StatsDエンドポイント。 |
telemetry.metrics.localがstatsdに設定されている場合は可能ですが、そうでなければいいえです。 |
N/A |
telemetry.metrics.localStatsd.sampling |
StatsDの指標サンプリング率。 値は0から1の間でなければなりません。例えば0.5です。 | いいえ | N/A |
telemetry.metrics.localStatsd.tagFormat |
StatsD エクスポーターのタグ付け形式。 価値は以下の選択肢の一つです: librato、 dogStatsD、 influxDB。 |
いいえ | N/A |
telemetry.metrics.opentelemetry.enabled |
Kubernetes上の OpenTelemetryコレクタへのメトリムのエミット を有効化するかどうかの指示。 | いいえ | false |
telemetry.metrics.opentelemetry.collector.uri |
OpenTelemetryコレクタのURIを使ってメトリクスを送信します。 |
observability.opentelemetry.enabledがtrueに設定されている場合は可能ですが、そうでなければいいえです。 |
N/A |
Logs
| 名前 | Description | 必須 | Default |
|---|---|---|---|
telemetry.logs.std |
標準ストリームへのログログを有効にしてください。 価値は以下の選択肢の一つです: none、 text、 json。 |
いいえ | text |
telemetry.logs.local |
ローカルログを有効にしてください。 価値は以下の選択肢のいずれかです: none、 auto、 localsyslog、 rfc5424、 journal、 json |
いいえ | auto |
telemetry.logs.localConfig.localsyslog.endpoint |
ローカルsyslogのエンドポイント |
telemetry.logs.localがlocalsyslogに設定されている場合は可能ですが、そうでなければいいえです。 |
N/A |
telemetry.logs.localConfig.localsyslog.facility |
例えば、7 などのローカルシスログ施設コードを指定しています。 |
いいえ | N/A |
telemetry.logs.localConfig.rfc5424.endpoint |
RFC5424エンドポイント。 |
telemetry.logs.localがrfc5424に設定されている場合は可能ですが、そうでなければいいえです。 |
N/A |
telemetry.logs.localConfig.rfc5424.facility |
例えば 、RFC5424による施設コードは、 7 |
いいえ | N/A |
telemetry.logs.localConfig.journal.endpoint |
ジャーナルのエンドポイント。 |
telemetry.logs.localがjournalに設定されている場合は可能ですが、そうでなければいいえです。 |
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 |