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 を設定するをご覧ください。
  • 手動 Envoy デプロイの場合は、サポートされている次のパラメータをプロキシのブートストラップ ノード メタデータの構成に追加します。

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

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

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

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

  • xDS v2 API を使用する場合は、ネットワーク名を設定することをおすすめします。この値を空のままにすると、Traffic Director は、サイドカー プロキシから trafficdirector.googleapis.com へのリクエストが送信される VPC ネットワークの構成を選択しようとします。
  • xDS v3 API を使用する場合は、ネットワーク名を指定する必要があります。
  • この値を空のままにすることはおすすめしません。空の値は、今後のリリースにおけるサポートが保証されません。

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

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

  • xDS v2 API を使用する場合は、プロジェクト番号を設定することをおすすめします。このフィールドを空のままにすると、Traffic Director は、サービス アカウントの認証情報に関連付けられた Google Cloud プロジェクトの構成を取得しようとします。空の値は、今後のリリースにおけるサポートが保証されません。
  • xDS v3 API を使用する場合は、プロジェクト番号を指定する必要があります。
  • 手動 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"