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 のような値を入力します。ストリップパスのトグルと連携します。 | はい |
ストリップパス | バックエンドに転送する前にベースパスを削除します。 | ON または OFF に切り替えます。有効にすると、/service はバックエンドに到達する前にリクエストから削除されます。 | はい |
API URL | 最終的なクライアント向け API URL です。 | ゲートウェイ URL とベースパスを組み合わせて自動的に生成されます。 | はい |
バックエンド URL | ゲートウェイによってプロキシされるバックエンドサービスのアドレスです。 | 完全な URL を入力します。HTTP ベースの API に必要なフィールドです。詳細な手順については、API タイプの設定を参照してください。 | はい |
Swagger フェッチパス | バックエンドから 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取得パス: /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を削除できます:
- Trash icon のAPI詳細画面で。
- Cross icon のAPI管理画面のActionの下で。
削除されたAPIは復元できません。