仮想ホストを構成する

このトピックでは、virtualhosts 構成プロパティについて説明します。仮想ホストを使用することで、Apigee ハイブリッドは環境グループに関連付けられたホスト エイリアスに対する API リクエストを処理できます。詳細については、環境と環境グループについてルーティングとベースパスをご覧ください。

...
virtualhosts:
  - name: my-env-group
    sslCertPath: ./certs/fullchain.pem
    sslKeyPath: ./certs/privkey.key
...

API プロキシの呼び出しが発生すると、API プロキシがデプロイされている環境グループのホスト エイリアスに転送されます。

virtualhosts をクラスタに適用する手順については、virtualhosts の変更の適用をご覧ください。TLS の構成については、Istio Ingress での TLS と mTLS の構成をご覧ください。

複数の仮想ホストの追加

virtualhosts[] プロパティは配列であるため、複数の仮想ホストを作成できます。

...
virtualhosts:
  - name: my-env-group-1
    sslCertPath: ./certs/fullchain1.pem
    sslKeyPath: ./certs/privkey1.key

  - name: my-env-group-2
    sslCertPath: ./certs/fullchain2.pem
    sslKeyPath: ./certs/privkey2.key
...

TLS の構成については、Istio Ingress での TLS と mTLS の構成をご覧ください。

virtualhosts の変更の適用

virtualhosts プロパティを追加または変更するだけの場合は、‑‑settings フラグを使ってその変更を適用できます。

Helm

helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \
  --namespace apigee \
  --atomic \
  --set envgroup=ENV_GROUP_NAME \
  -f OVERRIDES_FILE.yaml

apigeectl

$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml ‑‑settings virtualhosts

たとえば virtualhostsenv を変更する場合は、クラスタを更新するために、次のように Helm の場合は ENV_GROUP_NAME apigee-virtualhost/ を使用せず、apigeectl の場合は ‑‑settings virtualhosts を使用せずにその変更を適用する必要があります。例:

Helm

更新する環境ごとに Helm のアップグレードを実行します。

helm upgrade ENV_NAME apigee-env/ \
  --namespace apigee \
  --atomic \
  --set env=ENV_NAME \
  -f OVERRIDES_FILE.yaml

apigeectl

$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --env ENV_NAME

あるいは、コンポーネントをすべての環境に対して更新します。

$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --all-envs

TLS 鍵と証明書

virtualhost プロパティには TLS 鍵と証明書が必要です。この鍵や証明書は、Ingress ゲートウェイとの安全な通信を提供するために使用され、指定された環境グループで使用されるホスト エイリアスとの互換性がある必要があります。

ハイブリッド構成に適切な TLS 証明書と鍵のペアを生成する方法はユーザーが選択します。以下のトピックは、TLS 認証情報を別の方法で取得できない場合に、新しいハイブリッド インストールを試用またはテストするためのサンプルとしてのみ提供されています。