Auto Scaling Group のトラフィック分散設定の確認

サービスの拡張と復旧を、実際の要求経路に結び付けてください。

説明

要求を受け付けるサービスで Auto Scaling Group に適切なロードバランサーの関連付けがないと、新しいインスタンスへの転送や障害インスタンスの回避が難しくなる場合があります。一方、キューのワーカーやバッチ処理にはロードバランサーが不要な場合もあります。

load_balancers は Classic Load Balancer の関連付けに使用します。ALB・NLB などはターゲットグループで接続し、実際の登録状態とヘルスチェックも構成する必要があります。

想定される影響

  • インスタンスが増えても、サービス要求が適切に分散されない場合があります。
  • 障害検知と転送先の切り替えが合わないと、サービス停止が長引くおそれがあります。

対処方法

ワークロードの要求経路を決め、必要な Classic Load Balancer またはターゲットグループを関連付けてください。インスタンス登録、ロードバランサーのヘルスチェック、Auto Scaling の置換条件を併せて確認し、拡張時や障害時の要求処理を試験してください。ロードバランサーを必要としないワークロードには追加しないでください。

例

従来の ec2_asg モジュールと起動設定を使う抜粋です。インストールしたコレクションとアカウントで利用できる構成か確認し、lc-1 とロードバランサー名を実際の値に置き換えてください。ネットワーク設定は省略しています。

変更前

yaml
- name: Create Auto Scaling Group
  community.aws.ec2_asg:
    name: special
    load_balancers: []
    launch_config_name: lc-1
    min_size: 1
    max_size: 10
    desired_capacity: 5

Classic Load Balancer の一覧は空です。他のトラフィック経路やターゲットグループの利用と、実際の要件を確認してください。

変更後

yaml
- name: Create Auto Scaling Group
  community.aws.ec2_asg:
    name: special
    load_balancers:
      - lb1
      - lb2
    launch_config_name: lc-1
    min_size: 1
    max_size: 10
    desired_capacity: 5

lb1 と lb2 を関連付けます。関連付けだけでアプリケーションの正常動作は保証されないため、登録状態とヘルスチェックも確認してください。

参考資料