ステップ 10: API プロキシをデプロイする

Google Cloud と Apigee UI を構成し、ランタイムのインストールと構成が完了しました。それでは、問題なく機能するかどうか確認してみましょう。

1. Apigee UI を使用して新しい API プロキシを作成する

このセクションでは、API プロキシ ウィザードを使用して UI で新しい API プロキシを作成する方法について説明します。

Cloud コンソールの Apigee

Cloud コンソールの Apigee を使用して新しい API プロキシを作成するには:

  1. ブラウザで Cloud コンソールの Apigee UI を開きます。
  2. 左上隅のプルダウン メニューから組織を選択します。
  3. メインビューで [プロキシ開発] > [API プロキシ] を選択します。
  4. [Create] をクリックします。API プロキシ ウィザードが起動します。
  5. [Reverse proxy] を選択します(最も一般的)。

    プロキシの詳細ビューが表示されます。

  6. 以下の設定でプロキシを構成します。
    • Proxy name:myproxy」と入力します。このセクションの残りの手順では、これがプロキシ ID であることを前提としています。
    • Base path: 自動的に「/プロキシ名」に設定されます。この例では、/myproxy です。Base Path は、API に対するリクエストを行うために使用される URL の一部です。Edge では、URL を使用して受信リクエストを照合し、適切な API プロキシにルーティングします。
    • (省略可)Description: 新しい API プロキシの説明を入力します(「単純なプロキシによる Apigee ハイブリッドのテスト」など)。
    • Target (Existing API): 「https://mocktarget.apigee.net」と入力します。これにより、API プロキシへのリクエストに応じて Apigee が呼び出すターゲット URL が定義されます。mocktarget サービスは Apigee でホストされ、単純なデータを返します。API キーやアクセス トークンは必要ありません。

    API プロキシの詳細は、次のようになります。

    プロキシの作成ウィザードに入力されたプロキシの詳細。

  7. [Next] をクリックします。
  8. [Policies] 画面で、セキュリティ オプションとして [Pass through (no authorization)] を選択します。
  9. [Next] をクリックします。
  10. [Deploy (optional)] では、プロキシをデプロイする環境を [Deployment environments] フィールドで 1 つ以上選択できます。この時点でプロキシをデプロイしない場合は、[Deployment environments] フィールドを空白のままにします。プロキシは、後でいつでもデプロイできます。
  11. [Create] をクリックします。Apigee でプロキシ(プロキシ バンドルと呼ばれることもあります)が生成されます。

[Proxy Summary] ビューが表示されます。プロキシのデプロイを選択した場合は、[Deployments] セクションに [Revision] 番号(最初のデプロイ時は「1」)が表示されます。[ステータス] 列には、プロキシがデプロイされている環境が緑色のステータス インジケーターで表示されます。

その下に [Endpoints] セクションが表示されます。

  • Proxy endpoints: プロキシに設定したベースパス(この例では /myproxy)。
  • Target endpoints: ターゲットに設定したベースパス(この例では https://mocktarget.apigee.net)。

従来の Apigee

従来の Apigee を使用して新しい API プロキシを作成するには:

  1. ブラウザで Apigee UI を開きます。
  2. 左上隅のプルダウン メニューから組織を選択します。
  3. メインビューで [Develop] > [API Proxies] を選択します。
  4. [Create New] をクリックします。API プロキシ ウィザードが起動します。
  5. [Reverse proxy] を選択します(最も一般的)。

    プロキシの詳細ビューが表示されます。

  6. 以下の設定でプロキシを構成します。
    • Proxy Name: 「myproxy」と入力します。このセクションの残りの手順では、これがプロキシ ID であることを前提としています。
    • Proxy Base Path: 自動的に「/ myproxy」に設定されます。Proxy Base Path は、API に対するリクエストを行うために使用される URL の一部です。Edge では、URL を使用して受信リクエストを照合し、適切な API プロキシにルーティングします。
    • (省略可)Description: 新しい API プロキシの説明を入力します(「単純なプロキシによる Apigee ハイブリッドのテスト」など)。
    • Target (Existing API): 「https://mocktarget.apigee.net」と入力します。API プロキシへのリクエストに応じて Apigee が呼び出すターゲット URL を定義します。mocktarget サービスは Apigee でホストされ、単純なデータを返します。API キーやアクセス トークンは必要ありません。

    API プロキシの詳細は、次のようになります。

    プロキシの作成ウィザードに入力されたプロキシの詳細。

  7. [Next] をクリックします。
  8. [Policies] 画面で、セキュリティ オプションとして [Pass through (no authorization)] を選択します。
  9. [Next] をクリックします。
  10. [Summary] 画面で、プロキシをデプロイする環境を選択し、[Create and Deploy] をクリックします。

    ハイブリッドでプロキシ(プロキシ バンドルと呼ばれることもあります)が生成されます。

    プロキシの作成ウィザードの確認ダイアログ。

  11. [Go to proxy list] をクリックします。

    [Proxies] ビューが表示されます。このビューには、API プロキシの一覧が表示されます。新しいプロキシが、デプロイされたことを示す緑色のステータス インジケーターとともに表示されます。

2. API プロキシを呼び出す

プロキシがデプロイされたことが UI で示されたら、cURL または任意の REST クライアントを使用して呼び出しを試すことができます。次に例を示します。

  1. DOMAIN 環境変数が、プロジェクトと組織の設定 - ステップ 3: 環境グループを作成するで、環境グループのホスト名に使用したドメイン名に設定されていることを確認します。
    echo $DOMAIN
  2. 次のコマンドを使用して、Apigee Ingress ゲートウェイの外部 IP アドレスとポートを確認します。

    kubectl get svc -n apigee -l app=apigee-ingressgateway

    出力は次のようになります。

    NAME                                        TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)                                      AGE
    apigee-ingressgateway-prod-hybrid-37a39bd   LoadBalancer   192.0.2.123   233.252.0.123   15021:32049/TCP,80:31624/TCP,443:30723/TCP   16h
  3. 外部 IP とポートを変数にエクスポートします。
    export INGRESS_IP_ADDRESS=EXTERNAL_IP_ADDRESS
    export INGRESS_PORT=PORT_NUMBER
  4. API プロキシを呼び出します。
    curl  -H Host:$DOMAIN --resolve \
      $DOMAIN:$INGRESS_PORT:$INGRESS_IP_ADDRESS  \
      https://$DOMAIN:$INGRESS_PORT/myproxy -k

    次に例を示します。

    curl  -H Host:example.com --resolve example.com:443:233.252.0.123 https://example.com:443/myproxy -k

API プロキシの構築とデプロイの詳細については、最初のプロキシの概要を構築するをご覧ください。