クラウドネイティブ API ゲートウェイは、API と API 操作にポリシーを追加し、プラグインを設定することで、セキュリティ、パフォーマンス、保守性を向上させることができます。
ポリシー設定は、API を再公開することなく即座に有効になります。
デフォルトでは、API レベルのプラグイン設定が操作レベルで適用されます。
API レベルのポリシーは操作レベルで削除できませんが、操作レベルのポリシーは API レベルのポリシーを上書きできます。
操作手順
クラウドネイティブ API ゲートウェイでは、インスタンスの外部と内部の 2 つの方法で API ポリシーを追加できます。
インスタンス外部の API
クラウドネイティブ API ゲートウェイコンソールにログインします。左側のナビゲーションウィンドウで [API] を選択し、上部のメニューバーでリージョンを選択します。
対象の API をクリックし、ドロップダウンリストからポリシーを追加したいインスタンスを選択できます。

インスタンス内部の API
クラウドネイティブ API ゲートウェイコンソールにログインします。左側のナビゲーションウィンドウで [インスタンス] を選択し、上部のメニューバーでリージョンを選択します。
[インスタンス] ページで、対象のゲートウェイインスタンスの ID をクリックします。左側のナビゲーションウィンドウで [API] を選択し、対象の API をクリックします。
API レベルまたは操作レベルでポリシーとプラグインを設定できます。
API レベル:[ポリシー設定] タブをクリックして、すべての操作に対する API レベルのポリシーとプラグインを設定し、[ポリシー/プラグインを有効にする] をクリックします。
操作レベル:操作リストで対象の操作をクリックし、[ポリシー設定] タブをクリックして、[ポリシー/プラグインを有効にする] をクリックします。
[ポリシー/プラグインを有効にする] パネルで、設定するポリシーまたはプラグインを選択します。詳細については、「ポリシー設定」および「プラグイン設定」をご参照ください。
ポリシー設定
速度制限ポリシー
クラウドネイティブ API ゲートウェイは、API および操作レベルでの速度制限ポリシーの実装をサポートしており、外部リクエストがバックエンドサービスのキャパシティを超えるのを効果的に防ぎ、カスケード障害を回避します。速度制限機能は、同時リクエスト数が多い場合に一部のリクエストをブロックするのに役立ちます。これにより、バックエンドサービスの可用性が確保されます。指定された期間内に各 API と操作のリクエスト数を正確に制御し、事前に設定されたしきい値を超えないようにすることができます。
速度制限ポリシーには、同時実行数制御、トラフィック制御、サーキットブレーカーポリシーが含まれます。
同時実行数制御ポリシー:同時実行数制御ルールは、ゲートウェイで処理中のリクエストの総数をカウントすることで機能します。メトリックが設定されたしきい値に達すると、トラフィックは即座にブロックされます。バックエンドサービスが処理できる最大同時リクエスト数を設定して、高い同時実行性下でのバックエンドサービスの可用性を保護できます。
トラフィック制御ポリシー:トラフィック制御ルールは、API と操作の QPS メトリックを監視することで機能します。メトリックが設定されたしきい値に達すると、トラフィックは即座にブロックされ、バックエンドサービスが突然のトラフィックスパイクによって圧倒されるのを防ぎ、高可用性を確保します。
サーキットブレーカーポリシー:サーキットブレーカールールは、API と操作の応答時間またはエラー率を監視することで機能します。指定されたしきい値に達すると、依存関係の優先度が即座に低下します。サーキットブレーカーがトリガーされると、システムは指定された期間、ルート上のリクエストを呼び出しません。これにより、バックエンドサービスの高可用性が確保されます。指定された期間が経過すると、システムはルート上のリクエストの呼び出しを再開します。
書き換えポリシー
書き換えポリシーを設定して、リクエストが宛先のバックエンドサービスに転送される前に、リクエストのパスとホスト名を柔軟に変更できます。これにより、特定のビジネス環境やアーキテクチャの要件を満たすことができます。書き換えポリシーを使用すると、リクエストのパスとホスト名を正確に制御し、リクエストが適切なサービスまたはエンドポイントに正しくルーティングされるようにすることができます。
ヘッダー設定ポリシー
ヘッダー設定ポリシーを設定して、リクエストが宛先のバックエンドサービスに転送される前、またはバックエンドサービスの応答がクライアントに返される前に、リクエストまたは応答のヘッダーを変更できます。
オリジン間リソース共有 (CORS) ポリシー
CORS は、Web アプリケーションサーバーがオリジン間アクセス制御を実行できるようにする重要なセキュリティポリシーです。これにより、安全なデータ転送が実現します。クラウドネイティブ API ゲートウェイは、API および操作レベルでの CORS ポリシーの設定をサポートしています。ビジネス要件に基づいて、リソースへのアクセスを許可するドメイン名とリクエストメソッドを制限できます。
CORS ポリシーはモックサービスには適用されません。実際のバックエンドテストサービスを設定する必要があります。
トラフィックレプリケーションポリシー
トラフィックレプリケーションポリシーを使用すると、オンラインアプリケーションのトラフィックを指定されたサービスに複製できます。この機能は、システムのシミュレーションテストと障害特定をサポートし、アプリケーションのパフォーマンスを効率的に評価し、問題をトラブルシューティングするのに役立ちます。
タイムアウトポリシー
クラウドネイティブ API ゲートウェイは、API および操作レベルでタイムアウト設定を提供します。指定された API と操作のリクエストに対する応答をゲートウェイが待機する最大期間を設定できます。ゲートウェイが指定された期間内にバックエンドサービスから応答を受信しない場合、ゲートウェイはクライアントに 504 (ゲートウェイタイムアウト) HTTP ステータスコードを返します。
リトライポリシー
クラウドネイティブ API ゲートウェイは、失敗したリクエストを自動的にリトライするために、API および操作レベルでリトライ設定を提供します。接続の失敗、バックエンドサービスが利用できない、または指定された HTTP ステータスコードを持つ応答など、リトライ条件を設定できます。
プラグイン設定
[プラグインの追加] タブをクリックします。
[クイックナビゲーション] セクションで、インストールしたいプラグインの種類を選択するか、プラグイン名を検索し、プラグインカードをクリックします。
プラグインがインストールされていない場合は、インストールポップアップで [インストールと設定] をクリックし、パネルでプラグインルールを設定して有効にします。
プラグインが既にインストールされている場合は、プラグインルールを設定して有効にします。
[OK] をクリックして API リストに戻ると、プラグインのマウントと有効化のステータスを確認できます。
