Traffic Director の Envoy ブートストラップ属性の構成

サービス メッシュを強化する Envoy プロキシと gRPC ライブラリを初期化する場合、Traffic Director に接続して Traffic Director クライアントとして動作する必要があります。この接続を確立するには、次のように構成情報を使用して、クライアントをブートストラップする必要があります。

  • Traffic Director の場所(trafficdirector.googleapis.com
  • クライアントが構成をリクエストする VPC ネットワークの名前
  • その他のオプション情報(ロギングを有効にするかどうかなど)

このドキュメントでは、Envoy と Traffic Director を併用する場合のブートストラップ情報の指定方法について説明します。ブートストラップ構成の指定方法は、サービスのデプロイ方法によって異なります。

  • VM で自動的にデプロイされる Envoy サイドカー プロキシの場合は、インスタンス テンプレートを作成するときに、自動 Envoy デプロイで VM を設定する場合のオプションで対応するパラメータを確認してください。
  • GKE Pod で自動的にデプロイされる Envoy サイドカー プロキシの場合は、サイドカー インジェクタの ConfigMapproxyMetadata にサポートされている次のパラメータを追加します。必須属性の構成の詳細については、自動 Envoy インジェクションの Google Kubernetes Engine Pod での Traffic Director の設定をご覧ください。
  • 手動 Envoy デプロイの場合は、サポートされている次のパラメータをプロキシのブートストラップ ノード メタデータの構成に追加します。

手動 Envoy デプロイに必要なブートストラップ構成

次の表に、ブートストラップで必須の構成属性を示します。

属性 説明
TRAFFICDIRECTOR_NETWORK_NAME 文字列。例: default

構成がリクエストされた Google Cloud VPC ネットワーク名(Google Cloud API の転送ルールで参照される VPC ネットワーク名です)。

この値を空のままにすると、Traffic Director は、サイドカー プロキシから trafficdirector.googleapis.com へのリクエストが送信される VPC ネットワークの構成を選択しようとします。

この値を空のままにすることはおすすめしません。空の値は、今後のリリースにおけるサポートが保証されません。

TRAFFICDIRECTOR_GCP_PROJECT_NUMBER 数字。例: 123456789 Traffic Director リソースが構成されている Google Cloud プロジェクト。これは数値のプロジェクト ID です(例: 111222333444)。

gcloud projects list コマンドを使用するか、Google Cloud Console の [プロジェクト情報] セクションで、すべてのプロジェクトとそのプロジェクト番号を確認できます。

空のままにすると、サービス アカウントの認証情報に関連付けられた GCP プロジェクトの構成の取得が試行されます。

この値を空のままにすることはおすすめしません。空の値は、今後のリリースにおけるサポートが保証されません。

手動 Envoy デプロイのオプションのブートストラップ構成

次の表に、ブートストラップ構成のオプション属性を示します。

属性 説明
TRAFFICDIRECTOR_INTERCEPTION_PORT 0~65535 の整数

インターセプト リスナーのポート番号。Traffic Director で構成されているサービスへのトラフィックは、このポートにリダイレクトする必要があります。

この値を空のままにすると、インターセプト リスナーは Traffic Director によって構成されません。構成が送信トラフィックのインターセプトに依存している場合、インターセプト リスナーがないと、トラフィック フローが中断します。受信プロキシのみをインターセプトする必要がある中間プロキシの場合、このフィールドは必須ではありません。

TRAFFICDIRECTOR_ACCESS_LOG_PATH アクセスログ ファイルのパス(文字列)。例: /var/log/sidecar/access.log このパラメータの値は、他のパラメータと一緒に Traffic Director からプロキシに送信されるファイルのアクセスログ構成として使用されます。このファイルには、すべての受信リクエストと送信リクエストが記録されます。詳細については、Envoy プロキシのファイル アクセスログのドキュメントをご覧ください。
TRAFFICDIRECTOR_ENABLE_TRACING 文字列のブール値。例: true サイドカー プロキシが分散トレース情報を生成できるようにします。true に設定すると、Traffic Director によって Envoy トレース パラメータがサイドカー プロキシにプログラムされ、generate_request_id が true に設定されます。

以下は、Envoy プロキシ ブートストラップ構成のノード メタデータ セクションでサポートされている属性の構成方法を示す yaml 形式の例です。

node:
  metadata:
    TRAFFICDIRECTOR_INTERCEPTION_PORT: "15001"
    TRAFFICDIRECTOR_NETWORK_NAME: "default"
    TRAFFICDIRECTOR_GCP_PROJECT_NUMBER: "111222333444"
    TRAFFICDIRECTOR_ACCESS_LOG_PATH: "/tmp/sidecar/access.log"
    TRAFFICDIRECTOR_ENABLE_TRACING: "true"