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がゲートウェイにデプロイされます。
- API Modification and Deletion: APIの更新と削除を提供し、APIライフサイクルを管理します。
API管理へのアクセス
ユーザーはサイドバーメニューから API Management に移動できます。

この画面は、すべてのAPIの概要を提供し、フィルタリング、検索、およびAPIの管理オプションを提供します。

API管理画面の機能
Project Selection: プロジェクトを選択して、そのAPIを表示します。APIMのルート管理者はすべてのプロジェクトを表示できます。あるいは、特定のプロジェクトに対してプロジェクト管理者(apim-pjt-admin)権限を付与されたユーザーは、自分が所属するプロジェクトのみを表示できます。
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に切り替えます。有効にすると、「ベースパス」はバックエンドに到達する前にリクエストから削除されます。 | はい |
| API URL | 最終的なクライアント向けAPI URLです。 | ゲートウェイURLとベースパスを組み合わせて自動的に生成されます。 | はい |
| バックエンドURL | ゲートウェイによってプロキシされるバックエンドサービスのアドレスです。 | 完全なURLを入力してください。HTTPベースのAPIには必須のフィールドです。詳細な手順については、APIタイプの設定を参照してください。 | はい |
| Swaggerフェッチパス | バックエンドからSwagger JSONドキュメントを取得します。 | Swaggerパスを入力してください(例:/v3/api-docs)。自動的にバックエンドURLに追加されます。 | はい |
| Developers Portal Posting | APIがDeveloper Portalにリストされるべきかどうかを決定します。 | チェックボックス。チェックが入っている場合、APIはDeveloper Portalに表示され、Developers PortalでProductとして設定できます。 Productとしての設定に関する詳細情報は、Developer Portal Guidesを参照してください。 | いいえ |

APIタイプの設定
ユーザーがAPIタイプをHTTPまたはWebSocketとして選択した場合、Backend 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 Function Integrationとして選択した場合、APIをAWS LambdaにリンクするためにAWS Credentialsを設定する必要があります。
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を削除できます:
- API詳細画面のTrash icon。
- API管理画面のCross iconの下にあるAction。
削除されたAPIは復元できません。
