1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【AWS】ELB(Elastic Load Balancing)とAuto Scaling

Last updated at Posted at 2021-07-27

ネットワークサービス

VPC内で利用できるネットワークサービス

◉Elastic Load Balancer(ELB)

  • EC2や特定のIPアドレスへのトラフィックを分散するロードバランシングサービス
  • EC2インスタンス(バックエンドインスタンス)を登録するだけで利用できる

◎Classic Load Balancer(CLB)

  • 標準的なロードバランシング
  • 複数のEC2インスタンス間で基本的な負荷分散を提供し、リクエストレベルと接続レベルの両方で動作する

◎Application Load Balancer(ALB)

  • **リクエストレベル(レイヤー7)**で動作し、トラフィックをリクエストの内容に基づいて、ターゲット(EC2インスタンス/コンテナ/IPアドレス/Lambda関数)にルーティングする
  • HTTPトラフィックおよびHTTPSトラフィックの負荷分散に最適

◎Network Load Balancer(NLB)

  • **リクエストレベル(レイヤー4)**で動作し、IPプロトコルデータに基づいてVPC内のターゲット(EC2インスタンス/マイクロサービス/コンテナー)に接続をルーティングする
  • TCPトラフィックとUDPトラフィックの両方の負荷分散に最適
  • 超低遅延(低レイテンシー)を維持しながら、1秒あたり数百万の要求を処理
  • アベイラビリティーゾーンごとに単一の静的IPアドレスを使用しながら、突然の不安定なトラフィックパターンを処理するように最適化されている

レイヤーとはデータ通信を実現するためのネットワーク構造の設計方針

レイヤー4(トランスポート層)
・ネットワークの端から端までの通信管理(エラー訂正、再送制御等)

レイヤー7(アプリケーション層)
・具体的な通信サービス(ファイル・メールの転送、遠隔データベースアクセスなど)を提供
・HTTPやHTTPS等の通信サービス

◎ELBの特徴

特徴 詳細
高可用性 トラフィックを複数のAZに分散できる/EC2インスタンスやAZに障害が発生しても正常なインスタンスとの通信が続けられる
自動スケーリング トラフィックの負荷に応じて自動でスケーリングする/ELB自体にも冗長性がある
セキュリティ機能 SSL復号の機能がある/バックエンドインスタンスの負荷軽減や証明書の一元管理が可能/ELB自体にもセキュリティグループを設定できるため、ELBのみでアクセス制御も可能
ヘルスチェック/モニタリング 正常に作動していないインスタンスへのトラフィックの振り分けを停止して正常なインスタンスとのみ通信する/スティッキーセッション機能セッションが確立したインスタンスにユーザーリクエストを送信できる/Connecting Draining機能によりELBから切り離してもリクエスト中のインスタンスへ指定秒数の間は通信は切れない
クロスゾーン負荷分散 複数のAZに登録された全てのインスタンスに対して、リクエストを均等に分散/無効になっている場合AZごとにリクエストを均等に分散するため、AZによってインスタンス数が異なると全てのインスタンスに均等に分散できない
外部ELB(Internet-Facing)/内部ELB(Internal) 外部ELBはパブリックサブネットに配置し、バックエンドインスタンスをプライベートサブネットに配置する/内部ELBは外部アクセスできないプライベートサブネットでのみ利用できる 

◉Auto Scaling

  • リソースの使用状況をモニタリングし、状況に応じてEC2インスタンスを自動でスケールアウト/スケールインするサービス
  • あらかじめ設定したAmazon Machine Image(AMI)からインスタンスを起動するため最新化しておく必要がある

◎スケーリングプラン

いつ/どのような条件でAuto Scalingを実行するか定義したもの

  • 正常なインスタンスを維持するように実行
  • 手動でスケーリングを実行
  • スケジュールを指定して実行
  • CloudWatchのメトリクス(リソースの使用状況)に応じて自動実行

◎自動実行のポリシータイプ

ポリシータイプ 説明
シンプルスケーリング ひとつのポリシーに基づいて実行
ステップスケーリング CloudWatchのアラーム設定に応じた一連のスケーリングポリシーに基づいて実行
ターゲットトラッキングスケーリング 特定のメトリクスのターゲット値を維持するように実行

◎Auto Scalingの種類

種類 対象サービス 機能
EC2 Auto Scaling EC2 スケーリングポリシーに基づいてEC2インスタンスをスケーリング
Application Auto Scaling EC2以外の対象サービス EC2以外のリソースの使用状況に応じて自動スケーリングする
AWS Auto Scaling EC2/EC2以外の対象サービス 自動スケーリングと予測スケーリング機能を持つ/予測スケーリングで過去の使用状況を分析し、今後の利用量を予測して適切な利用状況になるように管理する

◎起動設定

Auto Scaling実行時に起動するEC2インスタンスの情報を定義

EC2を構築する際に必要なパラメーター
→AMI/インスタンスタイプ/セキュリティグループなど

◎Auto Scalingグループ

  • EC2インスタンスの管理を行う範囲のこと
  • インスタンスの最小数/最大数/希望数を定義することでその範囲内でEC2インスタンス数が増減する

Image from Gyazo

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?