本ソフトウェアには、Kong Software License Agreement が適用されます。Kong Gateway (OSS) は、Apache 2.0 ライセンスの下でライセンスが許諾されています。
license.json
ファイルインストール パッケージをダウンロードするか、APT リポジトリを使用して Kong Gateway をインストールできます。
Kong Gateway では、現在 Ubuntu Bionic と Focal 向けのパッケージを提供しています。別のリリースをお使いの場合は、以下のコマンドの
$(lsb_release -sc)
をfocal
に置き換えてください。リリース名を確認するには、
lsb_release -sc
を実行してください。
コマンドラインから Ubuntu に Kong Gateway をインストールします。
Kong パッケージをダウンロードします。
curl -Lo kong-enterprise-edition-3.2.1.0.all.deb "https://download.konghq.com/gateway-3.x-ubuntu-$(lsb_release -sc)/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_3.2.1.0_amd64.deb"
パッケージをインストールします。
sudo dpkg -i kong-enterprise-edition-3.2.1.0.all.deb
(オプション) パッケージを hold
とマークすることで、誤ってアップグレードすることを防ぎます。
sudo apt-mark hold kong-enterprise-edition
パッケージをアンインストールするには、以下のコマンドを実行します。
sudo apt remove kong-enterprise-edition
コマンドラインから APT リポジトリ経由でインストールします。
echo "deb [trusted=yes] https://download.konghq.com/gateway-3.x-ubuntu-$(lsb_release -sc)/ \
default all" | sudo tee /etc/apt/sources.list.d/kong.list
sudo apt-get update
Kong をインストールします。
sudo apt install -y kong-enterprise-edition=3.2.1.0
Kong Gateway には、デフォルトの設定プロパティ ファイルが同梱されており、公式パッケージのいずれかを使用して Kong Gateway をインストールした場合、/etc/kong/kong.conf.default
にあります。この設定ファイルは、起動時に Kong Gateway の設定プロパティを設定します。
Kong Gateway のすべての設定済みエンティティの設定プロパティは、データベースまたは yaml 宣言型設定ファイルに保存できます。Kong Gateway を起動する前に、データ ストアへの参照を含む kong.conf.default
設定プロパティ ファイルを更新する必要があります。
kong.conf.default
ファイルにリストされているデフォルトのプロパティを変更して Kong Gateway を設定するには、ファイルのコピーを作成して名前を変更し (例: kong.conf
)、更新を行ってから同じ場所に保存します。
最初に、kong.conf
設定ファイルを使用して Kong Gateway を設定し、データベースに接続できるようにします。関連するすべての設定パラメーターについては、「設定プロパティ リファレンス」のデータ ストアのセクションを参照してください。
以下の手順では、Kong の設定を保存するデータベースとして PostgreSQL を使用します。
Kong Gateway で Cassandra は使用しないでください。Cassandra は非推奨であり、サポートが終了する予定です。
Kong Gateway を起動する前に、データベースとユーザーをプロビジョニングします。
CREATE USER kong WITH PASSWORD 'super_secret'; CREATE DATABASE kong OWNER kong;
次のいずれかの方法で、Kong Gateway を移行します。
kong migrations
コマンドで Super Admin ユーザーのパスワードを設定することを強く推奨します。これにより、必要に応じて、後でロールベースのアクセス制御 (RBAC) を使用できます。Super Admin のパスワードで環境変数を作成し、そのパスワードを安全な場所に保存してください。
KONG_PASSWORD={PASSWORD} kong migrations bootstrap -c {PATH_TO_KONG.CONF_FILE}
重要: 4 つのティック (例:
KONG_PASSWORD="a''a'a'a'a"
) を含む値を使用して Kong パスワード (KONG_PASSWORD
) を設定すると、ブートストラップで PostgreSQL 構文エラーになります。この問題を回避するには、パスワードに特殊文字を使用しないでください。
kong migrations bootstrap -c {PATH_TO_KONG.CONF_FILE}
注: 古いバージョンの PostgreSQL はデフォルトで
ident
認証を使用し、新しいバージョン (PSQL 10 以降) はscram-sha-256
を使用します。kong
ユーザーがローカルでデータベースと通信できるようにするには、PostgreSQL 設定ファイルを編集して認証方法をmd5
に変更します。
Kong Gateway のすべての設定済みエンティティの設定プロパティを yaml 宣言型設定ファイルに保存する場合 (DB レス モード)、kong.yml
ファイルを作成し、kong.yml
ファイルのパスを kong.conf
設定ファイルに含める必要があります。
まず、以下のコマンドで、現在のフォルダーに kong.yml
宣言型設定ファイルを生成します。
kong config init
生成された kong.yml
ファイルには、このファイルを使用して Kong Gateway を設定する方法が記載されています。
次に、宣言型設定ファイルを認識させるため、kong.conf
設定ファイルを使用して Kong Gateway を設定する必要があります。
以下の例のように、database
オプションを off
に設定し、declarative_config
オプションに kong.yml
ファイルのパスを設定します。
database = off
declarative_config = {PATH_TO_KONG.CONF_FILE}
重要: Kong Gateway を起動すると、NGINX マスター プロセスは
root
として実行され、ワーカー プロセスはデフォルトでkong
として実行されます。この動作が望ましくない場合は、Kong Gateway を起動する前に、NGINX マスター プロセスをビルトインのkong
ユーザーまたはカスタムの非 root ユーザーで実行するように切り替えることができます。
詳細は、「Kong を非 root ユーザーで実行する」を参照してください。
以下のコマンドを使用して Kong Gateway を起動します。
kong start -c {PATH_TO_KONG.CONF_FILE}
正常に処理が完了すると、Kong Gateway が動作していることを通知するメッセージ (Kong started
) が表示されます。
また、Admin API を使用して確認することもできます。
curl -i http://localhost:8001
200
ステータス コードが表示されるはずです。
デフォルトでは、以下のポートを listen します。
:8000
: クライアントからの受信 HTTP トラフィックを listen し、アップストリーム サービスに転送するポートです。:8443
: 受信 HTTPS トラフィックを listen します。このポートは、HTTPS トラフィックのみを想定していることを除き、:8000
ポートと同様に動作します。このポートは kong.conf
設定ファイルで無効にできます。:8001
: 設定に使用する Admin API が listen するポートです。:8444
: Admin API が HTTPS トラフィックを listen するポートです。以下の手順はすべてオプションであり、必要に応じて選択できます。
Kong Gateway の Enterprise ライセンスをお持ちの場合は、環境に応じて以下のいずれかの方法で適用してください。
Admin API を使用してライセンスを適用します。ライセンス データには、ストレート クォート ('
と "
) を使用する必要があります。スマートクォート (’
や “
) は有効な JSON と見なされません。
提供された license.json
ライセンスの内容を Kong Gateway インスタンスに POST
します。
注: 以下のライセンスは例を示すことを目的としています。この形式に従って、お持ちのライセンスの情報を指定してください。
curl -i -X POST http://localhost:8001/licenses \
-d payload='{"license":{"payload":{"admin_seats":"1","customer":"Example Company, Inc","dataplanes":"1","license_creation_date":"2017-07-20","license_expiration_date":"2017-07-20","license_key":"00141000017ODj3AAG_a1V41000004wT0OEAU","product_subscription":"Konnect Enterprise","support_plan":"None"},"signature":"6985968131533a967fcc721244a979948b1066967f1e9cd65dbd8eeabe060fc32d894a2945f5e4a03c1cd2198c74e058ac63d28b045c2f1fcec95877bd790e1b","version":"1"}}'
Kong Gateway をインストールしたファイル システム上のホーム ディレクトリに、license.json
ファイルをコピーします。
$ scp license.json <system_username>@<server>:~
次に、/etc/kong
ディレクトリにもライセンス ファイルをコピーします。
$ scp license.json /etc/kong/license.json
Kong Gateway は、この場所にある有効なライセンスを探します。
従来のモードまたはハイブリッド モードでデータベースを使用して Kong Gateway を実行している場合、Kong Gateway のグラフィカル ユーザー インターフェイス (GUI) である Kong Manager を有効にすることができます。詳細は、「Kong Manager セットアップ ガイド」を参照してください。
従来のモードまたはハイブリッド モードでデータベースを使用して Kong Gateway を実行している場合、Dev Portal を有効にすることができます。
kong.conf
ファイルで portal
プロパティを on
に設定し、portal_gui_host
プロパティをシステムの DNS または IP アドレスに設定して、Dev Portal を有効にします。以下に例を示します。
portal = on
portal_gui_host = localhost:8003
次のコマンドを使用して、設定を有効にするため Kong Gateway を再起動します。
kong restart -c {PATH_TO_KONG.CONF_FILE}
ワークスペースの Dev Portal を有効にするには、以下のコマンドを実行し、DNSorIP
を更新して、システムの IP または有効な DNS を反映します。
curl -X PATCH http://localhost:8001/workspaces/default \
--data "config.portal=true"
以下の URL を使用して、デフォルトのワークスペースの Dev Portal にアクセスします。DNS または IP は、独自のものに置き換えてください。
http://localhost:8003/default
ライセンスに関する問題のトラブルシューティングは、以下を参照してください。
HTTP/1.1 200 OK
メッセージを受信しなかった場合、またはセットアップの完了にサポートが必要な場合は、サポート担当者に連絡するか、サポート ポータルにアクセスしてください。
Kong Gateway を最大限に活用するため、Kong Gateway の「入門ガイド」を確認してください。