Apigee Emulator とは

このページの内容は ApigeeApigee ハイブリッドに該当します。

Apigee Edge のドキュメントを表示する。

Apigee Emulator はカスタマイズされた Docker イメージであり、ローカル開発環境に API プロキシをデプロイしてテストするためにデベロッパーに一般公開されています。Docker イメージは gcr で定期的に公開されています。

最初の API プロキシをデプロイしてテストする準備ができたら、エミュレータ セクションを使用して、エミュレータのバージョンと、セットアップされたエミュレータのライフサイクルを表示して管理する必要があります。

このセクションでは次の操作を行うことができます。

エミュレータ セクションの詳細

  • インストールされているエミュレータのバージョン、エミュレータのバージョンごとに作成されたコンテナ(Docker やランタイムの情報など)、コントロール ポート、トラフィック ポートを確認します。

  • Apigee Emulator の管理で説明されているように、Apigee Emulator コンテナのビューを追加、削除、起動、停止、リセット、更新します。

  • デプロイされたアプリケーションを表示します(環境のデプロイを参照)。

  • アクティブなテストリソースを表示します(Apigee Emulator へのテストリソースのエクスポートを参照)。

Apigee Emulator の管理

以下のセクションで説明するように、Apigee Emulator を管理します。

エミュレータ バージョンの選択

デフォルトでは、emulator フォルダには安定版が表示されます。ただし、要件に応じて別のバージョンを選択できます。

  1. 次のいずれかの方法で Apigee Emulator のバージョンのリストを表示し、Tag 値をメモします。

  2. Apigee Emulator のバージョンを Cloud Code 拡張機能に追加するには、 [Manage] > [Settings] をクリックし、apigee emulators を検索します。

  3. [Add item] をクリックします。エミュレータの設定

  4. 手順 1 で取得したタグの値を入力します。たとえば、1.10.0 や、google/apigee-emulator:1.10.0 です。

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

  6. 新しく追加したエミュレータが emulator フォルダに表示されます。

Apigee Emulator のインストール

Apigee Emulator をインストールするには:

  1. ワークスペースの emulators フォルダを開きます。

  2. インストールする Apigee Emulator のバージョンにカーソルを合わせます。

  3. Apigee Emulator コンテナのインストール アイコン をクリックします。

    Apigee Emulator コンテナをインストールする

  4. Apigee Emulator のコンテナの追加の手順に沿ってコンテナを追加します。

選択した Apigee Emulator バージョンの最新イメージがインストールされます。インストールが完了すると、「Emulator installed successfully」というメッセージが表示され、Apigee Emulator コンテナのステータスが「Ready」に変わります。

Apigee Emulator をインストールする

Apigee Emulator のコンテナの追加

UI を使用して Apigee Emulator のコンテナを追加するには:

  1. emulators フォルダを開きます。

    Apigee Emulator を開く

  2. コンテナを追加する Apigee Emulator にカーソルを合わせます。

  3. [+] をクリックします。

  4. Apigee Emulator コンテナの一意の名前を入力し、Enter キーを押します。英数字、ダッシュ(-)、アンダースコア(_)を入力します。

  5. Apigee Emulator コンテナのコントロール ポートとして使用する数値を入力し、Enter キーを押します。 コントロール ポートは、コンテナ間で一意である必要があります。デフォルトでは 8080 に設定されます。

  6. Apigee Emulator コンテナのトラフィック ポートとして使用する数値を入力し、Enter キーを押します。トラフィック ポートはコンテナ間で一意である必要があります。デフォルトでは 8998 に設定されます。

コンテナが追加されます。

Apigee Emulator のステータス情報の表示

以下のセクションで説明するように、Apigee Emulator のステータス情報を確認します。

UI の使用

Docker やランタイムの情報を含む Apigee Emulator のステータス情報を表示するには、エミュレータ セクションでコンテナを開きます。使用している Apigee Emulator のバージョンに対応する情報が表示されます。

Apigee Emulator のステータス情報

Docker CLI の使用

Apigee Emulator とその構成済みポートのコンテナ ステータス情報を表示するには、[Terminal] タブで docker ps を実行します。レスポンスの例を次に示します。実際に表示されるレスポンスは、使用している Apigee Emulator のバージョンによって異なります。

CONTAINER ID   IMAGE                                COMMAND       CREATED        STATUS        PORTS                                      NAMES
33756b8c5c5b   ...apigee-emulator:1.11.0   "/usr/bin…"   10 hours ago   Up 10 hours   7000-7001/tcp, 0.0.0.0:8080->8080/tcp...   apigee-emulator

Apigee ランタイム Docker コンテナのカスタマイズもご覧ください。

Apigee Emulator の起動

以下のセクションで説明するように、Apigee Emulator を起動します。

UI の使用

Apigee Emulator を起動するには、起動するコンテナにカーソルを合わせて、Apigee Emulator コンテナを起動する をクリックします。

Docker CLI の使用

Apigee Emulator を起動するには、[Terminal] タブで docker start CONTAINER_NAME を実行します。

ステータスが Ready に設定されます。

Apigee Emulator のステータス情報

Apigee ランタイム Docker コンテナのカスタマイズもご覧ください。

Apigee Emulator のリセット

以下のセクションの説明に従い、Apigee Emulator をリセットして、すべてのデプロイとエクスポートされたテストリソースを削除します。

UI の使用

Apigee Emulator をリセットするには、エミュレータ セクションにある Apigee Emulator コンテナにカーソルを合わせて、Apigee Emulator のリセットのアイコン をクリックします。

Apigee Emulator はリセットされ、ステータスが Ready に設定されます。

Apigee Emulator のステータス情報

[Output] タブに次の情報が表示されます。

Resetting the Apigee Emulator
Reset completed

Apigee ランタイム Docker コンテナのカスタマイズもご覧ください。

Apigee Emulator の再起動

Apigee Emulator を再起動するには、[Terminal] タブで docker restart CONTAINER_NAME を実行します。例: docker restart MyContainer

Apigee Emulator の更新

Apigee Emulator が最新バージョンと同期されていない場合は、次のセクションの説明に従って、UI または Docker CLI を使用してインストール済みバージョンを更新できます。

UI の使用

Apigee Emulator を更新するには、エミュレータ セクションにある Apigee Emulator にカーソルを合わせて、Apigee Emulator の更新アイコン をクリックします。

Docker CLI の使用

Apigee Emulator を更新するには、[Terminal] タブで、最新の適切なバージョンを使用して次の Docker コマンドを実行します。

  • docker ps を実行してイメージ名を取得します。例: gcr.io/apigee-release/hybrid/apigee-emulator:EMULATOR_VERSION

  • docker pull IMAGE_NAME を実行して、Apigee Emulator のインストール イメージを更新します。例: docker pull gcr.io/apigee-release/hybrid/apigee-emulator:EMULATOR_VERSION

Apigee Emulator が更新され、Emulator version is up to date というメッセージが表示されます。

Apigee ランタイム Docker コンテナのカスタマイズもご覧ください。

Apigee Emulator の停止

次のセクションの説明に従って、UI または Docker CLI を使用して Apigee Emulator を停止します。

UI の使用

Apigee Emulator を停止するには、エミュレータ セクションにある Apigee Emulator コンテナにカーソルを合わせて、Apigee Emulator の停止アイコン をクリックします。

Docker CLI の使用

Apigee Emulator を停止するには、[Terminal] タブで docker stop CONTAINER_NAME を実行します。

Apigee Emulator が停止し、ステータスが Not running に変わります。

Not running ステータスの Apigee Emulator

Apigee ランタイム Docker コンテナのカスタマイズもご覧ください。

Apigee Emulator のコンテナの削除

次のセクションの説明に従って、UI または Docker CL を使用して Apigee Emulator のコンテナを削除します。

UI の使用

Apigee Emulator を削除するには、エミュレータ セクションにある Apigee Emulator コンテナにカーソルを合わせて、コンテナを削除するゴミ箱アイコン をクリックします。

Docker CLI の使用

Apigee Emulator のコンテナを削除するには、[Terminal] タブで次の Docker コマンドを実行します。

  • docker stop CONTAINER_NAME を実行して、Apigee Emulator のインストール イメージを停止します(まだ停止していない場合)。例: docker stop MyContainer

  • docker rm CONTAINER_NAME を実行して、Apigee Emulator のインストール イメージを停止します。例: docker rm MyContainer

コンテナが削除されます。

Apigee ランタイム Docker コンテナのカスタマイズもご覧ください。

Apigee ランタイム Docker コンテナのカスタマイズ

Apigee Emulator インスタンスの制御に使用される Docker コマンドラインは、次のオプションを使用してカスタマイズできます。

オプション 説明
additionalArguments 1 つ以上の引数を追加します。引数は、指定したとおりに docker run コマンドに追加されます。デフォルトは ""(なし)です。
detached コンテナの実行中に --detached オプションを使用するかどうかを制御します。デフォルトは true です。
dns DNS サービスの説明に沿って、DNS サービスの -dns フラグを制御します。デフォルトは 8.8.8.8 です。
environmentVariables オプションの説明に沿って、docker run コマンドに環境変数を追加します。指定した場合、値は -e name=value を使用して docker run コマンドに追加されます。デフォルト リストには "XTERM": "xterm-256color" が含まれます。
labels コンテナに付加する 1 つ以上のラベルを追加します。ラベルは、-l label:value を使用して docker run コマンドに追加されます。デフォルトは none です。
privileged コンテナの実行中に --privileged オプションを使用するかどうかを制御します。デフォルトは true です。
volumes コンテナにマウントするボリュームを 1 つ以上追加します。ボリュームは、-v label:value を使用して docker run コマンドに追加されます。デフォルトは none です。

Apigee ランタイム Docker コンテナをカスタマイズするには:

  1. この機能は Insiders ビルド(v1.21.0 以降)の一部として利用できます。Insider ビルドのインストールの説明に沿って Insiders ビルドをインストールします。

  2. [Manage] > [Settings] をクリックし、apigee docker を検索します。

  3. [Cloudcode] > [Apigee: Docker Options] で、[Edit in settings.json] をクリックします。次のように、カスタマイズ可能なオプションが settings.json ファイルに表示されます。

    "cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {},
      "additionalArguments":""
    }
  4. オプションを編集してファイルを保存します。

サービス アカウント ベースの認証をサポートするように Apigee Emulator をカスタマイズする

Google Cloud サービス アカウント ベースの認証に依存するプロキシをテストする場合、Apigee Emulator は Google サービス アカウント キーにアクセスする必要があります。手順に沿って、サービス アカウント ベースの認証をサポートするように Apigee Emulator を構成します。

サービス アカウント キーの作成とダウンロード

サービス アカウント トークン作成者ロールを持つ Google Cloud サービス アカウントを作成します。これは、Apigee Emulator がサービス アカウントをサポートするために必要です。サービス アカウント キーを作成するの説明に沿って、サービス アカウント キーを作成します。

キーをローカル ファイル システムにダウンロードして、Apigee Emulator に提供できるようにします。

Apigee Emulator の構成

Apigee Emulator の設定を構成するには:

  1. Apigee ランタイム Docker コンテナのカスタマイズの説明に沿って、Docker オプションを開きます。

  2. Docker オプションの volumes セクションで新しいボリュームを追加し、ダウンロードしたサービス アカウント キーのパスをコンテナで使用できるようにします。鍵がパス /opt/apigee/keys/apigee-sa-key.json にダウンロードされた場合、次の設定により、/opt/apigee/keys のコンテンツがコンテナ内のパス /emulator/keys にマウントされます。

    "volumes": {
      "/opt/apigee/keys":"/emulator/keys"
    }
  3. Docker オプションの environmentVariables セクションに、マウントされたパス内のファイルを指す GOOGLE_APPLICATION_CREDENTIALS 変数を追加します。

    "environmentVariables": {
      "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
    }

  4. 設定を保存して、テストに使用できる新しいコンテナ インスタンスを作成します。

次の例は、Google サービス アカウント キーを Apigee Emulator に関連付ける方法を示しています。

"cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color",
          "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {
         "/opt/apigee/keys":"/emulator/keys"
      },
      "additionalArguments":""
    }

HTTP 転送プロキシをサポートするように Apigee Emulator を構成する

多くの場合、プロキシに関連付けられたバックエンド ターゲットにアクセスするには、HTTP 転送プロキシを使用する必要があります。Apigee Emulator は、環境変数 FORWARD_PROXY を使用して、ターゲットに接続する際に転送プロキシを使用するように構成できます。

Apigee Emulator の設定を構成するには:

  1. Apigee ランタイム Docker コンテナのカスタマイズの説明に沿って Docker オプションを開きます。

  2. Docker オプションの environmentVariables セクションに、HTTP URL として転送プロキシ アドレスを指す FORWARD_PROXY 変数を追加します。

    "environmentVariables": {
      "FORWARD_PROXY":"http://proxy_host:proxy_port"
    }

  3. 設定を保存し、テスト用の新しいコンテナ インスタンスを作成します。