##目的
IBMCloudのVPC Gen2環境におけるAutoScale用のロードバランサを導入する
今回は、フロントをHTTPSで受け、オフロードした後にバックエンドをHTTPで受ける構成まで導入する。
##構成
- ローカル端末:macOS Catalina 10.15.6 1台
- プラットフォーム:IBMCloud
- VPC:ロードバランサー 1サービス
- 証明書:CertificateManager 1サービス
##証明書の登録
はじめに、フロントをHTTPSで受けるため、SSL/TLS証明書を登録する
サービスからCertificate Managerを選ぶ
- リージョンの選択:任意のリージョン
- サービス名:任意名
- リソースグループの選択:自分のリソースグループ
- Endpoints:パブリック側でHTTPSを受けるのでPublic and privateを選択
所有している証明書を登録するので、インポートを選択
証明書の発行方法はこちらを参照:IBM Cloud サーバでLet’sEncrypt証明書発行
発行する証明書は、インターネットで公開するFQDNで発行すること
- 名前:任意
- 証明書ファイル:TLS/SSL証明書
- 秘密鍵:任意で登録
- 中間証明書:任意で登録
##アクセス権の追加(VPC->CertificateManager)
ロードバランサにTLS証明書を登録するには、CertificateManagerへのアクセス許可が必要なため追加する
- ソースサービス:VPC Infrastructure Serviceを選択
- リソースタイプ:Load Balancer for VPCを選択
- ターゲットサービス:Certificate Managerを選択
- サービスアクセス:ライターを選択
##ロードバランサの作成
VPCインフラストラクチャー -> ロードバランサー -> 作成を選択
- 名前:任意名
- 仮想プライベートクラウド:自分のVPCを選択
- リソースグループ:自分のリソースグループを選択
- ロードバランサ:HTTPSで受けたものを分散するので、アプリケーションロードバランサを選択
- Region:デプロイするリージョンを選択
- タイプ:インターネットトラフィックを分散対象とするので、パブリックを選択
- サブネット:分散先の仮想サーバインスタンスを含むサブネットを選択
- 名前:任意名
- プロトコル:バックエンドはHTTPとするため、HTTPを選択
- メソッド:分散方式はラウンドロビンを選択
- セッション維持率:ソースIPを選択
- ヘルスチェック:変更不要のためそのまま
- プロトコル:フロントはHTTPSで受けるため、HTTPSを選択
- ポート:443
- バックエンドプール:フロントで受けた後のバックエンドプールを選択
- SSL証明書:CertificateManagerで作成した証明書を選択
ここで、証明書を選択出来ない場合は、アクセス権の追加が間違っている可能性が高いので確認
リスナーを保存後、ロードバランサの作成を選択
##DNS登録
最後に作成したロードバランサをDNSに登録する。
今回は、alb.xcloudyx.comに来た通信をロードバランサにCNAMEする。
この値をDNSに登録する
ロードバランサFQDNの最後に「.」を忘れないこと
ここまで実施すれば、AutoScale用のロードバランサの作成は完了
バックエンドインスタンスの作成は、AutoScaleグループが自動で作成するので、不要です。