2.6. AWS での Ingress クラスタートラフィックの設定


OpenShift Container Platform は、クラスター内で実行されるサービスを使用してクラスター外からの通信を可能にする方法を提供します。この方法は、Amazon Web Services (AWS) のロードバランサー、具体的には Network Load Balancer (NLB) または Classic Load Balancer (CLB) を使用します。どちらのタイプのロードバランサーもクライアントの IP アドレスをノードに転送できますが、CLB はプロキシープロトコルのサポートを必要とし、OpenShift Container Platform はこれを自動的に有効にします。

NLB を使用するように Ingress Controller を設定するには、次の 2 つの方法があります。

  1. 現在 CLB を使用している Ingress Controller を強制的に置き換える。これにより IngressController オブジェクトが削除され、新しい DNS レコードが伝播し、NLB がプロビジョニングされている間、サービスが停止します。
  2. CLB を使用している既存の Ingress コントローラーを編集して、NLB を使用するように変更します。これにより、IngressController オブジェクトを削除して再作成することなく、ロードバランサーが変更されます。

どちらの方法も、NLB から CLB への切り替えに使用できます。

これらのロードバランサーは、新規または既存の AWS クラスターで設定できます。

2.6.1. AWS での Classic Load Balancer タイムアウトの設定

OpenShift Container Platform で長時間実行されるプロセスにおける接続切断を防ぐには、特定のルートまたは Ingress コントローラーに対してカスタムタイムアウト期間を設定します。

安定したネットワークトラフィックを維持するために、これらの設定が Amazon Web Services Classic Load Balancer (CLB) のデフォルトのタイムアウト値である 60 秒を考慮していることを確認してください。

CLB のタイムアウト期間がルートタイムアウトまたは Ingress Controller タイムアウトよりも短い場合、ロードバランサーは接続を途中で終了する可能性があります。ルートと CLB の両方のタイムアウト期間を増やすことで、この問題を防ぐことができます。

2.6.1.1. ルートのタイムアウトの設定

Service Level Availability (SLA) で必要とされる、低タイムアウトが必要なサービスや、バックエンドでの処理速度が遅いケースで高タイムアウトが必要なサービスがある場合は、既存のルートに対してデフォルトのタイムアウトを設定することができます。

重要

OpenShift Container Platform クラスターの前にユーザー管理の外部ロードバランサーを設定した場合は、ユーザー管理の外部ロードバランサーのタイムアウト値がルートのタイムアウト値よりも高いことを確認してください。この設定により、クラスターが使用するネットワーク上でのネットワーク輻輳の問題を防ぐことができます。

前提条件

  • 稼働中のクラスターに Ingress コントローラーをデプロイしました。

手順

  • oc annotate コマンドを使用して、ルートにタイムアウトを追加します。

    $ oc annotate route <route_name> \
        --overwrite haproxy.router.openshift.io/timeout=<timeout><time_unit>
  • < タイムアウト >: サポートされている時間単位は、マイクロ秒 (us)、ミリ秒 (ms)、秒 (s)、分 (m)、時間 (h)、または日 (d) です。

    以下の例では、2 秒のタイムアウトを myroute という名前のルートに設定します。

    $ oc annotate route myroute --overwrite haproxy.router.openshift.io/timeout=2s

2.6.1.2. Classic Load Balancer タイムアウトの設定

Classic Load Balancer (CLB) のデフォルトのタイムアウトを設定して、アイドル接続を延長できます。

前提条件

  • 実行中のクラスターにデプロイ済みの Ingress Controller がある。

手順

  1. 以下のコマンドを実行して、デフォルトの イングレスコントローラー の Amazon Web Services 接続アイドルタイムアウトを 5 分に設定します。

    $ oc -n openshift-ingress-operator patch ingresscontroller/default \
        --type=merge --patch='{"spec":{"endpointPublishingStrategy": \
        {"type":"LoadBalancerService", "loadBalancer": \
        {"scope":"External", "providerParameters":{"type":"AWS", "aws": \
        {"type":"Classic", "classicLoadBalancer": \
        {"connectionIdleTimeout":"5m"}}}}}}}'
  2. オプション: 次のコマンドを実行して、タイムアウトのデフォルト値を復元します。

    $ oc -n openshift-ingress-operator patch ingresscontroller/default \
        --type=merge --patch='{"spec":{"endpointPublishingStrategy": \
        {"loadBalancer":{"providerParameters":{"aws":{"classicLoadBalancer": \
        {"connectionIdleTimeout":null}}}}}}}'
    注記

    現在のスコープがすでに設定されている場合を除き、接続タイムアウト値を変更するには scope フィールドを指定する必要があります。デフォルトのタイムアウト値に戻す場合は、scope フィールドを設定する際に再度設定する必要はありません。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る