|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
Amazon ELBネットワークロードバランサーの設定
このハウツーガイドでは、AmazonのEC2サービスでネットワークロードバランサー(NLB)を設定し、複数のEC2インスタンスにトラフィックを送る方法について説明します。
これらの例では、ロードバランサーが3つのRancherサーバーノードにトラフィックを送るように設定されています。RancherがK3s Kubernetesクラスターにインストールされている場合、必要なノードは2つだけです。
このチュートリアルは、ロードバランサーを設定するための1つの方法について説明しており、唯一の方法ではありません。Classic Load BalancerやApplication Load Balancerなどの他のタイプのロードバランサーも、Rancherサーバーノードにトラフィックを送ることができます。
Rancherは、ポート443のトラフィックを`tcp`モードで終了する場合にのみ、Amazon NLBの使用をサポートしています。`tls`モードではサポートされていません。これは、NLBで終了したリクエストに正しいヘッダーが挿入されないためです。つまり、Amazon Certificate Manager(ACM)によって管理されている証明書を使用したい場合は、ALBを使用する必要があります。
1.ターゲットグループの作成
まず、*TCP*プロトコル用に2つのターゲットグループを作成します。1つはTCPポート443用、もう1つはTCPポート80用(TCPポート443へのリダイレクトを提供)です。これらのグループにLinuxノードを追加します。
最初のNLB設定ステップは、2つのターゲットグループを作成することです。技術的には、Rancherにアクセスするためにはポート443のみが必要ですが、ポート80のリスンを追加するのは便利です。なぜなら、ポート80へのトラフィックは自動的にポート443にリダイレクトされるからです。
Traefik Ingressは、ポート80からポート443へのトラフィックをリダイレクトする必要があります。
-
始めるには、 Amazon AWSコンソールにログインします。EC2インスタンス(Linuxノード)が作成されている*リージョン*を選択してください。
-
*サービス*を選択し、*EC2*を選んで、*負荷分散*のセクションを見つけ、*ターゲットグループ*を開きます。
-
*ターゲットグループの作成*をクリックして、TCPポート443用の最初のターゲットグループを作成します。
|
Traefik Ingressのヘルスチェックの詳細については、このセクションを参照してください。 |
ターゲットグループ(TCPポート443)
以下の表に従って最初のターゲットグループを設定してください。
| オプション | 設定 |
|---|---|
ターゲットグループ名 |
|
ターゲットタイプ |
|
プロトコル |
|
ポート |
|
VPC |
VPCを選択してください |
ヘルスチェック設定:
| オプション | 設定 |
|---|---|
プロトコル |
TCP |
ポート |
|
正常閾値 |
|
異常閾値 |
|
タイムアウト |
|
間隔 |
|
TCPポート80に関して、*ターゲットグループの作成*をクリックして、2番目のターゲットグループを作成します。
ターゲットグループ(TCPポート80)
以下の表に従って2番目のターゲットグループを設定してください。
| オプション | 設定 |
|---|---|
ターゲットグループ名 |
|
ターゲットタイプ |
|
プロトコル |
|
ポート |
|
VPC |
VPCを選択してください |
ヘルスチェック設定:
| オプション | 設定 |
|---|---|
プロトコル |
TCP |
ポート |
|
正常閾値 |
|
異常閾値 |
|
タイムアウト |
|
間隔 |
|
2.ターゲットを登録する
次に、両方のターゲットグループにLinuxノードを追加します。
*rancher-tcp-443*という名前のターゲットグループを選択し、*ターゲット*タブをクリックして、*編集*を選択します。
追加したいインスタンス(Linuxノード)を選択し、*登録に追加*をクリックします。
インスタンスが追加されたら、画面の右下にある*保存*をクリックします。
これらの手順を繰り返し、*rancher-tcp-443*を*rancher-tcp-80*に置き換えます。同じインスタンスをこのターゲットグループにターゲットとして追加する必要があります。
3.NLBを作成する
Amazonのウィザードを使用してネットワークロードバランサーを作成します。このプロセスの一環として、1で作成したターゲットグループを追加します。ターゲットグループを作成する。
-
ウェブブラウザから、 Amazon EC2コンソールに移動します。
-
ナビゲーションペインから、ロードバランシング > *ロードバランサー*を選択します。
-
*ロードバランサーの作成*をクリックします。
-
*ネットワークロードバランサー*を選択し、*作成*をクリックします。その後、各フォームを完成させます。
手順1:ロードバランサーを構成する
フォーム内の次のフィールドを設定します:
-
名前:
rancher -
スキーム:
internalまたはinternet-facing。選択したNLBのスキームは、インスタンスとVPCの構成に依存します。インスタンスに関連付けられたパブリックIPがない場合、またはRancherに内部からのみアクセスする場合は、NLBスキームを`internal`に設定するべきです。`internet-facing`ではなく。 -
*リスン:*ロードバランサープロトコルは`TCP`であるべきで、対応するロードバランサーポートは`443`に設定する必要があります。
-
アベイラビリティゾーン:*VPC*と*アベイラビリティゾーン*を選択してください。
4.TCPポート80のNLBにリスンを追加します。
-
新しく作成したNLBを選択し、*リスン*タブを選択します。
-
*リスンを追加*をクリックします。
-
TCP:80を*プロトコル*として使用します:*ポート* -
*アクションを追加*をクリックし、*転送先..*を選択します。
-
*転送先*のドロップダウンから、`rancher-tcp-80`を選択します。
-
画面の右上にある 保存 をクリックしてください。
Traefik Ingress のヘルスチェックパス
K3s Kubernetes クラスターは、デフォルトの Ingress として Traefik を使用します。
ヘルスチェックパスは /ping です。デフォルトでは /ping は常に一致し(ホストに関係なく)、 Traefik 自体 からの応答が常に提供されます。
正確なヘルスチェックをシミュレートするためには、可能な限り /ping または /healthz と組み合わせてホストヘッダー(Rancher ホスト名)を使用することがベストプラクティスです。これにより、Ingress ではなく Rancher Pods からの応答を得ることができます。