Cloud-native API Gateway は、認証、トラフィックコントロール、セキュリティ保護のための組み込みプラグインを提供し、ゲートウェイの柔軟な拡張のためのカスタムプラグインをサポートしています。シームレスなローリングアップデート、アップグレード、ダウングレードなど、プラグインのインストール、有効化、アンインストール、バージョン管理が可能です。
プラグインの概要
Cloud-native API Gateway のプラグインは、そのソースに基づいて次の 3 つのカテゴリに分類されます:
-
公式プラグイン:Higress チームによってリリースされたプラグイン。
-
コミュニティプラグイン:Higress コミュニティによって提供されたプラグイン。
-
カスタムプラグイン:ユーザーが自身の使用のためにアップロードしたプラグイン。
プラグインのインストールと有効化
プラグインを使用するには、Cloud-native API Gateway コンソールでプラグインを選択し、ゲートウェイインスタンスにインストールします。プラグインは、インストールし、ルールを設定し、有効化して初めて有効になります。プラグインは 2 つの方法でインストールできます:
-
MCP/Route Level Plugin Rules:ルートに適用され、リクエストが特定のルートに一致したときに有効になります。
-
Domain-level plug-in rules:ドメイン名に適用されます。特定のドメイン名のルールは、ワイルドカードドメイン名のルールよりも優先度が高くなります。
-
Instance-level plug-in rules:ゲートウェイにグローバルに適用され、ルートレベルまたはドメインレベルのルールが一致しない場合に一致します。
方法 1:ゲートウェイインスタンスの外部からのインストール
-
クラウドネイティブ API Gateway コンソールのプラグイン ページに移動します。トップメニューバーで、リージョンを選択します。
-
[Plug-in] ページで、[Quick Navigation] ペインでプラグインタイプを選択するか、プラグイン名で検索します。プラグインのカードで [Install failed.] をクリックします。[Install Plug-in] ダイアログボックスで、プラグインのゲートウェイインスタンスを選択し、[OK] をクリックします。
-
[Configuration] セクションで、ターゲットゲートウェイインスタンスを見つけ、[Actions] 列の [Rule Configuration] をクリックします。ルール設定ページで、[Effective Scope] を選択します。
-
[MCP/Route Level Plugin Rules] または [Domain-level plug-in rules] を選択した場合は、[Add Rule] をクリックします。[ルートレベルのルールを追加] または [ドメインレベルのルールを追加] ページで、[Status] をオンにし (デフォルトで有効)、[Target] を選択し、[Plug-in Rules] を設定して、[OK] をクリックします。
-
[Instance-level plug-in rules] を選択した場合は、[Status] を有効にし (デフォルトで有効)、[Plug-in Rules] を設定して、[Save] をクリックします。
-
方法 2:ゲートウェイインスタンスの内部からのインストール
-
クラウドネイティブ API Gateway コンソールの インスタンス ページに移動します。上部のメニューバーで、リージョンを選択します。
-
ターゲットインスタンスの詳細ページに移動します。左側のナビゲーションウィンドウで、[Plug-in] を選択します。
-
[Install Plug-in] をクリックします。[プラグインのインストール] ページで、[Quick Navigation] ペインを使用してプラグインタイプを選択するか、プラグイン名で検索します。プラグインカードをクリックし、表示されるダイアログボックスで [Install and Configure] をクリックします。
-
[Rule Configuration] ダイアログボックスで、選択したプラグインのルールを設定し、有効範囲を選択して [OK] をクリックします。
-
(オプション) ゲートウェイインスタンスページで、左側のナビゲーションウィンドウで [Plug-in] を選択します。プラグインリストでターゲットプラグインを見つけ、[操作] 列の [Rule Configuration] をクリックします。次に、ルールを設定し、有効範囲を選択します。
-
[MCP/Route Level Plugin Rules] または [Domain-level plug-in rules] を選択した場合は、[Add Rule] をクリックします。[ルートレベルのルールを追加] または [ドメインレベルのルールを追加] ページで、[Status] をオンにし (デフォルトで有効)、[Target] を選択し、[Plug-in Rules] を設定して、[OK] をクリックします。
-
[Instance-level plug-in rules] を選択した場合は、[Status] をオンにし (デフォルトで有効)、[Plug-in Rules] を設定して、[Save] をクリックします。
-
プラグインのアンインストール
背景情報
プラグインをアンインストールすると、ゲートウェイから完全に削除されます。プラグインは 2 つの方法でアンインストールできます。
プラグインをアンインストールする前に、すべてのアクティブなプラグインルールを無効化してください。プラグインが有効になっていない場合、アンインストールすると設定済みのすべてのルールも削除されます。
方法 1:ゲートウェイインスタンスの外部からのアンインストール
-
クラウドネイティブ API Gateway コンソールの [プラグイン] ページに移動します。上部メニューバーで、リージョンを選択します。
-
[Plug-in] ページで、[Quick Navigation] ペインでプラグインタイプを選択するか、プラグイン名で検索します。アンインストールするプラグインのカードをクリックします。
-
[Configuration] タブをクリックします。プラグインをアンインストールするゲートウェイインスタンスを見つけ、[Actions] 列の [Uninstall] をクリックします。
-
表示されるダイアログボックスで、[OK] ボタンをクリックします。プラグインが正常にアンインストールされたことを確認するメッセージが表示されます。
方法 2:ゲートウェイインスタンスの内部からのアンインストール
-
クラウドネイティブ API Gateway コンソールで、インスタンス ページに移動します。トップメニューバーで、リージョンを選択します。
-
ターゲットインスタンスの詳細ページに移動し、左側のナビゲーションウィンドウで [Plug-in] を選択します。
-
プラグインリストで、アンインストールするプラグインを見つけ、[操作] 列の [Uninstall] をクリックします。
-
表示されるダイアログボックスで、[OK] ボタンをクリックします。プラグインが正常にアンインストールされたことを確認するメッセージが表示されます。
カスタムプラグインへのバージョンの追加
カスタム Lua プラグインにバージョンを追加することはできません。
バージョンを追加すると、カスタムプラグインの変更ごとに新しいバージョンレコードが作成され、変更の追跡とリリースの管理に役立ちます。次の手順に従います:
-
クラウドネイティブ API Gateway コンソールで [プラグイン] ページに移動します。トップメニューバーで、リージョンを選択します。
-
[Plug-in] ページで、[Quick Navigation] ペインで [Plug-in Type] を [Custom] に設定するか、プラグイン名で検索します。プラグインカードの [Add Version] をクリックします。[Add Version] パネルで、[Version Information] を設定します:
-
Version:プラグインのバージョン番号を入力します。バージョン番号は、
1.0.1のようにセマンティックバージョニング (semver) 仕様に従う必要があります。 -
Version Description:
Added rate limiting featureのように、このバージョンの特徴と変更点の簡単な説明。 -
WASM File:ゲートウェイでプラグインロジックを実行する、コンパイル済みの
.wasmファイル。 -
Execution Stage:
Default Phaseのように、リクエスト処理フローの中でプラグインが実行されるフェーズを選択します。 -
Execution Priority:プラグインの実行順序を指定する数値を入力します。数値が大きいほど優先度が高くなります。
-
Adapt to Gateway Version:このプラグインと互換性のあるゲートウェイエンジンバージョン番号を入力します。これにより、プラグインが正しく実行されることが保証されます。
説明これは、このプラグインをインストールできる最小のゲートウェイバージョンです。
-
プラグインのバージョン変更
スムーズなアップグレードを確実にするために、新しいバージョンが元のバージョンのルール設定と互換性があることを確認してください。
-
クラウドネイティブ API Gateway コンソールの [インスタンス] ページに移動します。上部のメニューバーで、リージョンを選択します。
-
ターゲットインスタンスの詳細ページに移動します。左側のナビゲーションウィンドウで、[Plug-in] を選択します。
-
プラグインリストで、ターゲットプラグインを見つけます。次に、[Actions] 列の [Version Change] をクリックします。
-
[Version Change] ダイアログボックスで、目的のバージョンを選択し、[OK] をクリックします。
バージョンの削除
-
クラウドネイティブ API Gateway コンソールのプラグインページに移動します。上部のメニューバーで、リージョンを選択します。
-
[Plug-in] ページで、[Quick Navigation] ペインで [Plug-in Type] を [Custom] に設定するか、プラグイン名で検索してプラグインを見つけます。プラグインカードの
アイコンをポイントします。 -
次に [Deleted.] をクリックします。表示されるダイアログボックスで、削除するバージョンを選択し、[OK] をクリックします。