カスタムポリシーの開発

前提条件​のインストールが終わったら、Flex Gateway ポリシー開発キット (PDK) を使用してカスタムポリシーを開発できます。

カスタムポリシーのライフサイクルは、PDK で実行するすべてのカスタムポリシー開発ステップで構成されます。下記の手順には、PDK の外部で実行され、すべての Flex Gateway ポリシーに共通するステップ (​ポリシーの適用​など) は含まれません。

新しいプロジェクトを作成​した後は、いくつかのステップを繰り返し実行します。たとえば、ポリシーのソースコードを書いている間に一度戻って​パラメーターを追加​したり、ソースコードをデバッグしてからポリシーを再コンパイルしたりする場合などです。

PDK でカスタムポリシーを作成する手順は、次のとおりです。

  1. 新しいプロジェクトを作成します​。

  2. スキーマ定義を作成します​。

    definition/gcl.yaml​ ファイルを修正して、カスタムポリシーのメタデータと設定パラメーターを定義します。

  3. Rust でカスタムポリシー機能を設定します​。

    Rust のコード例を使用して、​src/lib.rs​ ファイルでカスタムロジックを実装します。

  4. カスタムポリシーをコンパイルします​。

    ポリシーをコンパイルすると、ポリシーを Exchange にアップロードして Flex Gateway にデプロイするために必要な ​WebAssembly​ バイナリファイルと設定ファイルが作成されます。

  5. PDK デバッグプレイグラウンドでポリシーをデバッグします​。

    PDK に用意されているプレイグラウンドを使用して、カスタムポリシーの機能をローカルにデバッグします。

  6. インテグレーションテストを作成します​。

    カスタムポリシーが他のサービスと互換性があることを確認し、新しいポリシーのバージョンごとに回帰エラーが発生しないことを確認するために、インテグレーションテストを作成します。

  7. ポリシーを Exchange でパブリッシュ​します。

    ポリシーを Exchange でパブリッシュし、Flex Gateway 設定でテストするためのポリシーのベータ版を配布します。ポリシーを Flex Gateway にデプロイするには、ステップ 9 を参照してください。

  8. ポリシーを Exchange でリリース​します。

    Exchange でポリシーをリリースして、本番対応のポリシーを配布します。

  9. カスタムポリシーを本番環境にデプロイするには、Flex Gateway にデプロイされている ​API インスタンスにポリシーを適用​します。

  10. ステップ 2 に戻って、この API インスタンスの新しいバージョンを設定します。