ELB・AutoScaling

概要

 

詳細

ELB × CloudWatch × AutoScaling

・異なるAZにあるEC2インスタンスの前にELBを置き、各AZに平均的に負荷分散

・異なるリージョンにまたがる負荷分散はできない

・最大作成できる数は10個まで(制約解除はできる)

・CloudWatchはEC2の負荷をモニタリング

・CloudWatchのアラームがなると、AutoScalingの設定に基づきEC2サーバを増減

 

ELB プロトコル

・HTTP

HTTPS

SSL

TCPUDPはサポートされていない)

 

ELB 自身のオートスケール機能

トラフィックに合わせてキャパシティを増減

・数も増減する

・ので、ELBはDNS名で登録をし、独自ドメインはCNAMEで名前解決

・EIPでの登録もできない

DNS名を複数のIPで名前解決すると、ELBのラウンドロビンみたいな分散もできる

 

ELB 設定の流れ

・利用するポートとプロトコルの設定

・ヘルスチェックの設定

・バックエンドEC2インスタンスの設定

・実行

 

ELB 暗号化

SSL Terminationで暗号化・復号化が可能

SSL 証明書の一元管理

・証明書のアップロードはAPI(IAMの)またはコンソールから

 

VPC内ELB(オンプレ×AWSのハイブリット構成)

・基本的にはリージョン上に置く

VPC内に置き、異なるAZをまたいでトラフィック分散もできる

・Dedicated インスタンスはサポートしていない

 

---------------------------

 

AutoScaling

・定義しておいた設定を元にEC2の台数を増減させる

ユースケース

 ・ピーク対応(リクエストに合わせてキャパシティを増減させる)

 ・規模(EC2の数)を固定して管理

 ・ELBとの連携

 

Autosaling 設定値

・マニュアル APIで設定

・スケジュール 希望時刻を設定

・ポリシーベース ポリシーを設定しておき、CloudWatchのアラームで起動させる

 

Autosaling その他機能

・通知機能 SNSを利用してアクション実行時に通知

・ヘルスチェック機能 EC2の状態もチェック

 

Autosaling 3つの基本設定

・Launch Configuration 起動したいインスタンスのパラメータの設定(AMI, インスタンスタイプ、セキュリティグループ、キーペア、ボリューム等)

・AutoScaling Group AutoScalingさせるグループ(どのELBか、AZか、サブネットか、Launch Configか、初期EC2インスタンス台数、インスタンスのヘルスチェックにELBのヘルスチェックを行うか、ヘルスチェックを始めるまでの待ち時間)

・Scaling Policy  アラームが発令された時のスケーリング量の指定(いくつのインスタンス数を増やすか、キャパを何%増やすか)

 

Autosaling タスク

・Launch インスタンスの起動を行う

・Terminate インスタンスを終了する

・HealthCheck インスタンスのヘルスチェックを行う

・Replace Unhealthy 不健全なインスタンスを入れ替える

・Add To LoadBalancer 指定したELBにインスタンスを追加する

・AZ Rebalance AZ間のインスタンスのバランスをとる

・Alerm Notification 起動/ 終了の通知を送る

・Scheduled Actions スケジュールしていたアクションを実行する