第1章 APIcast の運用
本セクションでは、高度な APIcast 設定を使用する際に考慮すべき概念について説明します。
1.1. 公開ベース URL
公開ベース URL は開発者がご自分の API 製品にリクエストを行うのに使用する URL で、3scale により公開されます。これは、ご自分の APIcast インスタンスの URL になります。
Self-managed デプロイメントオプションのいずれかを使用している場合には、それぞれの環境 (ステージングおよび実稼働環境) について、ご自分の管理するドメインに属する専用の公開ベース URL を選択することができます。この URL はご自分の API バックエンドの URL とは別で、たとえば https://api.yourdomain.com:443
のようになります。ここで、yourdomain.com
はご自分のドメインです。公開ベース URL を設定したら必ず変更を保存し、必要に応じてステージング環境の変更を実稼働環境にプロモートしてください。
指定する公開ベース URL は、OpenShift クラスターで利用可能なポートを使用する必要があります。デフォルトでは、OpenShift のルーターは標準の HTTP および HTTPS ポート (80 および 443) の接続しかリッスンしません。ユーザーに他のポート経由で API に接続してもらう場合は、OpenShift の管理者と連携してそのポートを有効にします。
APIcast は公開ベース URL で指定したホスト名に対する呼び出ししか受け付けません。Echo API
を例に取ると、公開ベース URL を https://echo-api.3scale.net:443
と指定した場合には、正しい呼び出しは以下のようになります。
curl "https://echo-api.3scale.net:443/hello?user_key=YOUR_USER_KEY"
API に公開ドメインがない場合には、リクエストに APIcast の IP アドレスを使用することができます。ただし、実際のドメインではなくても良いので、Public Base URL フィールドには値を指定する必要があります。その場合には、Host ヘッダーでホストを指定するようにしてください。以下は例になります。
curl "http://192.0.2.12:80/hello?user_key=YOUR_USER_KEY" -H "Host: echo-api.3scale.net"
ローカルマシンにデプロイしている場合には、ドメインに「localhost」を使用することもできます。この場合には公開ベース URL は http://localhost:80
のようになり、以下のようにリクエストを行うことができます。
curl "http://localhost:80/hello?user_key=YOUR_USER_KEY"
API プロダクトが複数ある場合には、それぞれのプロダクトについてこの公開ベース URL を適切に設定します。APIcast はホスト名に基づきリクエストをルーティングします。