Apigee Emulator とは

このページは ApigeeApigee ハイブリッドに適用されます。

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

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

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

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

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

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

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

  • 現在デプロイされているアプリケーションを表示します(環境のデプロイを参照)

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

Apigee Emulator の管理

以下のセクションで説明するように、Apigee Emulator を管理します。Apigee Emulator の確認もご覧ください。

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

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

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

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

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

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

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

  6. 新しく追加したエミュレータがエミュレータ ビューに表示されます。

Apigee Emulator のインストール

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

  1. [Local development] の [emulators] 項目を開いて、一覧にエミュレータが表示されていることを確認します。 Apigee Emulator を開く

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

  3. [Apigee Emulator をインストールする] をクリックします。

    Apigee Emulator をインストールする

    Apigee Emulator コンテナを構成するように求められます。

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

  5. Apigee Emulator コンテナのコントロール ポートとして使用する一意の数値を入力し、Enter キーを押します。デフォルトのコントロール ポートは 8080 です。

  6. Apigee Emulator コンテナのトラフィック ポートとして使用する一意の数値を入力し、Enter キーを押します。
    デフォルトのトラフィック ポートは 8998 です。

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

Apigee Emulator をインストールする

Apigee Emulator のコンテナの追加

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

  1. [Local development] の [emulators] セクションを開きます。

    Apigee Emulator を開く

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

  3. [+] をクリックします。コンテナを構成するよう求めるプロンプトが表示されます。

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

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

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

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

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

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

UI の使用

Docker やランタイムの情報を含む Apigee Emulator のステータス情報を表示するには、[Apigee Emulators] セクションでコンテナを開きます。使用している 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 コンテナにカーソルを合わせて、Apigee Emulator の起動アイコン をクリックします。

Docker CLI の使用

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

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

Apigee Emulator のステータス情報

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

Apigee Emulator のリセット

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

UI の使用

Apigee Emulator をリセットするには、[Apigee Emulators] セクションにある 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

レスポンスは次のようになります。MyContainer

Apigee Emulator の更新

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

UI の使用

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

Docker CLI の使用

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

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

  • docker pull imagename を実行して 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 Emulators] セクションにある Apigee Emulator コンテナにカーソルを合わせて、Apigee Emulator の停止アイコン をクリックします。

Docker CLI の使用

Apigee Emulator を再起動するには、[Terminal] タブで docker stop apigee-emulator を実行します。

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

停止中

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

Apigee Emulator のコンテナの削除

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

UI の使用

Apigee Emulator を削除するには、[Apigee Emulators] セクションにある Apigee Emulator コンテナにカーソルを合わせて、 をクリックします。

Docker CLI の使用

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

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

  • docker rm container を実行して 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. 設定を保存し、テスト用の新しいコンテナ インスタンスを作成します。