コンテンツにスキップ
Kong Logo | Kong Docs Logo
  • ドキュメント
    • API仕様を確認する
      View all API Specs すべてのAPI仕様を表示 View all API Specs arrow image
    • ドキュメンテーション
      API Specs
      Kong Gateway
      軽量、高速、柔軟なクラウドネイティブAPIゲートウェイ
      Kong Konnect
      SaaSのエンドツーエンド接続のための単一プラットフォーム
      Kong AI Gateway
      GenAI インフラストラクチャ向けマルチ LLM AI Gateway
      Kong Mesh
      Kuma と Envoy をベースにしたエンタープライズサービスメッシュ
      decK
      Kongの構成を宣言型で管理する上で役立ちます
      Kong Ingress Controller
      Kubernetesクラスタ内で動作し、Kongをプロキシトラフィックに設定する
      Kong Gateway Operator
      YAMLマニフェストを使用してKubernetes上のKongデプロイメントを管理する
      Insomnia
      コラボレーティブAPI開発プラットフォーム
  • Plugin Hub
    • Plugin Hubを探索する
      View all plugins すべてのプラグインを表示 View all plugins arrow image
    • 機能性 すべて表示 View all arrow image
      すべてのプラグインを表示
      AI's icon
      AI
      マルチ LLM AI Gatewayプラグインを使用してAIトラフィックを管理、保護、制御する
      認証's icon
      認証
      認証レイヤーでサービスを保護する
      セキュリティ's icon
      セキュリティ
      追加のセキュリティレイヤーでサービスを保護する
      トラフィック制御's icon
      トラフィック制御
      インバウンドおよびアウトバウンドAPIトラフィックの管理、スロットル、制限
      サーバーレス's icon
      サーバーレス
      他のプラグインと組み合わせてサーバーレス関数を呼び出します
      分析と監視's icon
      分析と監視
      APIとマイクロサービストラフィックを視覚化、検査、監視
      変革's icon
      変革
      Kongでリクエストとレスポンスをその場で変換
      ログ記録's icon
      ログ記録
      インフラストラクチャに最適なトランスポートを使用して、リクエストと応答データをログに記録します
  • サポート
  • コミュニティ
  • Kongアカデミー
デモを見る 無料トライアルを開始
Kong Gateway
2.8.x LTS
  • Home icon
  • Kong Gateway
  • Plan And Deploy
  • Hybrid Mode Overview
report-issue問題を報告する
  • Kong Gateway
  • Kong Konnect
  • Kong Mesh
  • Kong AI Gateway
  • Plugin Hub
  • decK
  • Kong Ingress Controller
  • Kong Gateway Operator
  • Insomnia
  • Kuma

  • ドキュメント投稿ガイドライン
  • 3.10.x (latest)
  • 3.9.x
  • 3.8.x
  • 3.7.x
  • 3.6.x
  • 3.5.x
  • 3.4.x (LTS)
  • 3.3.x
  • 2.8.x (LTS)
  • アーカイブ (2.6より前)
  • Introduction
    • Overview of Kong Gateway
    • Version Support Policy
    • Stages of Software Availability
    • Changelog
  • Install and Run
    • Overview
    • Kubernetes
    • Helm
    • OpenShift with Helm
    • Docker
    • Amazon Linux
    • CentOS
    • Debian
    • RHEL
    • Ubuntu
    • Migrating from OSS to EE
    • Upgrade Kong Gateway
    • Upgrade Kong Gateway OSS
    • Upgrade from 2.8 LTS to 3.4 LTS
  • Get Started
    • Quickstart Guide
      • Configuring a Service
      • Configuring a gRPC Service
      • Enabling Plugins
      • Adding Consumers
    • Comprehensive Guide
      • Prepare to Administer
      • Expose your Services
      • Protect your Services
      • Improve Performance
      • Secure Services
      • Set Up Intelligent Load Balancing
      • Manage Administrative Teams
      • Publish, Locate, and Consume Services
  • Plan and Deploy
    • Running Kong as a Non-Root User
    • Resource Sizing Guidelines
    • Hybrid Mode
      • Deploy Kong Gateway in Hybrid Mode
    • Kubernetes Deployment Options
    • Control Kong Gateway through systemd
    • Performance Testing Framework
    • DNS Considerations
    • Default Ports
    • Licenses
      • Access Your License
      • Deploy Your License
      • Monitor License Usage
    • Security
      • Start Kong Gateway Securely
      • Keyring and Data Encryption
      • Kong Security Update Process
      • Secrets Management
        • Getting Started
        • Advanced Usage
        • Backends
          • Environment Variables
          • AWS Secrets Manager
          • GCP Secret Manager
          • HashiCorp Vault
        • Reference Format
  • Configure
    • Authentication and Authorization
      • Authentication Reference
      • OpenID Connect Plugin
        • OpenID Connect with Curity
        • OpenID Connect with Azure AD
        • OpenID Connect with Google
        • OpenID Connect with Okta
        • OpenID Connect with Auth0
        • OpenID Connect with Cognito
        • OpenID Connect Plugin Reference
      • Allowing Multiple Authentication Methods
      • Auth for Kong Manager
        • Create a Super Admin
        • Configure Networking
        • Configure Kong Manager to Send Email
        • Reset Passwords and RBAC Tokens
        • Configure Workspaces
        • Basic Auth
        • LDAP
        • OIDC
        • Sessions
      • Role-based Access Control (RBAC)
        • Add a Role
        • Add a User
        • Add an Admin
      • Mapping LDAP Service Directory Groups to Kong Roles
    • Configure gRPC Plugins
    • GraphQL Quickstart
    • Logging Reference
    • Network and Firewall
  • Dev Portal
    • Overview
    • Enable the Dev Portal
    • Structure and File Types
    • Portal API Documentation
    • Working with Templates
    • Using the Editor
    • Configuration
      • Authentication
        • Basic Auth
        • Key Auth
        • OIDC
        • Sessions
        • Adding Custom Registration Fields
      • SMTP
      • Workspaces
    • Administration
      • Manage Developers
      • Developer Roles and Content Permissions
      • Application Registration
        • Authorization Provider Strategy
        • Enable Application Registration
        • Enable Key Authentication for Application Registration
        • External OAuth2 Support
        • Set up Okta and Kong for external OAuth
        • Set Up Azure AD and Kong for External Authentication
        • Manage Applications
    • Customization
      • Easy Theme Editing
      • Migrating Templates Between Workspaces
      • Markdown Rendering Module
      • Customizing Portal Emails
      • Adding and Using JavaScript Assets
      • Single Page App in Dev Portal
      • Alternate OpenAPI Renderer
    • Helpers CLI
  • Monitor
    • Kong Vitals
      • Metrics
      • Reports
      • Vitals with InfluxDB
      • Vitals with Prometheus
      • Estimate Vitals Storage in PostgreSQL
    • Prometheus plugin
    • Zipkin plugin
  • Reference
    • Admin API
      • DB-less Mode
      • Declarative Configuration
      • Supported Content Types
      • Information Routes
      • Health Routes
      • Tags
      • Service Object
      • Route Object
      • Consumer Object
      • Plugin Object
      • Certificate Object
      • CA Certificate Object
      • SNI Object
      • Upstream Object
      • Target Object
      • Vaults Beta
      • Licenses
        • Licenses Reference
        • Licenses Examples
      • Workspaces
        • Workspaces Reference
        • Workspace Examples
      • RBAC
        • RBAC Reference
        • RBAC Examples
      • Admins
        • API Reference
        • Examples
      • Developers
      • Consumer Groups
        • API Reference
        • Examples
      • Event Hooks
        • Event Hooks Reference
        • Examples
      • Audit Logging
      • Keyring and Data Encryption
      • Securing the Admin API
    • DB-less and Declarative Configuration
    • Configuration Reference
    • CLI Reference
    • Load Balancing Reference
    • Proxy Reference
    • Rate Limiting Library
    • Health Checks and Circuit Breakers Reference
    • Clustering Reference
    • Plugin Development Kit
      • kong.client
      • kong.client.tls
      • kong.cluster
      • kong.ctx
      • kong.ip
      • kong.log
      • kong.nginx
      • kong.node
      • kong.request
      • kong.response
      • kong.router
      • kong.service
      • kong.service.request
      • kong.service.response
      • kong.table
      • kong.vault
    • Plugin Development Guide
      • Introduction
      • File structure
      • Implementing custom logic
      • Plugin configuration
      • Accessing the datastore
      • Storing custom entities
      • Caching custom entities
      • Extending the Admin API
      • Writing tests
      • (un)Installing your plugin
    • Plugins in Other Languages
    • File Permissions Reference
enterprise-switcher-icon 次に切り替える: OSS
On this pageOn this page
  • Benefits
  • Platform Compatibility
    • Kubernetes Support and Additional Documentation
  • Version Compatibility
  • Fault tolerance
    • Disconnected Mode
    • Data plane cache configuration
  • Limitations
    • Configuration Inflexibility
    • Plugin Incompatibility
    • Custom Plugins
    • Load Balancing
  • Readonly Status API endpoints on data plane
  • Keyring encryption in hybrid mode

このページは、まだ日本語ではご利用いただけません。翻訳中です。

旧バージョンのドキュメントを参照しています。 最新のドキュメントはこちらをご参照ください。

Hybrid Mode Overview

Traditionally, Kong has always required a database, to store configured entities such as Routes, Services, and Plugins.

Starting with Kong Gateway 2.1, Kong can be deployed in hybrid mode, also known as control plane / data plane separation (CP/DP).

In this mode, Kong nodes in a cluster are split into two roles: control plane (CP), where configuration is managed and the Admin API is served from; and data plane (DP), which serves traffic for the proxy. Each DP node is connected to one of the CP nodes. Instead of accessing the database contents directly in the traditional deployment method, the DP nodes maintain connection with CP nodes, and receive the latest configuration.

Hybrid mode topology

When you create a new data plane node, it establishes a connection to the control plane. The control plane listens on port 8005 for connections and tracks any incoming data from its data planes.

Once connected, every Admin API or Kong Manager action on the control plane triggers an update to the data planes in the cluster.

Benefits

Hybrid mode deployments have the following benefits:

  • Deployment flexibility: Users can deploy groups of data planes in different data centers, geographies, or zones without needing a local clustered database for each DP group.
  • Increased reliability: The availability of the database does not affect the availability of the data planes. Each DP caches the latest configuration it received from the control plane on local disk storage, so if CP nodes are down, the DP nodes keep functioning.
    • While the CP is down, DP nodes constantly try to reestablish communication.
    • DP nodes can be restarted while the CP is down, and still proxy traffic normally.
  • Traffic reduction: Drastically reduces the amount of traffic to and from the database, since only CP nodes need a direct connection to the database.
  • Increased security: If one of the DP nodes is compromised, an attacker won’t be able to affect other nodes in the Kong cluster.
  • Ease of management: Admins only need to interact with the CP nodes to control and monitor the status of the entire Kong cluster.

Platform Compatibility

You can run Kong Gateway in hybrid mode on any platform where Kong Gateway is supported.

Kubernetes Support and Additional Documentation

Kong Gateway on Kubernetes fully supports hybrid mode deployments, with or without the Kong Ingress Controller.

For the full Kubernetes hybrid mode documentation, see hybrid mode in the kong/charts repository.

Version Compatibility

Kong Gateway control planes only allow connections from data planes with the same major version. Control planes won’t allow connections from data planes with newer minor versions.

For example, a Kong Gateway v2.5.2 control plane:

  • Accepts a Kong Gateway 2.5.0, 2.5.1 and 2.5.2 data plane.
  • Accepts a Kong Gateway 2.3.8, 2.2.1 and 2.2.0 data plane.
  • Accepts a Kong Gateway 2.5.3 data plane (newer patch version on the data plane is accepted).
  • Rejects a Kong Gateway 1.0.0 data plane (major version differs).
  • Rejects a Kong Gateway 2.6.0 data plane (minor version on data plane is newer).

Furthermore, for every plugin that is configured on the Kong Gateway control plane, new configs are only pushed to data planes that have those configured plugins installed and loaded. The major version of those configured plugins must be the same on both the control planes and data planes. Also, the minor versions of the plugins on the data planes can not be newer than versions installed on the control planes. Similar to Kong Gateway version checks, plugin patch versions are also ignored when determining compatibility.

Configured plugins means any plugin that is either enabled globally or configured by services, routes, or consumers.

For example, if a Kong Gateway control plane has plugin1 v1.1.1 and plugin2 v2.1.0 installed, and plugin1 is configured by a Route object:

  • It accepts Kong Gateway data planes with plugin1 v1.1.2, plugin2 not installed.
  • It accepts Kong Gateway data planes with plugin1 v1.1.2, plugin2 v2.1.0, and plugin3 v9.8.1 installed.
  • It accepts Kong Gateway data planes with plugin1 v1.1.1 and plugin3 v9.8.1 installed.
  • It rejects Kong Gateway data planes with plugin1 v1.2.0, plugin2 v2.1.0 installed (minor version of plugin on data plane is newer).
  • It rejects Kong Gateway data planes with plugin1 not installed (plugin configured on control plane but not installed on data plane).

Version compatibility checks between the control plane and data plane occur at configuration read time. As each data plane proxy receives configuration updates, it checks to see if it can enable the requested features. If the control plane has a newer version of Kong Gateway than the data plane proxy, but the configuration doesn’t include any new features from that newer version, the data plane proxy reads and applies it as expected.

For instance, a new version of Kong Gateway includes a new plugin offering, and you update your control plane with that version. You can still send configurations to your data planes that are on a less recent version as long as you have not added the new plugin offering to your configuration. If you add the new plugin to your configuration, you will need to update your data planes to the newer version for the data planes to continue to read from the control plane.

If the compatibility checks fail, the control plane stops pushing out new config to the incompatible data planes to avoid breaking them.

If a config can not be pushed to a data plane due to failure of the compatibility checks, the control plane will contain warn level lines in the error.log similar to the following:

unable to send updated configuration to DP node with hostname: localhost.localdomain ip: 127.0.0.1 reason: version mismatches, CP version: 2.2 DP version: 2.1
unable to send updated configuration to DP node with hostname: localhost.localdomain ip: 127.0.0.1 reason: CP and DP does not have same set of plugins installed or their versions might differ

In addition, the /clustering/data-planes Admin API endpoint returns the version of the data plane node and the latest config hash the node is using. This data helps detect version incompatibilities from the control plane side.

Fault tolerance

If control plane nodes are down, the data plane will keep functioning. Data plane caches the latest configuration it received from the control plane on the local disk. In case the control plane stops working, the data plane will keep serving requests using cached configurations. It does so while constantly trying to reestablish communication with the control plane.

This means that the data plane nodes can be stopped even for extended periods of time, and the data plane will still proxy traffic normally. Data plane nodes can be restarted while in disconnected mode, and will load the last configuration in the cache to start working. When the control plane is brought up again, the data plane nodes will contact them and resume connected mode.

Disconnected Mode

The viability of the data plane while disconnected means that control plane updates or database restores can be done with peace of mind. First bring down the control plane, perform all required downtime processes, and only bring up the control plane after verifying the success and correctness of the procedure. During that time, the data plane will keep working with the latest configuration.

A new data plane node can be provisioned during control plane downtime. This requires either copying the config cache file (config.json.gz) from another data plane node, or using a declarative configuration. In either case, if it has the role of "data_plane", it will also keep trying to contact the control plane until it’s up again.

To change a disconnected data plane node’s configuration, you have to remove the config cache file (config.json.gz), ensure the declarative_config parameter or the KONG_DECLARATIVE_CONFIG environment variable is set, and set the whole configuration in the referenced YAML file.

Data plane cache configuration
Available with Kong Gateway Enterprise subscription - Contact Sales

By default, data planes store their configuration to the file system in an unencrypted cache file, config.json.gz, in Kong Gateway’s prefix path. You can also choose to encrypt this cache, or disable it entirely.

If encrypted, the data plane uses the cluster certificate key to decrypt the configuration cache on startup.

See data_plane_config_cache_mode and data_plane_config_cache_path.

Limitations

Configuration Inflexibility

When a configuration change is made at the control plane level via the Admin API, it immediately triggers a cluster-wide update of all data plane configurations. This means that the same configuration is synced from the CP to all DPs, and the update cannot be scheduled or batched. For different DPs to have different configurations, they will need their own CP instances.

Plugin Incompatibility

When plugins are running on a data plane in hybrid mode, there is no Admin API exposed directly from that DP. Since the Admin API is only exposed from the control plane, all plugin configuration has to occur from the CP. Due to this setup, and the configuration sync format between the CP and the DP, some plugins have limitations in hybrid mode:

  • Key Auth Encrypted: The time-to-live setting (ttl), which determines the length of time a credential remains valid, does not work in hybrid mode.
  • Rate Limiting Advanced: This plugin does not support the cluster strategy in hybrid mode. The redis strategy must be used instead.
  • OAuth 2.0 Authentication: This plugin is not compatible with hybrid mode. For its regular workflow, the plugin needs to both generate and delete tokens, and commit those changes to the database, which is not possible with CP/DP separation.

Custom Plugins

Custom plugins (either your own plugins or third-party plugins that are not shipped with Kong) need to be installed on both the control plane and the data plane in hybrid mode.

Load Balancing

Currently, there is no automated load balancing for connections between the control plane and the data plane. You can load balance manually by using multiple control planes and redirecting the traffic using a TCP proxy.

Readonly Status API endpoints on data plane

Several readonly endpoints from the Admin API are exposed to the Status API on data planes, including the following:

  • GET /upstreams/{upstream}/targets/
  • GET /upstreams/{upstream}/health/
  • GET /upstreams/{upstream}/targets/all/
  • GET /upstreams/{upstream}/targets/{target}

Please refer to Upstream objects in the Admin API documentation for more information about the endpoints.

Keyring encryption in hybrid mode

Because the keyring module encrypts data in the database, it can’t encrypt data on data plane nodes, since these nodes run without a database and get data from the control plane.

Thank you for your feedback.
Was this page useful?
情報が多すぎる場合 close cta icon
Kong Konnectを使用すると、より多くの機能とより少ないインフラストラクチャを実現できます。月額1Mリクエストが無料。
無料でお試しください
  • Kong
    APIの世界を動かす

    APIマネジメント、サービスメッシュ、イングレスコントローラーの統合プラットフォームにより、開発者の生産性、セキュリティ、パフォーマンスを大幅に向上します。

    • 製品
      • Kong Konnect
      • Kong Gateway Enterprise
      • Kong Gateway
      • Kong Mesh
      • Kong Ingress Controller
      • Kong Insomnia
      • 製品アップデート
      • 始める
    • ドキュメンテーション
      • Kong Konnectドキュメント
      • Kong Gatewayドキュメント
      • Kong Meshドキュメント
      • Kong Insomniaドキュメント
      • Kong Konnect Plugin Hub
    • オープンソース
      • Kong Gateway
      • Kuma
      • Insomnia
      • Kongコミュニティ
    • 会社概要
      • Kongについて
      • お客様
      • キャリア
      • プレス
      • イベント
      • お問い合わせ
  • 利用規約• プライバシー• 信頼とコンプライアンス
© Kong Inc. 2025