コンテンツにスキップ
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
3.8.x
  • Home icon
  • Kong Gateway
  • Upgrade
  • Kong Gatewayのアップグレード
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より前)
  • はじめに
    • Kong Gatewayの概要
    • サポート
      • バージョンサポートポリシー
      • サードパーティの依存関係
      • ブラウザサポート
      • 脆弱性パッチ適用プロセス
      • ソフトウェア部品表
    • 安定性
    • リリースノート
    • 破壊的な変更
      • Kong Gateway 3.8.x
      • Kong Gateway 3.7.x
      • Kong Gateway 3.6.x
      • Kong Gateway 3.5.x
      • Kong Gateway 3.4.x
      • Kong Gateway 3.3.x
      • Kong Gateway 3.2.x
      • Kong Gateway 3.1.x
      • Kong Gateway 3.0.x
      • Kong Gateway 2.8.x 以前
    • キーコンセプト
      • サービス
      • ルート
      • コンシューマ
      • アップストリーム
      • プラグイン
      • コンシューマグループ
    • How Kong Works
      • ルーティングトラフィック
      • ロードバランシング
      • ヘルスチェックとサーキットブレーカ
    • 用語集
  • Kong を始めよう
    • Kong をゲットする
    • サービスとルート
    • レート制限
    • プロキシキャッシュ
    • キー認証
    • ロードバランシング
  • コングをインストールする
    • 概要
    • Kubernetes
      • 概要
      • Kong Gatewayをインストール
      • Admin API
      • Kong Manager をインストールする
    • Docker
      • docker run を使用する
      • 独自の Docker イメージをビルドする
    • Linux
      • Amazon Linux
      • Debian
      • Red Hat
      • Ubuntu
    • インストール後
      • データストアを設定
      • エンタープライズライセンスを適用
      • Kong Managerを有効にする
  • Kong in production
    • 展開のトポロジーズ
      • 概要
      • ハイブリッドモード
        • 概要
        • ハイブリッドモードでKong Gatewayをデプロイする
      • DB-lessデプロイ
      • 繁体字版
    • Running Kong
      • non-rootユーザーとしてKongを実行しています
      • 管理者 API の保護
      • systemdの使用
    • アクセスコントロール
      • コングゲートウェイを安全に開始
      • プログラムによる管理者の作成
      • RBAC を有効にする
    • ライセンス
      • 概要
      • ライセンスをダウンロード
      • エンタープライズライセンスのデプロイ
      • ライセンスAPIの使用
      • ライセンス使用状況をモニターする
    • ネットワーク
      • デフォルトのポート
      • DNSに関する考察
      • ネットワークとファイアウォール
      • CP/DP Communication through a Forward Proxy
      • PostgreSQL TLS
        • PostgreSQL TLS の設定
        • PostgreSQL TLS のトラブルシューティング
    • Kongの設定ファイル
    • 環境変数
    • KongからウェブサイトとAPIを提供する
    • モニタリング
      • 概要
      • Prometheus
      • StatsD
      • Datadog
      • ヘルスチェックプローブ
      • AIメトリクスを公開してグラフ
    • トレース
      • 概要
      • カスタム・トレース・エクスポーターの作成
      • トレースAPIリファレンス
    • リソースサイズのガイドライン
    • セキュリティアップデートプロセス
    • ブルー・グリーンの展開
    • カナリアのデプロイ
    • クラスタリングリファレンス
    • パフォーマンス
      • パフォーマンステストのベンチマーク
      • パフォーマンスのベンチマークを作成
      • Brotli圧縮によるパフォーマンスの向上
    • ロギングとデバッグ
      • ログの参照
      • ダイナミックログレベルの更新
      • ゲートウェイログをカスタマイズ
      • デバッグリクエスト
      • AIゲートウェイ分析
    • gRPCサービスの設定
    • 式ルータを使用
    • アップグレードと移行
      • 香港ゲートウェイ3.x.xをアップグレードする
      • バックアップと復元
      • アップグレードの戦略
        • デュアルクラスターのアップグレード
        • インプレイスアップグレード
        • 青緑色のアップグレード
        • ローリングアップグレード
      • 2.8 LTSから3.4 LTSにアップグレード
      • OSSからエンタープライズへ移行
      • 移行ガイドライン Cassandra から PostgreSQL
      • 新しい DNS クライアントに移行
      • 破壊的な変更
  • Kong Gateway Enterprise
    • 概要
    • シークレット管理
      • 概要
      • はじめに
      • ローテーション
      • 高度な使い方
      • バックエンドの設定
        • 概要
        • 環境変数
        • AWS シークレットマネージャー
        • Azure Key Vault
        • Google Cloud Secret Manager
        • HashiCorp Vault
      • How-To
        • AWS シークレットマネージャでデータベースを保護する
      • 参照フォーマット
    • 動的なプラグインの順序
      • 概要
      • 動的なプラグインの順序を始めましょう
    • 監査ログ
    • キーリングとデータ暗号化
    • ワークスペース
    • コンシューマグループ
    • イベントフック
    • データ プレーンレジリエンスの設定
    • 制御機の停止管理について
    • FIPS 140-2
      • 概要
      • FIPS 準拠パッケージをインストール
      • FIPS 140-2 準拠プラグイン
    • AWS IAMでKong Gateway Amazon RDSデータベースを認証する
    • 署名された香港の画像の署名を確認します
    • 署名された香港画像のビルド証明書を確認する
  • Kong AI Gateway
    • 概要
    • AI ゲートウェイを始めよう
    • LLM プロバイダー統合ガイド
      • OpenAI
      • Cohere
      • Azure
      • Anthropic
      • ミストラル
      • Llama2
    • AIプラットフォーム統合ガイド
      • Gemini
      • Amazon Bedrock
    • AIゲートウェイ分析
    • AI指標を公開・グラフ
    • AI Gateway plugins
  • Kong Manager
    • 概要
    • Kong Managerを有効にする
    • Kong Manager を始めましょう
      • サービスとルート
      • レート制限
      • プロキシキャッシュ
      • コンシューマーとの認証
      • 負荷バランス
    • 認証と承認
      • 概要
      • スーパー管理者を作成
      • ワークスペースとチーム
      • パスワードとRBACトークンをリセット
      • ベーシック認証
      • LDAP
        • LDAP の設定
        • LDAP サービス ディレクトリ マッピング
      • OIDC
        • OIDCの設定
        • OIDC 認証済みグループマッピング
        • 以前の設定から移行
      • セッション
      • RBAC
        • 概要
        • RBACを有効にする
        • ロールと権限を追加
        • ユーザーを作成
        • 管理者を作成
    • ネットワーク設定
    • ワークスペース
    • 顧客グループを作成
    • メールを送信中
    • トラブルシューティング
  • カスタムプラグインを開発
    • 概要
    • はじめに
      • はじめに
      • プラグインプロジェクトの設定
      • プラグインテストを追加
      • プラグイン設定を追加
      • 外部サービスを消費する
      • プラグインをデプロイ
    • ファイル構造
    • カスタムロジックの実装
    • プラグインの設定
    • データストアへのアクセス
    • カスタムエンティティの保存
    • カスタムエンティティをキャッシュ中
    • 管理者 API の拡張
    • テストを書く
    • 設置と配布
    • プロキシ-ワズムフィルター
      • プロキシワズムフィルタを作成
      • プロキシ-ワズムフィルタの設定
    • プラグイン開発キット
      • 概要
      • kong.client
      • kong.client.tls
      • kong.cluster
      • kong.ctx
      • kong.ip
      • kong.jwe
      • kong.log
      • kong.nginx
      • kong.node
      • kong.plugin
      • kong.request
      • kong.response
      • kong.router
      • kong.service
      • kong.service.request
      • kong.service.response
      • kong.table
      • kong.telemetry.log
      • kong.tracing
      • kong.vault
      • kong.websocket.client
      • kong.websocket.upstream
    • 他の言語でのプラグイン
      • 移動
      • Javascript
      • Python
      • コンテナでのプラグインの実行
      • 外部プラグインのパフォーマンス
  • Kong Plugins
    • 概要
    • 認証リファレンス
    • 複数の認証プラグインを許可
    • プラグインのキュー
      • 概要
      • プラグインキューイングリファレンス
  • Admin API
    • 概要
    • 宣言設定
    • Enterprise API
      • 情報ルート
      • 健康ルート
      • タグ
      • デバッグルート
      • サービス
      • ルート
      • コンシューマ
      • プラグイン
      • 証明書
      • CA 証明書
      • SNI
      • アップストリーム
      • ターゲット
      • ヴォールト
      • キー
      • チェーンをフィルター
      • ライセンス
      • ワークスペース
      • RBAC
      • 管理者
      • コンシューマグループ
      • イベントフック
      • キーリングとデータ暗号化
      • 監査ログ
      • Status API
    • オープンソースAPI
  • 参照
    • kong.conf
    • Nginx ディレクティブの注入中
    • CLI
    • キー管理
    • 表現の言語
      • 概要
      • 言語リファレンス
      • パフォーマンスの最適化
    • ライブラリのレート制限
    • WebAssembly
    • FAQ
enterprise-switcher-icon 次に切り替える: OSS
On this pageOn this page
  • アップグレードの概要
  • 準備:アップグレードパスの確認
    • 保証されたアップグレードパス
  • 準備:バックアップストラテジを選択する
  • 準備:デプロイメントモードに基づいてアップグレードストラテジを選択する
    • 従来モード
    • DBレスモード
    • ハイブリッドモード
  • 準備:下位互換性のない変更と変更ログを確認する
  • 準備: アップグレードに関する考慮事項
  • アップグレードの実行
旧バージョンのドキュメントを参照しています。 最新のドキュメントはこちらをご参照ください。

Kong Gatewayのアップグレード

このガイドを使用して、Kong Gatewayアップグレードを準備し、使用するKong Gatewayアップグレードパスを決定します。

このガイドでは、利用可能な4つのアップグレードストラテジについて説明し、各Kong Gatewayデプロイメントモードに最適なストラテジを推奨します。 さらに、アップグレードプロセスで重要な役割を果たすいくつかの基本的な要素をリストアップし、データのバックアップと復元の方法について説明します。

このガイドでは、Kong Gatewayのコンテキスト内で次の用語を使用します。

  • アップグレード :Kong Gatewayの古いバージョンから新しいバージョンに切り替える全体的なプロセスです。
  • 移行 :データストアのデータを新しい環境に移行します。 たとえば、2.8.xのデータを古いPostgreSQLインスタンスから3.4.xの新しいインスタンスに移動するプロセスは、データベース移行と呼ばれます。

注 :Kong Gateway Enterprise 2.8.xおよび3.4.xの長期的 サポート(LTS)バージョンのアップグレードについては、LTSアップグレードガイドを参照してください。

アップグレードの概要

Kong Gatewayアップグレードには、アップグレードの準備とアップグレードの適用という2つのフェーズの作業が必要です。

準備フェーズ

  1. 以下で、プラットフォームのバージョンとアップグレード先のバージョン間のバージョン互換性を確認します。
    • OSバージョン
    • KubernetesバージョンとHelmの前提条件
    • データベースのバージョン
    • 依存関係のバージョン
  2. 開始するリリースとアップグレードするリリースに基づいて、アップグレードパスを決定します。
  3. データベースまたは宣言型構成ファイルをバックアップします。
  4. お使いのデプロイメントトポロジーに基づいて、適切なアップグレードストラテジを選択します。
  5. アップグレードするバージョンの下位互換性のない変更を確認します。
  6. 残りのアップグレードの考慮事項があれば確認します。
  7. 運用前環境で移行をテストします。

アップグレードの実行

アップグレードの実際の実行形態は、Kong Gatewayでのデプロイメントのタイプによって異なります。 アップグレードプロセスのこの段階では、準備フェーズで決定したストラテジを使用します。

  1. 選択したアップグレードストラテジをdev上で実行します。
  2. devからprodに移行します。
  3. スモークテスト。
  4. アップグレードを終了するか、ロールバックして再試行します。

それでは、アップグレードパスを決定することから始めて、準備に移りましょう。

準備:アップグレードパスの確認

Kong Gatewayは、製品のバージョン管理において、メジャーバージョン、マイナーバージョン、パッチバージョンを区別する構造化されたアプローチを採用しています。

2.xから3.xへのアップグレードは、 メジャー アップグレードです。 Kong Gateway 3.0.xが移行をサポートする最も低いバージョンは、2.1.xからの移行です。

Kong Gatewayでは、1.xから3.xへの直接アップグレードをサポートしていません。 1.xを使用している場合は、まずは2.1.0にアップグレードしてください。その後、3.0.xにアップグレードしてください。

最新バージョンに直接アップグレードすることもできますが、 2.xシリーズおよび3.xシリーズ間における下位互換性のない変更 (直近のバージョンと以前のバージョンの両方)および オープンソース(OSS)と Enterpriseゲートウェイの変更ログを確認してください。Kong Gateway以降は オープンソースの基盤上に構築されているため、OSSにおける下位互換性のない変更はすべてのKong Gatewayパッケージに影響します。

アップグレードパスには広範な条件が適用され、デプロイメントモード、カスタムプラグイン、技術的機能、ハードウェア容量、SLAなどに応じて異なるため、すべてのユーザーに適用される万能のものはありません。アップグレードの際は、アクションを講じる前に、プロセスについて当社のエンジニアと網羅的かつ慎重に話し合ってください。

スムーズなアップグレードパスの維持に役立つため、Kong Gatewayリリースを常に最新の状態に保つことをお勧めします。 バージョンのギャップが小さいほど、アップグレードプロセスは簡単になります。

保証されたアップグレードパス

デフォルトでは、Kong Gatewayには隣接するバージョン間の移行テストがあるため、次のアップグレードパスが正式に保証されます。

  1. 同じメジャーバージョンとマイナーバージョンのパッチリリース間。

  2. 同じメジャーバージョンの隣接するマイナーリリース間。

  3. LTS(Long Term Support)バージョン間。

    Kong GatewayはLTSバージョンを維持し、隣接するLTSバージョン間のアップグレードを保証します。 2.xシリーズの現在のLTSは2.8であり、3.xシリーズの現在のLTSは3.4です。 2.8と3.4のLTSバージョン間でアップグレードする場合は、 LTSアップグレードガイドを参照してください。

次の表は、現在使用しているKong Gatewayバージョンに応じて、3.8.xするさまざまなアップグレードパスシナリオを示しています。

準備:バックアップストラテジを選択する

アップグレード中およびデータベース移行中に kong migrations コマンドを使用すると元に戻せません。アップグレードする前に、必ずデータベースまたは宣言型構成ファイルをバックアップしてください。

Kong Gatewayエンティティのバックアップには主に2つの種類があります。

  • データベースのバックアップ : PostgreSQLは、信頼性と性能に優れ、データのバックアップや復元時の一貫性を保証する、ネイティブなエクスポートとインポートのツールを備えています。Kong Gatewayを従来モードまたはハイブリッドモードで実行している場合は、常にデータベースネイティブのバックアップを実行する必要があります。
  • 宣言型バックアップ :Kongには、宣言形式でのKong Gatewayエンティティの管理をサポートするdecKとKong CLIという 2 つの宣言型バックアップツールが付属しています。 従来型およびハイブリッドモードのデプロイメントでは、これらのツールを使用して二次バックアップを作成してください。DBレスモードのデプロイメントの場合は、Kong CLIを使用して、宣言型構成ファイルを手動で管理します。

回復の柔軟性を高めるため、可能であれば、両方の方法を使用してデータをバックアップすることを強くお勧めします。

データベースネイティブツールは、宣言型ツールに比べて堅牢でかつデータを即座に復元できます。データが破損した場合は、まずデータベースレベルの復元を実行してみてください。 あるいは、新しいデータベースをブートストラップし、宣言型ツールを使用してバックアップファイルから設定を復元してください。

バックアップと復元のガイドを確認して、構成のバックアップを準備します。問題が発生してロールバックする必要がある場合は、そのガイドを参照して古いデータストアを復元することもできます。

準備:デプロイメントモードに基づいてアップグレードストラテジを選択する

独自のアップグレード手順を定義することもできますが、このセクションで紹介されている方法のいずれかを使用することをお勧めします。 カスタムのアップグレード要件には、適切に調整されたアップグレード戦略が必要になる場合があります。 たとえば、少数のカスタマーオブジェクトのみを新しいバージョンに送りたい場合は、 トラフィックインターセプトをサポートするCanaryプラグインとロードバランサーを使用します。

どちらのアップグレードストラテジを選択する場合でも、アップグレードのプロセス中は、Admin API操作とデータベースの更新が許可されないため、 Kong Gatewayの管理ダウンタイムを考慮する必要があります。

デプロイメントタイプに基づいて、次のいずれかのアップグレードストラテジをお勧めします。 各オプションの説明を注意深く読み、最適なアップグレードストラテジを選択してください。

  • 従来モードまたはハイブリッドモードのコントロールプレーン:

    • デュアルクラスターのアップグレード
    • インプレースアップグレード
    • ブルーグリーンアップグレード(非推奨)
  • DBレスモードまたはハイブリッドモードのデータプレーン:

    • ローリングアップグレード

意思決定プロセスがどのように機能するかを詳しく説明したフローチャートを以下に示します。

 
flowchart TD
    A{Deployment type?} --> B(Traditional mode)
    A{Deployment type?} --> C(Hybrid mode)
    A{Deployment type?} --> D(DB-less mode)
    A{Deployment type?} --> E(Konnect DP)
    B ---> F{Enough hardware to 
    run another cluster?}
    C --> G(Upgrade CP first) & H(Upgrade DP second)
    D ----> K([Rolling upgrade])
    E ----> K
    G --> F
    F ---Yes--->I([Dual-cluster upgrade])
    F ---No--->J([In-place upgrade])
    H ---> K
    click K "/gateway/latest/upgrade/rolling-upgrade/"
    click I "/gateway/latest/upgrade/dual-cluster/"
    click J "/gateway/latest/upgrade/in-place/"
  

図1:デプロイメントタイプに基づいてアップグレードストラテジを選択します。従来のモードでは、十分なリソースがある場合はデュアルクラスタアップグレードを、十分なリソースがない場合はインプレースアップグレードを選択してください。DBレスモードおよびKonnectDPの場合は、ローリングアップグレードを使用します。ハイブリッドモードの場合、CPには従来のモードストラテジの1つを使用し、DPにはローリングアップグレードを使用します。

各アップグレードストラテジガイドの詳細とリンクについては、次のセクションを参照してください。

従来モード

従来モードのデプロイメントとは、すべてのKong Gatewayコンポーネントが1つの環境で実行され、 コントロールプレーン(CP)とデータプレーン(DP)の分離がない場合です。

従来モードでKong Gatewayをアップグレードする場合、次の2つのオプションがあります。

  • デュアルクラスタアップグレード: バージョン Y の新しい Kong Gateway クラスタが現在のバージョン X とともにデプロイされるため、アップグレードプロセス中は 2 つのクラスタが同時にリクエストを処理します。
  • インプレースアップグレード:インプレースアップグレードは既存のデータベースを再使用します。最初にクラスタXを終了してから、新しいクラスタYがデータベースを指すように構成する必要があります。

別のクラスターを同時に実行するリソースがある場合は、デュアルクラスターアップグレードを使用することをお勧めします。 インプレース方式は、ビジネスダウンタイムを引き起こすため、リソースが限られている場合にのみ使用してください。

重要 : ブルーグリーンアップグレードストラテジはオプションですが、 お勧めしません。このストラテジを使用したアップグレードに対するKongからのサポートは限られています。 Kong Gatewayバージョンの数、アップグレードストラテジ、採用された機能、デプロイメントモードを考慮してすべての組み合わせを網羅する必要があるため、すべての移行テストを完全に網羅することはほぼ不可能です。 どうしてもこのストラテジを採用したい場合は、パッチバージョン間のアップグレードにのみ使用してください。

DBレスモード

DBレスモードでは、独立した各Kong Gatewayノードは、永続的なデータベースストレージを使用せずに宣言型Kong Gateway構成データのコピーをメモリにロードするため、一部のノードの障害が他のノードに広がることはありません。

このモードでのデプロイメントでは、ローリングアップグレードストラテジを使用する必要があります。 deck gateway validate または kong config parse コマンドを使用して、バージョン Y の宣言型 YAML コンテンツの有効性を解析できます。

アップグレードを開始する前に、現在のkong.yamlファイルをバックアップする必要があります。

ハイブリッドモード

ハイブリッドモードは、1 つ以上のコントロールプレーン (CP) ノードと 1 つ以上のデータプレーン (DP) ノードで構成されます。 CP ノードはデータベースを使用して Kong 構成データを保存しますが、DP ノードは必要な情報をすべて CP から取得するため、データベースを使用しません。 推奨されるアップグレードプロセスは、ノード (CP または DP) の種類ごとに異なるアップグレードストラテジを組み合わせたものです。

ハイブリッドモードアップグレードにおける主な課題は、CP と DP 間の通信です。 ハイブリッドモードでは CP のマイナー バージョンが DP のマイナー バージョン以上である必要があるため、DP ノードの前に CP ノードをアップグレードする必要があります。 アップグレードは2段階に分けて実施する必要があります。

  1. まず、DPノードがAPIリクエストを処理している間に、従来モードセクションの推奨事項に従ってCPをアップグレードします。
  2. 次に、DBレスモードセクションの推奨事項を使用して、DPノードをアップグレードします。 バージョンの競合を回避するために、新しいDPノードを新しいCPにポイントします。

CP と DP 間のロールのデカップリング機能によって、CP をアップグレードしながら DP ノードが API リクエストを処理できるようになります。 この方法により、ビジネスのダウンタイムが発生しません。

カスタムプラグイン(独自のプラグインまたは Kong Gateway に付属していないサードパーティ製プラグイン)は、ハイブリッドモードでコントロールプレーン(CP)とデータプレーン(DP)の両方にインストールする必要があります。プラグインは、最初にコントロールプレーン(CP)にインストールし、次にデータプレーン(DP)にインストールします。

ハイブリッドモードデプロイメントのオプション詳細については、次のセクションを参照してください。

コントロールプレーン(CP)

CPノードはDPノードよりも先にアップグレードする必要があります。CPノードは管理者専用ロールを提供し、データベースのサポートが必要です。そのため、図2と図3で説明するように、従来のモード(デュアルクラスタまたはインプレース)に指定されたものと同じアップグレードストラテジから選択できます。

デュアルクラスターストラテジを使用してCPノードをアップグレードする。

 
flowchart TD
    DBA[(Current
    database)]
    DBB[(New 
    database)]
    CPX(Current control plane X)
    Admin(No admin 
    write operations)
    CPY(New control plane Y)
    DPX(fa:fa-layer-group Current data plane X nodes)
    API(API requests)

    DBA -.- CPX -."DP connects to either \nCP X...".- DPX
    Admin -.X.- CPX & CPY
    DBB --pg_restore--- CPY -."...OR to CP Y".- DPX
    API--> DPX

    style API stroke:none
    style DBA stroke-dasharray:3
    style CPX stroke-dasharray:3
    style Admin fill:none,stroke:none,color:#d44324
    linkStyle 2,3 stroke:#d44324,color:#d44324
  

図2: この図は、デュアルクラスタストラテジを使用したCPのアップグレードの流れを示しています。 新しいCP Yは現在のCP Xと一緒にデプロイされ、現在のDPノードXはまだAPIリクエストに対応しています。

インプレース ストラテジを使用して CP ノードをアップグレードします。

 
flowchart 
    DBA[(Database)]
    CPX(Current control plane X \n #40;inactive#41;)
    Admin(No admin \n write operations)
    CPY(New control plane Y)
    DPX(fa:fa-layer-group Current data plane X nodes)
    API(API requests)

    DBA -..- CPX -."DP connects to either \nCP X...".- DPX
    Admin -.X.- CPX & CPY
    DBA --"kong migrations up \n kong migrations finish"--- CPY -."...OR to CP Y".- DPX
    API--> DPX

    style API stroke:none
    style CPX stroke-dasharray:3
    style Admin fill:none,stroke:none,color:#d44324
    linkStyle 2,3 stroke:#d44324,color:#d44324
  

図3:この図は、現在のCP Xが新しいCP Yに直接置き換えられるインプレースストラテジを使用したCPアップグレードの流れを示しています。 データベースは新しいCP Yで再利用され、すべてのノードの移行が完了すると現在のCP Xは停止されます。

2つの図から、DPノードXが現在のCPノードXに接続されたままになっているか、または新しいCPノードYに切り替わっていることがわかります。 Kong Gatewayは、CPの新しいマイナーバージョンがDPの古いマイナーバージョンと互換性があることを保証します。 これにより、DPノードXが一時的に新しいCPノードYを指せるようになります。 これにより、必要に応じてアップグレードプロセスを一時停止したり、より長い期間にわたってアップグレードを実行したりできます。

このセットアップは一時的なものであり、アップグレードプロセス中にのみ使用されます。 長期間のプロダクションデプロイメントでは、新しいバージョンのCPノードと古いバージョンのDPノードを組み合わせて実行することはお勧めしません。

CPのアップグレード後、クラスタXを廃止することができます。この作業は、DPアップグレードの最後まで遅らせることができます。

データプレーン(DP)

CPノードがアップグレードされたら、DPノードのアップグレードに進むことができます。 DPアップグレードでサポートされている唯一のアップグレードストラテジは、ローリングアップグレードです。 次の図4と5は、それぞれ図2と3に相当しています。

ローリングアップグレードのワークフローを使ったデュアルクラスタストラテジの使用:

 
flowchart TD
    DBX[(Current \n database)]
    DBY[(New \n database)]
    CPX(Current control plane X)
    CPY(New control plane Y)
    DPX(Current data planes X)
    DPY(New data planes Y)
    API(API requests)
    LB(Load balancer)
    Admin(No admin \n write operations)
    Admin2(No admin \n write operations)
    
    subgraph A
        Admin -.X.- CPX
        DBX -.- CPX
        DBY --- CPY
        CPX -."Current DP connects to \neither CP X...".- DPX
        Admin2 -.X.- CPY
        CPY -."...OR to CP Y".- DPX
        DPX -.90%..- LB
        CPY --- DPY --10%---- LB
        
    end
    subgraph B
        API --> LB & LB & LB
    end

    linkStyle 0,4 stroke:#d44324,color:#d44324
    linkStyle 8,9 stroke:#b6d7a8
    style CPX stroke-dasharray:3,fill:#eff0f1ff,stroke:#c1c6cdff
    style DPX stroke-dasharray:3
    style DBX stroke-dasharray:3,fill:#eff0f1ff,stroke:#c1c6cdff
    style API stroke:none
    style A stroke:none,color:#fff
    style B stroke:none,color:#fff
    style Admin fill:none,stroke:none,color:#d44324
    style Admin2 fill:none,stroke:none,color:#d44324
  

図4:デュアルクラスタとローリングストラテジを使用したDPアップグレードの図です。 新しいCP Yは現在のCP Xと一緒にデプロイされ、現在のDPノードXはまだAPIリクエストに対応しています。 画像では、現在のデータベースとCP Xの背景色が白ではなく灰色になっていますが、これは古いCPがすでにアップグレードされ、廃止された可能性があることを示しています。

ローリングアップグレードのワークフローを使ったインプレースストラテジ の使用:

 
flowchart 
    DBA[(Database)]
    CPX(Current control plane X \n #40;inactive#41;)
    CPY(New control plane Y)
    DPX(Current data planes X)
    DPY(New data planes Y)
    API(API requests)
    LB(Load balancer)
    Admin(No admin \n write operations)
    Admin2(No admin \n write operations)

    subgraph A
        Admin -.X.- CPX
        DBA -.X.- CPX
        DBA --- CPY
        CPX -."Current DP connects to \neither CP X...".- DPX
        Admin2 -.X.- CPY
        CPY -."OR to CP Y".- DPX -.90%..- LB
        CPY --- DPY --10%---- LB 
    end
    subgraph B
        API --> LB & LB & LB
    end

    linkStyle 0,1,4 stroke:#d44324,color:#d44324
    linkStyle 8,9 stroke:#b6d7a8
    style CPX stroke-dasharray:3,fill:#eff0f1ff,stroke:#c1c6cdff
    style DPX stroke-dasharray:3
    style A stroke:none,color:#fff
    style B stroke:none,color:#fff
    style Admin fill:none,stroke:none,color:#d44324
    style Admin2 fill:none,stroke:none,color:#d44324
  

図5:インプレースとローリングストラテジを使用したDPアップグレードの図です。 この図は、データベースが新しいCP Yによって再使用される一方で、現在のDPノードXがまだAPIリクエストを処理しているところを示しています。

3.1.0.0または3.1.1.1からのアップグレード

ハイブリッドモードでKong Gatewayをデプロイし、使用しているバージョンが3.1.0.0または3.1.1.1.の場合は、特別なケースがあります。 Kongは、CPとDPの間のWebSocketプロトコルとして、3.1.0.0ではレガシー版を削除し新しいものに置き換えましたが、3.1.1.2ではレガシー版を再び追加しました。 そのため、上記の特別なケースでバージョンをアップグレードする場合は、まず、3.1.1.2にアップグレードする必要があります。

さらに、新しいWebSocketプロトコルは3.2.0.0以降完全に削除されました。 バージョンの内訳については、次の表を参照してください。

     
Kong Gatewayバージョン 従来のWebSocket(JSON) 新しいWebSocket(RPC)
3.0.0.0 Y Y
3.1.0.0および3.1.1.1 N Y
3.1.1.2 Y Y
3.2.0.0 Y N

準備:下位互換性のない変更と変更ログを確認する

アップグレード先のリリースの下位互換性のない変更と変更ログ を確認します。 下位互換性のない変更の指示に従って、準備または調整を行います。

準備: アップグレードに関する考慮事項

デプロイメントモードに関係なく、アップグレードに影響を与える可能性のある普遍的な要因がいくつかあります。

ターゲットデプロイメントモードのストラテジを選択しても、アップグレードをすぐに開始できるとは限りません。 また、次の要素も考慮する必要があります。

  • アップグレードプロセス中は、データベースに変更を加えることはできません。 アップグレードが完了するまで、次の行為は控えてください。

    • Admin API経由でデータベースに書き込まないでください。
    • データベースを直接操作しないでください。
    • Kong Manager、decK、またはkong構成CLIを通じて 構成を更新しないでください。
  • 新しいバージョンYと既存のプラットフォーム間の互換性を確認します。 要因には、以下が含まれますが、これらに限定されません。

    • OSバージョン
    • KubernetesバージョンとHelmの前提条件
    • ハードウェアリソース
    • データベースのバージョン
    • 依存関係のバージョン
  • 現在のバージョンXから始まるすべての変更ログを注意深く確認してください。 変更ログはターゲットバージョンYまであります。

    • 特にスキーマの変更や機能の削除など、潜在的な競合がないか確認します。

    • 新しいクラスタを設定するときは、kong.conf を直接アップグレードするか、変更履歴に基づき環境変数を使用してアップグレードします。

      まれに、マイナーバージョンアップグレードで kong.conf に下位互換性のない変更が行われることもあります。

      たとえば、パラメータpg_ssl_versionは、2.8.2.4ではデフォルトでtlsv1になります。しかし、3.2.2.1では、tlsv1は有効な引数ではありません。 この設定に依存していた場合は、新しいオプションの1つに合わせて環境を調整する必要があります。

  • カスタムプラグインがある場合は、コードを変更ログと照合して、新しいバージョンYを使用してカスタムプラグインをテストしてください。

  • nginx-kong.confやnginx-kong-stream.confなどのNginxテンプレートを変更した場合は、新しいバージョンYのテンプレートにも同様の変更を加えます。 詳細なカスタマイズガイドについては、Nginxディレクティブを参照してください。

  • Kong Gateway Enterpriseを使用している場合は、新しいゲートウェイクラスタに必ずEnterpriseライセンスを適用してください。

  • 必ずバックアップを取ってください。

    • Cassandra DBのサポートは、3.4.0.0をもってKong Gatewayから除外されました。 CassandraからPostgreSQLへの移行ガイドラインに従って、PostgreSQLに移行してください。

アップグレードの実行

すべてを確認してストラテジを選択したら、選択したストラテジを使用して Kong Gatewayのアップグレードに進みます。

  • デュアルクラスターのアップグレード
  • インプレースアップグレード
  • ブルーグリーンアップグレード
  • ローリングアップグレード
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