新しい API プロキシを作成してデプロイする

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

このセクションでは、次の手順について説明します。

  1. API プロキシ ウィザードを使用して、Apigee UI で新しい API プロキシを作成する
  2. UI を使用して、クラスタに新しいプロキシをデプロイする

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

API プロキシ ウィザードを使用してシンプルな API プロキシを作成するには、次のようにします。

  1. ブラウザで Apigee UI を開きます。
  2. メインビューで [Develop] > [API Proxies] を選択します。
  3. [Environment] プルダウン リストから、新しい API プロキシを作成する環境を選択します。このセクションでは、環境名が「test」であることを前提としています。ステップ 5: 環境を追加するで、少なくとも 1 つの環境を作成しました。

    ハイブリッド UI に、その環境の API プロキシのリストが表示されます。プロキシをまだ作成していない場合、リストは空です。

  4. 右上の [+Proxy] をクリックします。API プロキシ ウィザードが起動します。
  5. [Reverse proxy (most common)] を選択し、[Next] をクリックします。

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

  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] をクリックします。

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

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

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

2. ハイブリッド UI を使用してプロキシをクラスタにデプロイする

新しいプロキシを作成したら、それをデプロイし、テストで使用できるようにする必要があります。このセクションでは、ハイブリッド UI を使用して新しいプロキシをデプロイする方法について説明します。

API プロキシをハイブリッド UI でデプロイするには:

  1. ハイブリッド UI で [Develop] > [API Proxies] の順に選択します。

    「test」環境が選択されていることを確認します。

    UI のプロキシリストに新しいプロキシが表示されます。

  2. myproxy プロキシをクリックします。

    UI に、そのプロキシの [API Proxy Overview] タブが表示されます。

    [Deployments] の下の [Revision] 列に [Not deployed] と表示されます。

  3. [Revision] 列でプルダウン セレクタを展開し、デプロイするリビジョンを選択します。

    プルダウン リストには「1」と「Undeploy」のみが表示されます。

  4. プルダウン リストで、デプロイするリビジョンである「1」を選択します。

    デプロイの確認を求めるメッセージが UI に表示されます。

  5. [Deploy] をクリックします。

    UI で、新しいプロキシのリビジョン 1 をクラスタにデプロイするプロセスが開始します。

    デプロイは短時間のプロセスではありません。ハイブリッドの結果整合性デプロイモデルでは、新しいデプロイはすぐにではなく、少し間をおいてからクラスタにロールアウトされます。

UI でプロキシのデプロイ ステータスを確認するにはいくつかの方法がありますが、次の 2 つのステップでは、デプロイした API プロキシの呼び出し方法と、Apigee API の呼び出しによるデプロイ ステータスの確認方法について説明します。

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

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

  1. 環境グループのホスト エイリアスを変数にエクスポートします。
    $HOSTALIAS=your_host_alias
  2. API プロキシを呼び出します。
    curl -k https://$HOSTALIAS/myproxy

    次に例を示します。

    curl -v -k https://apitest.acme.com/myproxy

    呼び出しに成功すると、次の出力が表示されます。

    Hello, Guest!

自己署名証明書を使用していて TLS / SSL エラーが発生した場合は、次の手順を試してください。

  1. 環境グループのホスト エイリアスを変数にエクスポートします。
    $HOSTALIAS=your_host_alias
  2. Ingress ホストをエクスポートします。
    export INGRESS_HOST=$(kubectl -n istio-system get service \
      istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  3. 安全な Ingress ポート番号をエクスポートします。
    export SECURE_INGRESS_PORT=$(kubectl -n istio-system get \
      service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].port}')
  4. API プロキシを呼び出します。
    curl  -H Host:$HOSTALIAS --resolve \
      $HOSTALIAS:$SECURE_INGRESS_PORT:$INGRESS_HOST  \
      https://$HOSTALIAS:$SECURE_INGRESS_PORT/myproxy -k