API Creation and Deployment
概念
APIとは何ですか?
API (Application Programming Interface)は、ソフトウェアアプリケーションが互いに通信することを可能にする定義とプロトコルのセットです。APIM (API Management)の文脈では、APIはクライアントによって呼び出すことができる操作のコレクションを表し、バックエンドサービスへのアクセスを容易にします。
なぜAPIを作成するのか?
APIを作成することは、提供者と消費者の両方にいくつかの利点を提供します:
提供者にとって:
- モジュール性:機能を再利用可能なサービスにカプセル化します。
- スケーラビリティ:スケーラブルなアプリケーションの開発を促進します。
- セキュリティ:アクセス制御と監視を実装します。
- マネタイズ:外部の開発者やパートナーにAPIを製品として提供します。
消費者にとって:
- アクセシビリティ:内部実装を理解せずにサービスにアクセスします。
- 効率性:機能を迅速にアプリケーションに統合します。
- イノベーション:既存のAPIを組み合わせて新しいソリューションを構築します。
APIMとKong GatewayにおけるAPIの役割
APIMでは、APIはクライアントとバックエンドサービスの間の主要なインターフェースとして機能します。APIは以下を行います:
- クライアントがサービスとどのように相互作用するかを定義します。
- 認証、レート制限、変換などのポリシーを強制します。
- 使用状況とパフォーマンスメトリックを監視します。
各APIは特定のプロジェクトに関連付けられ、APIリクエストを処理するランタイムコンポーネントとして機能するゲートウェイを通じてデプロイされます。
Kong Gatewayは、以下の機能を提供することでAPI管理を強化します:
- 高度なルーティング:さまざまな基準に基づいてリクエストを直接します。
- セキュリティ:認証、承認、暗号化を実装します。
- 可観測性:APIの使用状況とパフォーマンスを監視します。
- 拡張性:プラグインを通じて機能を追加します。
APIMを介してAPIを作成する利点
APIMなしでのAPI管理の課題
従来の環境では、Kongのようなゲートウェイ上でAPIを直接作成すること(CLI、REST API、または設定ファイルを介して)は、いくつかの制限が伴います。
- 手動設定のオーバーヘッド: 各APIは手動で定義する必要があり、人為的なエラーや不整合のリスクが増加します。
- 中央の可視性の欠如: 開発者や管理者は、すべての登録されたAPIを管理、監査、またはレビューするための単一のビューを持っていません。
- 断片化されたポリシー管理: セキュリティポリシー、レート制限、リクエスト/レスポンスの変換は、APIごとに手動で適用する必要があり、バージョン管理や履歴がありません。
- 限られたコラボレーション: 共有プラットフォームがないため、開発者、テスター、マネージャー間のコラボレーションが非効率的になります。
- ライフサイクルサポートの欠如: APIのバージョン管理、デプロイ前のテスト、変更の追跡は煩雑で、カスタムスクリプトや外部ツールが必要です。
これらの問題は、APIの数が増えるにつれて、または複数のチームや環境で作業する際にさらに深刻になります。
APIMがこれらの問題を解決する方法
APIMシステムは、Kong Gatewayの上に強力な管理レイヤーを提供し、APIを管理するための効率的でスケーラブルな方法を提供します。その利点は次のとおりです。
- ビジュアルインターフェース: ユーザーは、使いやすいWebコンソールを通じてAPIを作成、構成、デプロイでき、CLIを使用したり設定ファイルを手動で編集したりする必要がありません。
- 中央集権的APIレジストリ: すべてのAPIはプロジェクトごとに管理され、明確な所有権、隔離、およびガバナンスが可能です。
- 統合ポリシー適用: APIの構成中にセキュリティ、スロットリング、ロギング、変換ポリシーを簡単に添付でき、明確なバージョン管理が行えます。
- シームレスなデプロイメント: プロジェクト特有のゲートウェイへのワンクリックデプロイメントは、エラーを減らし、段階的な環境をサポートします。
- 組み込みのバージョン管理とドキュメント: APIは同じ環境でバージョン管理、テスト、ドキュメント化が可能で、保守性が向上します。
- チームコラボレーション: ロールベースのアクセスを通じて、異なるステークホルダー(管理者、開発者、テスター)がプロジェクトの境界内で安全に貢献できます。
最終的に、APIMはKongのランタイムパワーと構造化された管理プラットフォームを組み合わせることで、APIの構築と保守の方法を変革し、運用負担を軽減し、より迅速で安全な開発ワークフローを可能にします。
APIを作成する手順
APIMでAPIを作成するには、以下の手順に従ってください。
APIMコンソールにアクセス
apim-adminの資格情報でログインします。
API管理に移動
適切なプロジェクトを選択し、API管理セクションに移動します。
新しいAPIを追加
「+ APIを追加」をクリックします。APIを定義する方法を選択します。
API設定を構成
- 名前: APIの一意の識別子。
- ゲートウェイ: プロジェクトのKongゲートウェイおよびゲートウェイURLに接続します。
- ウェブサービスURL: バックエンドサービスのエンドポイント。
- API URLサフィックス: ゲートウェイURLに追加されるサフィックス。
- 説明: APIに関するオプションの詳細。
- 操作の定義: URLパスとパラメータを指定して操作(例: GET、POST)を追加します。
ポリシーを適用
認証、レート制限、変換などのポリシーを実装します。
APIドキュメントを書くまたは更新する
組み込みのMarkdownエディタを使用して、APIドキュメントを作成または更新します。
コンテンツをプレビューし、「公開」をクリックします。これにより、ドキュメントはAPIドキュメントメニューに表示され、認可されたユーザーが開発者ポータルを介してアクセスできるようになります。
APIをAPI管理に保存する
API設定を保存し、API管理画面で作成されたAPIを表示します。
詳細な手順や追加オプションについては、ユーザーガイド > APIMコンソールガイド > API管理を参照してください。
APIデプロイメント
APIを正常に作成した後、作成されたAPIをクリックしてAPI設定画面にアクセスできます。ここからAPIデプロイメントボタンをクリックして、APIを外部からアクセス可能にデプロイします。
APIの各デプロイメントは新しいバージョンを生成します。APIのデプロイメントを行うたびに、バージョンの説明を入力する必要があります。
APIがデプロイされた後、ユーザーはAPIデプロイメントメニューを通じてAPIのステータスとデプロイメントログを監視できます。
ユーザーはまた、各個別のAPIデプロイメントレコードをクリックして、APIおよびそのバージョンの詳細を表示できます。
このステップが完了すると、APIはゲートウェイ上でアクティブになり、その公開エンドポイントURLを介してアクセス可能になります。これで、APIをテストするための最終ステップに進むことができます。