API Management
API管理の紹介
API管理は、APIMシステム内でAPIを作成、構成、テスト、デプロイ、および監視する機能を提供します。これは、ユーザーがAPIを効率的に管理できる中央インターフェースとして機能します。
主な機能
API Creation & Initial Configuration: ユーザーは、必要な構成を持つ新しいAPIを作成できます。
API Post-Creation Configuration:- API Policies Applying: ユーザーは、認証、セキュリティ、およびトラフィック制御のためのポリシーを適用できます。
- Canary Config: APIバージョンの制御された展開を可能にします。
- API Documentation: Swaggerドキュメントを取得および編集できます。
- API Testing: デプロイ前に、リクエストメソッド、ヘッダー、およびパラメーターを使用してAPIをテストできます。
- API Deployment: ユーザーはAPIを公開し、外部からアクセスできるようにします。
- API Modification and Deletion: APIの使用状況に関する洞察を提供し、更新を可能にします。
API管理へのアクセス
ユーザーはサイドバーメニューから API Management に移動できます。
この画面は、すべてのAPIの概要を提供し、フィルタリング、検索、およびAPIの管理オプションを提供します。
API管理画面の機能
Project Selection: プロジェクトを選択して、そのAPIを表示します。
API Data Table: プロジェクト内のすべてのAPIのリストを表示します。ページネーションがサポートされています。
Search Bar: キーワードを使用してAPIを検索できます。
Create API Button: API作成インターフェースにアクセスします。
API and Gateway Tag Filter: ゲートウェイタグまたはAPIタグに基づいてAPIをフィルタリングします。
APIの作成と初期構成
ユーザーは、API管理画面で CREATE AN API をクリックすることで新しいAPIを作成できます。
手順:
- Select Project: ドロップダウンリストからプロジェクトを選択します。
- Configure API Details: 以下のAPI初期構成の詳細を参照します。
- Save API: 作成を確定するには API STORAGE をクリックするか、キャンセルするには CANCELLATION をクリックします。
API初期構成の詳細
Field Name | Purpose | Input Notes | Mandatory |
---|---|---|---|
API名 | ユニークなAPI識別子。 | 英字、数字、スペース、アンダースコア「_」、またはダブルコロン「:」。 | はい |
API説明 | APIに関する追加の詳細。 | 短い説明。 | いいえ |
APIタグ | APIのフィルタリング/検索に使用されます。 | Enterでタグを分ける | いいえ |
APIタイプ | APIの通信タイプを定義し、APIがバックエンドに接続する方法。 | HTTP、WebSocket、AWS Lambdaから選択します。APIタイプの設定に関する詳細な指示を参照してください。 | はい |
プロトコル | APIのセキュリティプロトコルを指定します。 | HTTPまたはHTTPSのいずれかを選択します。HTTPSが選択された場合、SSL証明書が必要です。 | はい |
HTTPメソッド | 許可されるリクエストメソッドを決定します。 | GET、POST、PUT、DELETE、HEAD、PATCH、OPTIONS、TRACE、CONNECTから選択します。複数のメソッドを選択できます。 | はい |
ゲートウェイ | APIにアクセスするためのゲートウェイを指定します。 | 既存のゲートウェイを選択します。APIはゲートウェイに接続されている必要があります。 | はい |
ゲートウェイURL | APIの公開URL。 | 選択したゲートウェイに基づいて自動的に設定され、手動で編集することはできません。詳細については、ユーザーガイド/APIMコンソール/ゲートウェイ管理を参照してください。 | はい |
ゲートウェイURLベースパス | クライアントリクエストのAPIルートを定義します。 | パスを入力します(例:/order)。ゲートウェイURLと組み合わせて完全なAPI URLを形成します。 | いいえ |
ベースパス | リクエストをバックエンドに転送する前に削除されるパスを設定します。 | /serviceのような値を入力します。Strip Pathトグルと連携します。 | はい |
Strip Path | バックエンドに転送する前にベースパスを削除します。 | ONまたはOFFに切り替えます。有効にすると、/serviceはリクエストがバックエンドに到達する前に削除されます。 | はい |
API URL | 最終的なクライアント向けAPI URL。 | ゲートウェイURLとベースパスを組み合わせて自動的に生成されます。 | はい |
バックエンドURL | ゲートウェイによってプロキシされるバックエンドサービスのアドレス。 | 完全なURLを入力します。HTTPベースのAPIには必須のフィールドです。APIタイプの設定に関する詳細な指示を参照してください。 | はい |
Swagger Fetch Path | バックエンドからSwagger JSONドキュメントを取得します。 | Swaggerパスを入力します(例:/v2/api-docs)。自動的にバックエンドURLに追加されます。 | はい |
開発者ポータルへの投稿 | APIが開発者ポータルにリストされるべきかどうかを決定します。 | チェックボックス。チェックを入れると、APIは開発者ポータルに表示され、開発者ポータルで製品として構成できます。 製品としての構成に関する詳細情報は、開発者ポータルガイドを参照してください。 | いいえ |
APIタイプの設定
ユーザーがAPIタイプをHTTPまたはWebSocketとして選択すると、バックエンドURLの特定のURL形式に従う必要があります。
Allowed Backend URL Formats:- http://domain.com/
- http://domain.com
- https://domain.com
- http://sub3.sub2.sub1.domain.com
- http://domain.com/path1
- http://domain.com/path1/path2/path3
- http://domain.com:8081
- http://sub.domain.com:8081/path
ユーザーがAPIタイプをAWS Lambda関数統合として選択すると、APIをAWS LambdaにリンクするためにAWS資格情報を構成する必要があります。
Additional Required Fields for AWS Lambda:- Lambda Name: AWS Lambda関数名を入力します。
- AWS Region: Lambda関数がデプロイされているAWSリージョンを入力します。
API作成の例:
APIが次のように設定されている場合:
- APIタイプ:HTTP(httpsプロトコルを使用)
- ゲートウェイURL:https://your.domain.com
- ベースパス:/myservice
- バックエンドURL:http://backend.com/backend
- Swagger Fetch Path:/v2/api-docs
クライアントリクエストの最終API URLは次のようになります: https://your.domain.com/myservice
Swaggerドキュメントは次のURLから取得されます: http://backend.com/backend/v2/api-docs
たとえば、クライアントが https://your.domain.com/myservice/v1/apis/ を呼び出すと、最終的には http://backend.com/backend/v1/apis/ にプロキシされます。
API作成後の構成
APIが作成されると、ユーザーはAPI詳細画面に移動し、作成後の構成を管理したり、APIを削除したりできます。
Available Configurations:- API Policies Applying: インバウンドおよびアウトバウンドAPIポリシーを設定します。
- Canary Config: バージョンベースのデプロイを構成します。
- API Documentation: Swaggerドキュメントを取得、編集、または更新します。
- API Testing: デプロイ前にAPIテストを実行します。
- API Deployment: 外部アクセスのためにAPIをデプロイします。
- Edit API Frontend & Backend: API URL、ベースパス、およびバックエンドURLを変更します。
- API Deletion: APIを削除します。
APIポリシーの適用
ユーザーはAPIの動作を制御するためのポリシーを設定できます。ポリシーは次のように分かれています:
- Inbound: は、バックエンドに到達する前にリクエストを修正します(例:ヘッダーの変換、IP制限)。
- Outbound: は、クライアントに到達する前にレスポンスを修正します(例:ロギング、ヘッダーの追加)。
ユーザーは、ポリシーを追加または削除し、デプロイ前に設定を構成できます。
Steps:- ポリシーセクションの Edit アイコンをクリックして、APIポリシー詳細設定画面にアクセスします。
- Not Applicable セクションからポリシーを追加するか、適用されたポリシーを削除します。
- ポリシー名をクリックしてポリシー設定を構成します。各ポリシーの構成方法の詳細については、ユーザーガイド/APIMコンソール/APIポリシーを参照してください。
- STORING をクリックして変更を保存します。
ポリシーは個別に保存する必要があり、APIデプロイ後にのみ有効になります。
カナリア設定
カナリア設定は、制御されたAPIバージョンのロールアウトを可能にします。ユーザーはカナリア設定トグルを介して有効にできます。
Steps:- カナリア設定を ON でトグルします。
- カナリア設定:
Field Name | Input Instructions |
---|---|
バックエンド: URL | (ver) 変数を含むバックエンドURL。例: http://backend-url-(ver):8081 |
ベースライン: バージョン | ベースラインのバージョン。 |
ベースライン: リンク | ユーザーが「ベースライン: バージョン」フィールドに入力したときにリンクにバージョンを自動更新します。 |
ベースライン: 重み (%) | 入力数値。「ベースライン: 重み (%)」フィールドと「カナリア: 重み (%)」の合計は100です。 |
カナリア: バージョン | カナリアのバージョン |
カナリア: リンク | ユーザーが「カナリア: バージョン」フィールドに入力したときにリンクにバージョンを自動更新します。 |
カナリア: 重み (%) | 入力数値。「ベースライン: 重み (%)」フィールドと「ベースライン: 重み (%)」の合計は100です。 |
- SAVE をクリックして変更を適用します。
ユーザーは後でAPI管理またはAPI詳細画面を介してカナリア設定を編集できます。
APIドキュメント (Swagger)
ユーザーはSwaggerドキュメントを取得または手動で編集できます。
Steps:- Swagger取得パスを設定します(例:/v3/api-docs)。
- GET SWAGGER をクリックしてドキュメントを取得します。
- 必要に応じて Swagger Editor でSwagger JSONを編集します。
- SAVE SWAGGER をクリックして変更を保存します。
SwaggerドキュメントはAPIと共にデプロイされ、サイドバーの API Document でアクセスできます。
APIテスト
ユーザーはデプロイ前にAPIをテストできます。
Features:- Supported Methods: GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH。
- Request Parameters: パス (/path/(key1))、ヘッダー、クエリパラメータ、ボディ。
- Response Analysis: ステータス、ヘッダー、およびレスポンスボディを表示します。
テストを開始するには、TEST API REQUESTS をクリックします。
APIデプロイメント
APIは外部アクセスのためにデプロイする必要があります。
Steps:- API DEPLOYMENT をクリックします。
- デプロイバージョンの説明を入力します。
- CONFIRMATION をクリックしてデプロイします。
最新のデプロイされたバージョンのみが外部からアクセス可能です。
APIフロントエンドとバックエンドの編集
ユーザーはフロントエンド/バックエンド設定でAPI設定を編集できます。
API削除
ユーザーは以下の方法でAPIを削除できます:
- API詳細画面の Trash icon で。
- API管理画面の Action の下の Cross icon で。
削除されたAPIは復元できません。