SLB作成手順
Alibaba Cloudでは、仮想ロードバランサの事をServer Load Balancerと呼称しており、その利用手順を記載します。ちなみにSLBの機能は、AWSのCLB、ALB、NLB3つの機能をいい感じに集約しています。
1. サービスの選択
ログイン後のコンソールで、「Server Load Balancer」をクリックします。
2. ロードバランサの作成
「ロードバランサの作成」をクリックします。
ロードバランサのパラメータとして、以下を入力して、「今すぐ購入」をクリックします。
3. ロードバランサのリスナー設定
先程作成したロードバランサで「リスナーの設定」をクリックします。
接続することプロトコルとポート番号(今回はHTTPと80)を入力して、「次へ」をクリックします。
4. ロードバランサのバックエンド設定
VServerグループが選択されている事を確認して、「VServerグループの作成」をクリックします。
VServerグループ名を入力して、「追加」をクリックします。
既存のECSインスタンスの中から、バックエンドとなるインスタンスにチェックを入れて、「次のステップ:重みとポートの設定」をクリックします。
バックエンドがリッスンしているポート番号(80)と、重み(100)を入力して「次へ」をクリックします。
5. ロードバランサのヘルスチェック設定
ヘルスチェックの項目を確認、必要であれば変更して、「次へ」をクリックします。
確認画面が表示されるので、「送信」をクリックします。
作成が完了したら、「OK」をクリックします。
6. ロードバランサの動作確認
ステータスは実行中であっても、ヘルスチェックが通るまでは利用不可と表示されます
ヘルスチェックが正常になったら、バックエンドにアクセス可能です。
補足1
AWSと違い、ロードバランサと仮想マシン間は常に全て許可されています。その為、ヘルスチェック設定の際にセキュリティグループを設定する必要はありません。個人的にこれは結構嬉しいと思っています。
逆に、ロードバランサにセキュリティグループ設定が出来ないという仕様でもある為、インターネットのどこからでもロードバランサへアクセス可能となってしまいます
本来のロードバランサの意義を考えれば、インターネットのどこからでもロードバランサへアクセスが可能となるのは問題ないはずですが、アドミンアクセス等で利用する経路はロードバランサでなく、リバースプロキシを立てる必要があるようです。
補足2
今回のECSバックエンドサーバーでは、CentOSやUbuntuでなく、AmazonLinux感覚でAliyunOSを採用しました。
yum install -y nginx
を実施した所、nginxでなくtengine(AlibabaがNginxからForkしたプロダクト)がインストールされて、びっくりしました(小並感