第1章 3scale APIcast API ゲートウェイの高度な操作について

本章で説明する 3scale APIcast の高度な操作は、API へのアクセスの設定を調整するのに役立ちます。

1.1. 3scale API への呼び出しの公開ベース URL

公開ベース URL は API 利用者がご自分の 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 で指定したホスト名に対する呼び出ししか受け付けません。たとえば、公開ベース URL を https://echo-api.3scale.net:443 と指定した場合には、正しい呼び出しは以下のようになります。

curl "https://echo-api.3scale.net:443/hello?user_key=you_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 はホスト名に基づきリクエストをルーティングします。