Tencent Cloud CLBはTCP、UDP、TCP SSL、HTTP、HTTPSプロトコルをサポートし、ドメイン名およびURLパスベースの柔軟な転送機能をご提供します。ここでは、Cloud Load Balancer(CLB)インスタンスをスピーディーに作成し、クライアントからのアクセスリクエストを2台のCloud Virtual Machine(CVM)上に転送できるようご案内します。
前提条件
1. 2つのCloud Virtual Machine(CVM)インスタンスを作成済みであること(ここではrs-1とrs-2というインスタンスを例にとります)。CVMインスタンスの作成方法に関しては、CVMインスタンスの購入と起動をご参照ください。 2. CVM上でバックエンドサービスを構築済みであること。ここではHTTP転送を例にとります。2台のCVMにはNginxサーバーをデプロイ済みであり、rs-1とrs-2はそれぞれ「Hello nginx! This is rs-1!」と「Hello nginx! This is rs-2!」を含むHTMLを返します。詳細については、CentOSにおけるNginxのデプロイをご参照ください。 ご注意:
ここでは標準アカウントタイプ(旧「帯域幅シフトアカウント」)を例にとります。従来型アカウントタイプ(旧「非帯域幅シフトアカウント」)のCVMの場合は、現在の帯域幅の属性がCLBではなくCVM上にあるため、パブリックネットワーク帯域幅を購入する必要があります。アカウントタイプが確実ではない場合は、アカウントタイプの判断をご参照ください。 この例では、バックエンドサーバーにデプロイされたサービスによって戻り値が異なります。実際の状況では、ユーザー体験の一致性を維持するため、通常バックエンドサーバーには完全に同一のサービスをデプロイします。
ステップ1:CLBインスタンスの購入
CLBインスタンスの購入に成功すると、システムはVIPを自動的に割り当て、このVIPはCLBがクライアントにサービスを提供するためのIPアドレスとなります。
2. CLB購入ページで、リージョンはCVMと同一のリージョンを選択し、インスタンスタイプはCLBを、ネットワークタイプはパブリックネットワークを選択します。その他のパラメータの詳細については、製品属性の選択をご参照ください。 説明:
現在は広州、上海、南京、済南、杭州、福州、北京、石家庄、武漢、長沙、成都、重慶リージョンのみで静的単一IP回線タイプをサポートしています。その他のリージョンのサポート状況はコンソールページでご確認ください。体験をご希望の場合はビジネスマネージャーにご連絡の上、お申し込みください。承認後、購入ページでチャイナモバイル、チャイナユニコムまたはチャイナテレコムのキャリアタイプを選択できるようになります。
3. 今すぐ購入をクリックして支払いを完了します。
4. インスタンス管理ページに戻り、対応するリージョンを選択すると、新規作成されたインスタンスが表示されます。 ステップ2:CLBリスナーの設定
CLBリスナーはプロトコルとポートを指定して実際の転送を行います。ここでは、CLBがクライアントのHTTPリクエストを転送する設定の例を挙げます。
HTTPリスニングプロトコルおよびポートの設定
クライアントがリクエストを送信した際、CLBはリスニングしたフロントエンドプロトコルおよびポートに基づいてリクエストを受信し、バックエンドサーバーに転送します。
2. 「インスタンス管理」ページで目的のCLBインスタンスを見つけ、リスナーの設定をクリックします。
3. 「リスナー管理」タブの「HTTP/HTTPSリスナー」エリアで、新規作成をクリックします。 4. 「リスナーの作成」ダイアログボックスで以下の内容を設定し、完了後に送信をクリックします。
リスナー名。60文字まで入力でき、アルファベット、数字、中国語、「-」、「_」、「.」を使用できます。
リスニングプロトコルおよびポート。HTTP:80などです。
リスナーの転送ルールの設定
クライアントリクエストの際、CLBは設定したリスナーの転送ルールに基づいてリクエストを転送します。
1. 「リスナー管理」タブで、先ほど新規作成したリスナーを選択し、+ルールの追加をクリックします。
2. 「転送ルールの作成」ダイアログボックスの「基本設定」タブで、ドメイン名、URLパスおよびバランシング方式を設定します。設定が完了したら、次へをクリックします。
ドメイン名:バックエンドサービスで使用するドメイン名です。この例ではwww.example.comを使用します。
デフォルトドメイン名:クライアントリクエストがそのリスナーのどのドメイン名にもマッチしなかった場合、CLBはリクエストをデフォルトドメイン名(default server)に転送します。1つのリスナーに設定できるデフォルトドメイン名は1つのみです。このリスナーにデフォルトドメイン名が設定されていない場合、CLBは最初のドメイン名にリクエストを転送します。この例では設定しません。
URLパス:バックエンドサービスのアクセスパスです。この例では/image/を使用します。
バランシング方式は「重み付けラウンドロビン」を選択します。詳細についてはバランシング方式をご参照ください。 3. 「ヘルスチェック」タブでヘルスチェックを有効にします。チェックドメイン名およびチェックパスは、デフォルトの転送ドメイン名および転送パスを使用します。完了後に次へをクリックします。
4. 「セッション維持」タブでセッション維持を無効にし、送信をクリックします。
説明:
転送ルール:1つのリスナーには複数のドメイン名を設定することができ、1つのドメイン名には複数のURLパスを設定することができます。リスナーまたはドメイン名を選択し、+をクリックすると、新しいルールが作成されます。
セッション維持:セッション維持機能を無効化し、ラウンドロビン方式を選択してスケジューリングを行うと、リクエストは順番に異なるバックエンドサーバーに分配されます。セッション維持機能を有効化するか、またはセッション維持機能を無効化してもip_hashのスケジューリング方式を選択した場合は、リクエストは引き続き同一のバックエンドサーバーに分配されます。
リスナーへのバックエンドCVMのバインド
クライアントリクエストの際、CLBはリスナーにバインドされたCVMにリクエストを転送し、CVMはその処理を行います。
1. 「リスナー管理」ページで**+をクリックし、先ほど作成したリスナーを表示してURLパスを選択し、右側の「転送ルールの詳細」エリアでバインド**をクリックします。
2. 「バックエンドサービスのバインド」ダイアログボックスで、バインドするインスタンスタイプに「CVM」を選択し、さらにCLBインスタンスと同一リージョンのCVMインスタンスrs-1とrs-2を選択します。CVMポートをどちらも「80」に設定し、CVMの重みをどちらもデフォルト値の「10」とし、確定をクリックします。
3. 「転送ルールの詳細」エリアに戻ると、バインドしたCVMとそのヘルスチェックステータスを確認できます。ポートのヘルスステータスが「正常」と表示されていれば、CVMはCLBの転送したリクエストを正常に処理できていることになります。
説明:
1つの転送ルール(リスニングプロトコル + ポート + ドメイン名 + URLパス)を同一のCVMの複数のポートにバインドすることができます。ユーザーがrs-1の80および81ポートに同じサービスをデプロイしている場合、CLBは例で示した転送ルールをrs-1の80および81ポートに同時にバインドすることができ、2つのポートの両方でCLBから転送されたリクエストを受信できます。
ステップ3:セキュリティグループの設定
CLBの作成が完了すると、CLBのセキュリティグループを設定することによってパブリックネットワークトラフィックを隔離することができます。詳細については、セキュリティグループの設定をご参照ください。 セキュリティグループの設定完了後、セキュリティグループのデフォルト許可を有効にするか無効にするかを選択できます。それぞれを選択する場合の設定は次のようになります。
方法1:セキュリティグループのデフォルト許可を有効にする
方法2:CVMセキュリティグループ上でクライアントIPを許可する
ステップ4:CLBサービスの検証
CLBの設定完了後に、CLBが有効かどうかを検証することができます。あるCLBインスタンス下の異なるドメイン名+URLによって異なるバックエンドCVMにアクセスできるかを検証するか、もしくはコンテンツベースルーティング(content-based routing)の機能の検証を行うこともできます。
方法1:hostsを設定して、ドメイン名をCLBにマッピングする
1. WindowsシステムでC:\\Windows\\System32\\drivers\\etcディレクトリに進み、hostsファイルを変更し、ドメイン名をCLBインスタンスのVIP上にマッピングします。
2. hostsの設定に成功したかどうかを検証するために、cmdコマンドラインツールを実行し、pingコマンドによって、このドメイン名がVIPに正常にバインドされているかどうかをチェックします。データパケットがあれば、バインドに成功していることになります。
3. ブラウザにアクセスパスhttp://www.example.com/image/を入力し、CLBサービスのテストを行います。下の図のようになっていれば、そのリクエストがCLBによって「rs-1」CVMに転送され、CVMがリクエストを正常に処理してページを返したことを表します。
4. このリスナーのバランシング方式は「重み付けラウンドロビン」であり、2台のCVMの重みはどちらも「10」です。ブラウザを更新し、再度リクエストを送信した際、下の図のようになっていれば、そのリクエストがCLBによって「rs-2」CVMに転送されたことを表します。
ご注意:
image/の後の/は必ず残しておいてください。これはimageがデフォルトのディレクトリであり、imageという名前のファイルではないことを表すものです。
方法2:DNS解決DNSPodを設定して、ドメイン名をCLBにマッピングする
3. 「レコード管理」タブでレコードの追加をクリックして、ドメイン名をAレコードに追加し、レコード追加エリアで次のパラメータを入力します。
ホストレコード:ドメイン名のプレフィックスです。この例ではすべてのプレフィックスを解決するものとし、*.example.comと設定します。
レコードタイプ:Aレコード。
回線タイプ:デフォルト。
レコード値:クラウドリソースの関連付けをクリックし、「クラウドリソースの関連付け」ダイアログボックスで、先ほど作成したCLBインスタンスにチェックを入れます。
TTL:デフォルト値の「600s」に設定します。
4. 追加が完了したら、保存をクリックします。
5. 解決レコードの追加が完了してから約10分後に、ブラウザにバインドしたCNAMEドメイン名(この例ではwww.example.com)を入力し、正常にページが表示されれば、CLBは有効になっています。
リダイレクト機能の設定(オプション)
リダイレクトの設定には手動リダイレクトと自動リダイレクトがあります。詳細については、リダイレクト設定をご参照ください: 自動リダイレクト(強制HTTPS):PC端末、スマホブラウザなどがHTTPリクエストによってWebサービスにアクセスする場合に、CLBをプロキシとしてHTTPSレスポンスを返します。ブラウザがHTTPSによってページにアクセスするよう、デフォルトで強制します。
手動リダイレクト:Web業務を一時的にオフラインにする必要がある場合(ECでの完売、ページメンテナンス、更新・アップグレードなど)にリダイレクト機能が必要です。リダイレクトを行わなければ、ユーザーのお気に入りや検索エンジンデータベース内の古いアドレスにアクセスすると404または503エラーページが表示されるだけになり、ユーザー体験を低下させ、アクセス数が無駄に失われることになります。また、これらのページに蓄積された検索エンジンのスコアリングも無効になります。
関連する操作