クラウドネイティブゲートウェイは、プラグインのパイプラインを通じてリクエストを処理します。カスタム認証ロジック、リクエスト変換、トラフィックフィルタリングなど、組み込みプラグインでは対応できない要件がある場合、WebAssembly(Wasm)プラグインを開発し、Microservices Engine(MSE)コンソール内のプラグインマーケットプレイスにアップロードできます。アップロード後、このプラグインはご利用の Alibaba Cloud アカウントおよびゲートウェイに対する権限を持つ RAM ユーザーで利用可能になります。カスタムプラグインと組み込みプラグインは、同じ方法で有効化します。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
MSE コンソールで作成済みのクラウドネイティブゲートウェイ
コンパイル済みの
.wasmプラグインバイナリファイル(最大 50 MB)クラウドネイティブゲートウェイへのアクセス権限
プラグインのアップロード
MSE コンソールにログインします。上部のナビゲーションバーからリージョンを選択します。
左側のナビゲーションウィンドウで、クラウドネイティブゲートウェイ > ゲートウェイ を選択します。[ゲートウェイ] ページで、対象のゲートウェイ名をクリックします。
左側のナビゲーションウィンドウで、プラグインマーケットプレイス をクリックします。
プラグインマーケットプレイス ページで、[すべてのプラグイン] タブ内の カスタム サブタブをクリックし、プラグインの追加 をクリックします。
プラグインの追加 パネルで、以下のパラメーターを設定し、OK をクリックします。リリース処理には約 30 秒かかります。
パラメーター 説明 プラグイン名 プラグインの固有の名前です。 プラグインの説明 プラグインカードに表示される簡潔な説明文です。 WebAssembly 言語 プラグイン開発に使用したプログラミング言語です。ドロップダウンリストから言語を選択します。 WebAssembly ファイル ローカル環境でコンパイル済みの .wasmバイナリファイルです。ファイル拡張子は.wasmである必要があります。また、ファイルサイズは 50 MB を超えてはなりません。プラグイン実行ステージ プラグインがリクエスト処理パイプライン内で実行されるステージです。ステージは以下の順序で実行されます:承認 > 認証 > 統計 > デフォルト。プラグインが他のプラグインとの実行順序に依存しない場合は、デフォルト を選択します。詳細については、「プラグイン実行順序」をご参照ください。 プラグイン実行優先度 指定されたステージ内におけるプラグインの優先度です。数値が大きいほど優先度が高くなります。プラグインが他のプラグインとの実行順序に依存しない場合は、デフォルト値のままにしてください。カスタム値を設定する場合は、10 の倍数を使用してください。
プラグイン実行順序
複数のプラグインの相対的な実行順序は、以下の 2 つの設定に基づいて決定できます。
実行ステージ —— 大まかな処理フェーズを決定します。ステージは以下の固定順序で実行されます:承認 > 認証 > 統計 > デフォルト。
実行優先度 —— 同一ステージ内での実行順序を決定します。数値が大きいほど先に実行されます。
応答の実行順序は、リクエストの実行順序と逆になります。リクエストを最初に処理するプラグインは、応答を最後に処理するプラグインとなります。
組み込みプラグインのステージおよび優先度を確認するには、その詳細ページを開きます。カスタムプラグインを特定の組み込みプラグインより前または後に実行する必要がある場合は、プラグイン実行ステージ および プラグイン実行優先度 を適切に設定してください。
よくある質問
.wasm ファイルを更新するにはどうすればよいですか?
まず、プラグインを無効化します。プラグインカード上で設定アイコンをクリックし、編集 を選択して、新しい .wasm ファイルをアップロードします。
カスタムプラグインは、無効化されている場合のみ編集または削除可能です。組み込みの MSE プラグインは編集・削除できません。
プラグインのリリースに失敗した理由は何ですか?
最も一般的な原因は、.wasm バイナリ形式が無効であることによるものです。アップロード前に、ローカル環境でファイルをロードして検証してください。動作例については、「Go を使用したゲートウェイプラグインの開発」をご参照ください。