第3章 ネットワークに関する考慮事項

移行後にアプリケーションネットワークトラフィックをリダイレクトするストラテジーを確認します。

3.1. DNS に関する考慮事項

ターゲットクラスターの DNS ドメインは、ソースクラスターのドメインとは異なります。デフォルトでは、アプリケーションは移行後にターゲットクラスターの FQDN を取得します。

移行したアプリケーションのソース DNS ドメインを保持するには、以下で説明する 2 つのオプションのいずれかを選択します。

3.1.1. クライアントからのターゲットクラスターの DNS ドメイン分離

ターゲットクラスターをクライアントに公開せずに、ソースクラスターの DNS ドメインに送信されるクライアントの要求がターゲットクラスターの DNS ドメインに到達するように許可できます。

手順

  1. クライアントとターゲットクラスター間で、アプリケーションロードバランサーやリバースプロキシーなど、exterior ネットワークコンポーネントを配置します。
  2. DNS サーバーのソースクラスターでアプリケーション FQDN を更新し、exterior ネットワークコンポーネントの IP アドレスを返します。
  3. ソースドメインのアプリケーションに受信したリクエストをターゲットクラスタードメインのロードバランサーに送信するように、ネットワークコンポーネントを設定します。
  4. ソースクラスターのロードバランサーの IP アドレスを参照する *.apps.source.example.com ドメインのワイルドカード DNS レコードを作成します。
  5. ターゲットクラスターの前に exterr ネットワークコンポーネントの IP アドレスを参照する各アプリケーションの DNS レコードを作成します。特定の DNS レコードの優先順位はワイルドカードレコードよりも高くなるため、アプリケーションの FQDN の解決時に競合は発生しません。
注記
  • 外部ネットワークコンポーネントは、すべてのセキュアな TLS 接続を終了する必要があります。接続がターゲットクラスターのロードバランサーに渡される場合、ターゲットアプリケーションの FQDN がクライアントおよびサーバーに公開されます。
  • アプリケーションは、ターゲットクラスタードメインを参照するリンクをクライアントに返すことはできません。そうしないと、アプリケーションの一部が正しくロードまたは機能しない可能性があります。

3.1.2. ソース DNS ドメインを受け入れるためのターゲットクラスターの設定

ソースクラスターの DNS ドメインで移行されたアプリケーションの要求を受け入れるようにターゲットクラスターを設定できます。

手順

セキュアではない HTTP アクセスとセキュアな HTTPS アクセスの両方で、以下の手順を実行します。

  1. ソースクラスターでアプリケーションの FQDN に処理される要求を受け入れるよう設定されたターゲットクラスターのプロジェクトでルートを作成します。

    $ oc expose svc <app1-svc> --hostname <app1.apps.source.example.com> \
     -n <app1-namespace>

    この新規ルートが有効な場合には、サーバーはその FQDN の要求を受け入れて、対応するアプリケーション Pod に送信します。さらに、アプリケーションを移行すると、ターゲットクラスタードメインに別のルートが作成されます。要求は、これらのホスト名のいずれかを使用して移行されたアプリケーションに到達します。

  2. ソースクラスターのアプリケーションの FQDN をターゲットクラスターのデフォルトのロードバランサーの IP アドレスを参照する DNS プロバイダーで DNS レコードを作成します。これにより、トラフィックをソースクラスターからターゲットクラスターにリダイレクトされます。

    アプリケーションの FQDN は、ターゲットクラスターのロードバランサーに対して解決します。デフォルトの Ingress コントローラールーターは、そのホスト名のルートが公開されるため、対象となる FQDN の要求を受け入れます。

セキュアな HTTPS アクセスには、以下の追加手順を実行します。

  1. インストールプロセス中に作成されたデフォルトの Ingress コントローラーの x509 証明書をカスタム証明書に置き換えます。
  2. この証明書に、subjectAltName フィールドにソースおよびターゲットクラスター両方のワイルドカード DNS ドメインが含まれるように設定します。

    新しい証明書は、DNS ドメインを使用して行われる接続のセキュリティーを保護するために有効です。

関連情報