すべてのプロダクト
Search
ドキュメントセンター

Enterprise Distributed Application Service:CLBインスタンスのバインド

最終更新日:Jan 07, 2025

Enterprise Distributed Application Service(EDAS)のContainer Service for Kubernetes(ACK)クラスターでアプリケーションを作成した後、インターネット向けまたは内部向けのClassic Load Balancer(CLB)インスタンスをアプリケーションにバインドして、インターネットまたはプライベートネットワーク経由でアプリケーションにアクセスできるようにすることができます。このトピックでは、インターネット向けまたは内部向けのCLBインスタンスをACKクラスターのアプリケーションにバインドする方法について説明します。

背景情報

CLBインスタンスをアプリケーションにバインドするには、EDASコンソールでCLBインスタンスのリスナーの構成を変更する必要があります。

重要

Server Load Balancer(SLB)コンソールでリスナーと証明書の構成を変更することはできません。変更に失敗し、アプリケーションにアクセスできなくなる可能性があります。

ACKクラスターと自己管理型KubernetesクラスターのアプリケーションへのCLBインスタンスのバインドの違いは、以下のとおりです。

  • 自己管理型Kubernetesクラスター:CLBインスタンスをアプリケーションにバインドするには、新しいCLBインスタンスを購入する必要があります。各アプリケーションには専用のCLBインスタンスがあります。

  • ACKクラスター:アプリケーションごとに新しいCLBインスタンスを購入するか、他のアプリケーションにバインドされている既存のCLBインスタンスを使用できます。アプリケーション用に新しいCLBインスタンスを購入した場合、アプリケーションはそのCLBインスタンスを排他的に使用します。

制限事項

自己管理型KubernetesクラスターまたはACKクラスターのアプリケーションにCLBインスタンスをバインドする場合、以下の制限事項に注意してください。制限事項に準拠しないと、変更に失敗し、アプリケーションにアクセスできなくなる可能性があります。

  • ACKコンソール、kubectl、またはサードパーティツールを使用して、EDASによって作成されたServiceリソースを削除または変更することはできません。これらのリソースには、edas-domain:edas-adminラベルが付いています。

  • SLBコンソールを使用して、EDASによって購入されたCLBインスタンスを削除または変更することはできません。

  • SLBコンソールを使用して、EDASで使用されているCLBインスタンスのリスナーを削除または変更することはできません。

  • kubectlまたはACKコンソールを使用して、Serviceの外部トラフィックポリシーを変更することはできません。

新しいインターネット向けCLBインスタンスをバインドする

  1. Enterprise Distributed Application Service (EDAS) コンソールにログインします。左側のナビゲーションペインで、[アプリケーション管理] > [アプリケーション] を選択します。上部のナビゲーションバーで、リージョンを選択します。ページの上部で、マイクロサービス名前空間を選択します。Kubernetes クラスター[クラスタータイプ] ドロップダウンリストから を選択し、管理するアプリケーションの名前をクリックします。

  2. [アプリケーション概要] ページで、加号SLB(パブリックネットワーク)[アクセス設定] セクションの の横にある アイコンをクリックします。

    説明

    アプリケーションにCLBインスタンスをバインドしている場合、CLBインスタンスのIPアドレスとポート番号が表示されます。编辑 アイコンをクリックしてコンフィギュレーターを変更するか、image.png アイコンをクリックしてアプリケーションからCLBインスタンスのバインドを解除できます。

  3. [ロードバランシング(パブリックネットワーク)] ダイアログボックスで、次の表に示すパラメーターを設定し、[OK] をクリックします。

    パラメーター

    説明

    SLBの選択

    バインドするSLBインスタンス。ドロップダウンリストから [SLBの作成] または既存のSLBインスタンスを選択できます。

    スケジューリングアルゴリズム

    スケジューリングに使用されるアルゴリズム。有効な値:[RR] および [WRR]

    外部トラフィックポリシー

    [SLBの作成] を選択すると、[外部トラフィックポリシー] パラメーターの下に表が表示されます。表には、SLBリソースとアカウント残高のチェックの状態と説明、選択できるインターネット向けSLBインスタンスの仕様、作成するSLBインスタンスの数、課金方法、サブスクリプションSLBインスタンスの有効期間、価格が記載されています。[価格の表示] をクリックして、SLBの価格を表示できます。

    有効な値:[ローカル] および [クラスター]

    • [ローカル]:Serviceがデプロイされているノード上のPodにのみトラフィックをルーティングします。 [ローカル] に設定すると、Serviceに対応するPodがデプロイされているノードのみがSLBインスタンスのバックエンドサーバーとして追加されます。トラフィックは、クラスター内の他のノードのPodにはルーティングされません。SLBインスタンスの負荷分散機能と組み合わせることで、このポリシーは優れたパフォーマンスを提供し、レイヤー 4 の送信元IPアドレスを保持できます。

      説明

      [ローカル] に設定する場合は、[スケジューリングアルゴリズム] パラメーターを [WRR] に設定することをお勧めします。コンテナークラスターでは、Container Controller Manager(CCM)は、ノードにデプロイされているPodの数に基づいて、バックエンドサーバーとして使用されるノードの重みを調整できます。加重ラウンドロビン(WRR)アルゴリズムは、より良い負荷分散パフォーマンスを得るのに役立ちます。

    • [クラスター]:クラスター内の他のノード上のPodにネットワークトラフィックをルーティングします。

      説明

      [クラスター] に設定すると、クラスターのすべてのノードがSLBインスタンスのバックエンドサーバーとして追加されます。アクセスされたノードでPodが起動されていなくても、アクセスリクエストをPodに転送できます。この場合、レイヤー 4 の送信元IPアドレスは保持されません。

    SLBインスタンスの既存のリスニング情報

    このパラメーターは、[SLBの選択] ドロップダウンリストから既存のSLBインスタンスを選択した場合にのみ表示されます。ネットワークプロトコル、ポート番号、コンテナポート番号を表示できます。

    TCP | HTTP

    • SLBポート(アプリケーション):インターネット向けSLBインスタンスのフロントエンドポート。このポートを使用して、アプリケーションにアクセスできます。有効な値:1~65535。

    • コンテナポート(ターゲットポート):プロセスがリッスンするポート。このポートは、アプリケーションによって定義されます。たとえば、Webアプリケーションのデフォルトポートは 8080 です。

    UDP

    • SLBポート(アプリケーション):インターネット向けSLBインスタンスのフロントエンドポート。このポートを使用して、アプリケーションにアクセスできます。有効な値:1~65535。

    • コンテナポート(ターゲットポート):プロセスがリッスンするポート。このポートは、アプリケーションによって定義されます。

    HTTPSプロトコル

    • HTTPSポート(アプリケーション):インターネット向けSLBインスタンスのフロントエンドポート。このポートを使用して、アプリケーションにアクセスできます。有効な値:1~65535。

    • SSL証明書:SSL証明書。アップロードされたSSL証明書をドロップダウンリストから選択できます。

    • コンテナポート(ターゲットポート):プロセスがリッスンするポート。このポートは、アプリケーションによって定義されます。たとえば、Webアプリケーションのデフォルトポートは 8080 です。

    説明

    複数のリスナーがサポートされています。[リスナーの追加] をクリックして、複数のリスナーを設定できます。

  4. アプリケーションへのアクセスリクエストの数が既存のSLBインスタンスの仕様を超える場合は、手順 2 から 手順 3 を繰り返して、SLBインスタンスを追加します。

    説明

    CLBインスタンスの仕様メトリックには、[最大接続数][1秒あたりの新規接続数][1秒あたりのクエリ数] が含まれます。アプリケーションへのアクセスリクエストの数が予想よりも多い場合は、トラフィックの負荷を分散するために、より多くのCLBインスタンスをバインドできます。

結果を確認する

ブラウザーのアドレスバーに、<CLBインスタンスのIPアドレス>:<CLBインスタンスのポート番号>(例:115.xx.xx.xx:80)と入力します。次に、Enterキーを押して、目的のアプリケーションのホームページに移動します。

SLB(パブリックネットワーク) の横に IP アドレスとポート番号が [アプリケーション概要] ページに表示されない場合は、バインドに失敗しています。この場合は、[変更レコード] ページに移動して変更の詳細を表示し、変更レコードに基づいて問題のトラブルシューティングを行うことができます。

新しい内部向けCLBインスタンスをバインドする

  1. Enterprise Distributed Application Service (EDAS) コンソールにログインします。左側のナビゲーションペインで、[アプリケーション管理] > [アプリケーション] を選択します。上部のナビゲーションバーで、リージョンを選択します。ページの上部で、マイクロサービス名前空間を選択します。Kubernetes クラスター[クラスタータイプ] ドロップダウンリストから を選択し、管理するアプリケーションの名前をクリックします。

  2. [アプリケーション概要] ページで、加号SLB(プライベートネットワーク)[アクセス設定] セクションの の横にある アイコンをクリックします。

    説明

    アプリケーションにCLBインスタンスをバインドしている場合、CLBインスタンスのIPアドレスとポート番号が表示されます。编辑 アイコンをクリックしてコンフィギュレーターを変更するか、image.png アイコンをクリックしてアプリケーションからCLBインスタンスのバインドを解除できます。

  3. [SLB(プライベートネットワーク)] ダイアログボックスで、次の表に示すパラメーターを設定し、[OK] をクリックします。

    パラメーター

    説明

    SLBの選択

    バインドするSLBインスタンス。ドロップダウンリストから [SLBの作成] または既存のSLBインスタンスを選択できます。

    スケジューリングアルゴリズム

    スケジューリングに使用されるアルゴリズム。有効な値:[RR] および [WRR]

    外部トラフィックポリシー

    [SLBの作成] を選択すると、[外部トラフィックポリシー] パラメーターの下に表が表示されます。表には、SLBリソースとアカウント残高のチェックの状態と説明、選択できる内部向けSLBインスタンスの仕様、作成するSLBインスタンスの数、課金方法、サブスクリプションSLBインスタンスの有効期間、価格が記載されています。

    有効な値:[ローカル] および [クラスター]

    • [ローカル]:Serviceがデプロイされているノード上のPodにのみトラフィックをルーティングします。[ローカル] に設定すると、Serviceに対応するPodがデプロイされているノードのみがSLBインスタンスのバックエンドサーバーとして追加されます。トラフィックは、クラスター内の他のノードのPodにはルーティングされません。SLBインスタンスの負荷分散機能と組み合わせることで、このポリシーは優れたパフォーマンスを提供し、レイヤー 4 の送信元IPアドレスを保持できます。

      説明

      [ローカル] に設定する場合は、[スケジューリングアルゴリズム] パラメーターを [WRR] に設定することをお勧めします。コンテナークラスターでは、CCMは、ノードにデプロイされているPodの数に基づいて、バックエンドサーバーとして使用されるノードの重みを調整できます。WRRアルゴリズムは、より良い負荷分散パフォーマンスを得るのに役立ちます。

    • [クラスター]:クラスター内の他のノード上のPodにネットワークトラフィックをルーティングします。

      説明

      [クラスター] に設定すると、クラスターのすべてのノードがSLBインスタンスのバックエンドサーバーとして追加されます。アクセスされたノードでPodが起動されていなくても、アクセスリクエストをPodに転送できます。この場合、レイヤー 4 の送信元IPアドレスは保持されません。

    SLBインスタンスの既存のリスニング情報

    このパラメーターは、[SLBの選択] ドロップダウンリストから既存のSLBインスタンスを選択した場合にのみ表示されます。ネットワークプロトコル、ポート番号、コンテナポート番号を表示できます。

    TCP | HTTP

    • SLBポート(アプリケーション):内部向けSLBインスタンスのフロントエンドポート。このポートを使用して、アプリケーションにアクセスできます。有効な値:1~65535。

    • コンテナポート(ターゲットポート):プロセスがリッスンするポート。このポートは、アプリケーションによって定義されます。たとえば、Webアプリケーションのデフォルトポートは 8080 です。

    HTTPSプロトコル

    • HTTPSポート(アプリケーション):内部向けSLBインスタンスのフロントエンドポート。このポートを使用して、アプリケーションにアクセスできます。有効な値:1~65535。

    • SSL証明書:SSL証明書。アップロードされたSSL証明書をドロップダウンリストから選択できます。

    • コンテナポート(ターゲットポート):プロセスがリッスンするポート。このポートは、アプリケーションによって定義されます。たとえば、Webアプリケーションのデフォルトポートは 8080 です。

    説明

    複数のリスナーがサポートされています。[リスナーの追加] をクリックして、複数のリスナーを設定できます。

  4. アプリケーションへのアクセスリクエストの数が既存のSLBインスタンスの仕様を超える場合は、手順 2 から 手順 3 を繰り返して、SLBインスタンスを追加します。

    説明

    CLBインスタンスの仕様メトリックには、[最大接続数][1秒あたりの新規接続数][1秒あたりのクエリ数] が含まれます。アプリケーションへのアクセスリクエストの数が予想よりも多い場合は、トラフィックの負荷を分散するために、より多くのCLBインスタンスをバインドできます。

結果を確認する

ブラウザーのアドレスバーに、<CLBインスタンスのIPアドレス>:<CLBインスタンスのポート番号>(例:115.xx.xx.xx:80)と入力します。次に、Enterキーを押して、目的のアプリケーションのホームページに移動します。

SLB(パブリックネットワーク) の横に IP アドレスとポート番号が アプリケーション概要 ページに表示されない場合は、バインドに失敗しています。この場合は、[変更履歴] ページに移動して変更の詳細を表示し、変更履歴に基づいて問題のトラブルシューティングを行うことができます。