Hosted Targets のよくある質問

作成またはデプロイできる Hosted Targets の数に上限はありますか?

プランの Hosted Target のエンタイトルメントについて詳しくは、Apigee Edge Cloud 比較マトリクスのスペックシートをご覧ください。

Hosted Target プロキシをサポートする管理 API はありますか?

Hosted Targets をサポートするために、新しい管理 API の作成や既存の API の変更などは行っておりません。ただし Hosted Target プロキシが適切に作成されている限り、既存の管理 API を使用して、Hosted Targets を使用するプロキシのデプロイや管理を行えます。関連情報: Node.js アプリに必要なディレクトリ構造

ターゲット バックエンドの保護に IP ホワイトリストを使えますか?

Hosted Targets を構築する基礎となるテクノロジーの Google App Engine(GAE)では、アプリに静的 IP アドレスを付与する方法がありません。GAE では、IP プール範囲を使用します。したがって、IP アドレス範囲をホワイトリストに登録できる可能性があります。詳細については、GAE に関するよくある質問の静的 IP アドレスと App Engine アプリをご覧ください。

複数の <HostedTarget> ターゲット エンドポイントを 1 つのプロキシに置けますか?

できません。デプロイできる Hosted Target アプリケーションはプロキシ 1 つにつき 1 つだけです。プロキシの resources/hosted ディレクトリにあるアプリケーションがデプロイされます。

apigee-access の不備は回避できますか?

Hosted Targets アプリでは apigee-access モジュールを使用できません。apigee-access で従来の埋め込み Node.js を使用していて、Hosted Targets に移行する場合は、次の点を考慮してください。

  • Edge ポリシーの使用 - 可能であれば標準の Edge ポリシーを使用して、既存の apigee-access コードの内容を置き換えます。
  • ヘッダーの使用 - HTTP リクエスト ヘッダーで Node.js アプリケーションに KVM 値とフロー変数を追加できます。このストラテジーは、API プロキシのリクエスト フローで使用可能な KVM 値やフロー変数に対して機能します。
  • 環境変数の使用 - KVM によって値が提供される環境変数を設定できます。これは、ユーザーガイドのマニフェスト ファイル部分に記載されています。

Java Keystores(JKS)ファイルを TLS に使えますか?

Hosted Targets では、JKS for TLS は PEM ファイルの代替としてサポートされていません。以前のドキュメント(こちら)をご覧ください。Hosted Targets ではネイティブな Node.js を使用するため、ネイティブに OpenSSL を使用します。TLS / SSL 接続をセットアップするときは、Node.js ドキュメントで提供されている TLS(SSL)ドキュメントをご覧ください。

一時ファイルの管理におすすめの方法は何ですか?

一時ファイルは必ず削除してください。一時ディレクトリ内のローカル ディスク ストレージは、メモリ内ファイル システムです。書き込むファイルはすべて、ファンクションに使用できるメモリを消費します。書き込むファイルは通常、連続した呼び出しで使用できるため、これらのファイルを削除しないと、最終的にメモリ不足エラーにつながり、その結果コールド スタートが発生する可能性があります。

一時ディレクトリ以外への書き込みはしないでください。また、os.tmpdir()path.join() などのプラットフォームに依存しないメソッドを使用して一時的なファイルパスを構築し、ファンクションがどのプラットフォームのエミュレータでも機能するようにします。

詳細については、こちらの Google Cloud ドキュメントをご覧ください。

複数のプロキシ リビジョンをデプロイできますか?

Apigee Edge では、さまざまなベースパスを持つ 1 つの環境に、複数のリビジョンのプロキシをデプロイできます。ただし、この動作は Hosted Targets ではサポートされていません。

リクエスト ヘッダーのサイズに上限はありますか?

Node.js の最新バージョン(11.3.0 以降)と LTS のバージョン(6.14.0 以降、8.14.0 以降、11.3.0 以降)では、Node.js で使用できるリクエスト ヘッダーサイズが最大で 8 KB になっています。8 KB を越えるヘッダーを渡したい場合は、Node.js の上記以外のバージョンを指定するようにしてください。これは、アプリケーションのマニフェスト ファイルで設定できます。例:

  runtime: node
  runtimeVersion:6.4.1
  application:my-express-app
  env:
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  

Hosted Targets に HTTP レスポンス ストリーミングを使用できますか?

HTTP レスポンス ストリーミングは、Hosted Targets ではサポートされていません。これは、Hosted Targets の基盤となるテクノロジーである Google App Engine(GAE)がストリーミングをサポートしていないからです。

リクエストにはタイムアウト制限がありますか?

Google App Engine(GAE)では 60 秒でリクエストがタイムアウトになります。GAE ドキュメントの割り当てと上限もご覧ください。