Cloud-native API Gateway コンソールで REST API を公開、インポート、エクスポート、シャットダウンします。ワンクリックで SDK とそのドキュメントを生成することもできます。
API の公開
前提条件
API を公開する前に、その操作が定義および作成されていることを確認してください。
操作手順
Cloud-native API Gateway は、共有 API とインスタンススコープ API の 2 種類の API をサポートしています。
共有 API
-
Cloud-native API Gateway コンソールにログインします。左側のメニューで [API] を選択します。上部メニューで、リージョンを選択します。
-
対象の API 名をクリックし、右上隅にあるPublishをクリックします。
-
Publish API パネルで、パラメーターを設定し、Publish をクリックします。
パラメーター
説明
[Domain Name]
ドメイン名を選択します。公開後、このドメイン名経由で API にアクセスできるようになります。
利用可能なドメイン名がない場合は、[ドメイン名の追加] をクリックします。詳細については、「ドメイン名の作成」をご参照ください。
[Instance]
ゲートウェイインスタンスを選択します。インスタンスを分けることで、環境を分離できます。
[Scenario]
シナリオには、基本シナリオとカナリアリリースシナリオがあります。バックエンドサービスの種類については、「ルーティング」をご参照ください。
基本シナリオ
-
モック:操作のモック設定に基づいてモック レスポンスを返します。モック設定がない操作はアクセスできません。
説明モックシナリオで公開するには、少なくとも 1 つの操作でモック設定が有効になっている必要があります。そうでない場合、公開は失敗します。
-
[Single Service]:すべてのリクエストを単一のバックエンドサービスにルーティングします。最も一般的なユースケースです。
カナリアリリースシナリオ
-
[By Percentage (Multi-service)]:バックエンドサービスにトラフィックを、設定した割合で分散します。トラフィックシフトやカナリアリリースに使用されます。
説明すべてのサービスの重みの合計は 100 にする必要があります。
-
[By Content (Multi-service)]は、一致条件に基づいてトラフィックを異なるバックエンドサービスにルーティングします。Default とマークされたルールは、一致しないトラフィックを処理します。
-
サポートされている一致タイプ:等しい、プレフィックス、正規表現。
-
サポートされているパラメーターの場所:クエリ、ヘッダー。
複数の条件は AND ロジックで結合されます。
重要Default として設定できるルールは 1 つだけです。他のすべてのルールには、空でない一致条件が必要です。
-
-
[By Tag (Proportion-based Routing)]:複数のバックエンドサービスのバージョン間でトラフィックを割合で分散します。フルリンクカナリアリリースの場合、単一サービスのルーティングを推奨します。
[Backend Services]
ゲートウェイまたは VPC でバックエンドサービスを関連付けます。利用可能なものがない場合は、Create Service をクリックして サービスを作成 します。
[Publish Description]
この公開に関する説明を入力します。
-
インスタンススコープ API
-
Cloud-native API Gateway コンソールにログインします。左側のナビゲーションペインで、インスタンス を選択します。上部のナビゲーションバーで、リージョンを選択します。
-
インスタンス ページで、目的のゲートウェイインスタンスの ID をクリックします。左側のナビゲーションペインで [API] を選択し、目的の API をクリックします。
-
右上隅にあるPublishをクリックします。Publish API パネルで、パラメーターを設定し、Publish をクリックします。
パラメーター
説明
[インスタンス]
API が公開されるインスタンスです。インスタンスを分けることで、環境を分離できます。
[VPC]
インスタンスが配置されている VPC です。
[Publish Scope]
公開する API 操作の範囲です。操作名をクリックすると詳細が表示されます。
[Publish Description]
この公開に関する説明を入力します。
API バージョンの追加
現在、バージョンを追加できるのは共有 API のみです。
-
Cloud-native API Gateway コンソールにログインします。左側のメニューで [API] を選択し、上部メニューでリージョンを選択します。
-
対象の API をクリックします。右上隅で を選択し、次のパラメーターを設定します。
パラメーター
説明
[Usage]
サポートされている方式:[パス]、[クエリ]、[ヘッダー]。
説明-
Usage として [クエリ] を選択した場合、Add Query パラメーターを設定する必要があります。
-
Usage として Header を選択した場合は、Add Header パラメーターを設定する必要があります。
-
[パス] 方式を使用する場合、完全なリクエストパスは
/APIBasePath/VersionNumber/OperationPathとなります。 -
Query メソッドを使用する場合、パス
/APIBasePath/OperationPathを使用し、Add Query で指定されたクエリパラメーターにバージョン番号を含めます。 -
Header メソッドを使用する場合、パス
/APIBasePath/OperationPathを使用し、Add Header で指定されたリクエストヘッダーにバージョン番号を含めます。
-
-
(オプション) バージョンを追加した後、ページ上部の Version タブをクリックして、バージョンを切り替えます。
公開履歴の表示
直近 10 件の公開記録が保持されます。
-
共有 API またはインスタンススコープ API の公開履歴を表示します。
共有 API
-
Cloud-native API Gateway コンソールにログインします。左側のメニューで [API] を選択します。上部メニューで、リージョンを選択します。
-
対象の API をクリックし、Publish History タブをクリックします。
インスタンススコープ API
-
クラウドネイティブ API ゲートウェイコンソールにログインします。左側のナビゲーションペインで、インスタンス を選択します。上部のナビゲーションバーで、リージョンを選択します。
-
インスタンス ページで、ターゲットゲートウェイインスタンスの ID をクリックします。左側のナビゲーションペインで、API を選択し、ターゲット API をクリックし、Publish History タブをクリックします。
-
-
履歴バージョンのActions列で、Viewをクリックすると、その詳細を表示できます。
SDK とドキュメントの生成
-
共有 API またはインスタンススコープ API の SDK とドキュメントを生成します。
共有 API
-
Cloud-native API Gateway コンソールにログインします。左側のメニューで [API] を選択します。上部メニューで、リージョンを選択します。
-
対象の API をクリックします。右上隅で、 を選択します。
インスタンススコープ API
-
クラウドネイティブ API ゲートウェイコンソールにログインします。左側のナビゲーションペインで、インスタンスを選択します。上部のナビゲーションバーで、リージョンを選択します。
-
インスタンス ページで目的のゲートウェイインスタンスの ID をクリックし、左側のナビゲーションペインで API を選択して、目的の API をクリックします。
-
右上隅で、 を選択します。
-
-
More > Generate SDK & Documentation ダイアログボックスで、パラメーターを設定して Generate and Download をクリックします。
パラメーター
説明
[API Version]
SDK とドキュメントを生成する API のバージョンを選択します。
説明-
インスタンススコープ API はバージョニングをサポートしていないため、このオプションは利用できません。
-
共有 API の場合、API の作成時にバージョン管理を有効にしている場合のみ、このオプションを利用できます。
[Language]
サポートされている SDK 言語:Java、Golang、Python、Node.js、TypeScript、Swift。
-
-
圧縮パッケージがブラウザーのデフォルトフォルダーに自動的にダウンロードされます。
説明パッケージを解凍した後、SDK の使用方法については
README.mdファイルをご参照ください。
API のインポート
-
共有 API またはインスタンススコープ API の API 定義をインポートします。
共有 API
-
Cloud-native API Gateway コンソールにログインします。左側のメニューで [API] を選択します。上部メニューで、リージョンを選択します。
-
対象の API をクリックし、右上隅でを選択します。
インスタンススコープ API
-
クラウドネイティブ API ゲートウェイコンソールにログオンします。左側のナビゲーションペインで、インスタンス を選択します。上部のナビゲーションバーで、リージョンを選択します。
-
インスタンス ページで、対象のゲートウェイインスタンスの ID をクリックします。左側のナビゲーションペインで、[API] を選択し、次に対象の API をクリックします。
-
右上隅で、を選択します。
-
-
Create File based on OpenAPI パネルで、パラメーターを設定し、Precheck and Create をクリックします。
API をインポートすると、API の名前は OpenAPI 定義ファイルの info.title フィールドから取得されます。ファイルに info.title が指定されていない場合、システムによって名前が自動的に生成されます。API の作成後に API の名前を変更することはできません。
既存の API の名前を変更するには、その API 定義ファイルをエクスポートし、ファイル内の info.title フィールドを変更してから、ファイルを再度インポートします。
API のエクスポート
-
共有 API またはインスタンススコープ API の API 定義をエクスポートします。
共有 API
-
Cloud-native API Gateway コンソールにログインします。左側のメニューで [API] を選択します。上部メニューで、リージョンを選択します。
-
対象の API をクリックします。右上隅で、 を選択します。
インスタンススコープ API
-
クラウドネイティブ API ゲートウェイコンソールにログオンします。左側のナビゲーションペインで、インスタンスを選択します。上部のナビゲーションバーで、リージョンを選択します。
-
インスタンス ページで目的のゲートウェイインスタンスの ID をクリックし、左側のナビゲーションペインで [API] を選択してから、目的の API をクリックします。
-
右上隅で、を選択します。
-
-
Export ダイアログボックスで、OK をクリックします。API 定義は、ブラウザーのデフォルトのダウンロードフォルダーにダウンロードされます。
API のシャットダウン
API をシャットダウンすると、その操作は関連付けられたドメイン名からアクセスできなくなります。リクエストは処理されなくなりますが、設定と公開履歴は保持されます。注意して操作してください。
-
共有 API またはインスタンススコープ API をシャットダウンします。
共有 API
-
Cloud-native API Gateway コンソールにログインします。左側のメニューで [API] を選択します。上部メニューで、リージョンを選択します。
-
対象の API をクリックします。右上隅で、 を選択します。
インスタンススコープ API
-
クラウドネイティブ API ゲートウェイコンソールにログオンします。左側のナビゲーションペインで、インスタンス を選択します。上部のナビゲーションバーで、リージョンを選択します。
-
インスタンス ページで、目的のゲートウェイインスタンスの ID をクリックします。左側のナビゲーションペインで [API] を選択し、目的の API をクリックします。
-
右上隅で、 を選択します。
-
-
Confirm Unpublish ダイアログボックスで、Shutdown をクリックします。
API の削除
-
公開済みの API を削除する前に、まずすべてのインスタンスから API をシャットダウンする必要があります。
-
API を削除すると、その設定、ドキュメント、履歴が完全に削除されます。この操作は元に戻せません。注意して操作してください。
-
共有 API またはインスタンススコープ API を削除します。
共有 API
-
Cloud-native API Gateway コンソールにログインします。左側のメニューで [API] を選択します。上部メニューで、リージョンを選択します。
-
対象の API をクリックします。右上隅で、 を選択します。
インスタンススコープ API
-
クラウドネイティブ API ゲートウェイコンソールにログインします。左側のナビゲーションペインで、インスタンス を選択します。上部のナビゲーションバーで、リージョンを選択します。
-
インスタンス ページで、対象のゲートウェイインスタンスの ID をクリックします。左側のナビゲーションペインで [API] を選択し、対象の API をクリックします。
-
右上隅で、を選択します。
-
-
削除の確認 ダイアログボックスで、Delete をクリックします。