説明
リクエストを処理する Auto Scaling グループにロードバランサーなどの適切なルーティング構成がないと、インスタンスの増減に応じてトラフィックを分散しにくくなります。キューを処理するワーカーなど、ロードバランサーを必要としない用途もあります。
想定される影響
新しいインスタンスにリクエストが届かなかったり、障害のあるインスタンスに送信され続けたりするおそれがあります。
対処方法
Classic Load Balancer は LoadBalancerNames、Application・Network Load Balancer は対象グループの TargetGroupARNs で接続してください。リスナーとヘルスチェックも用途に合わせて設定してください。
例
この抜粋では既存の Classic Load Balancer を接続します。起動テンプレートとサブネットの定義は省略しています。
変更前
yaml
Resources:
WebAsg:
Type: AWS::AutoScaling::AutoScalingGroup
Properties:
MinSize: "1"
MaxSize: "4"
DesiredCapacity: "2"
VPCZoneIdentifier:
- !Ref PublicSubnetA
- !Ref PublicSubnetB
変更後
yaml
Resources:
WebAsg:
Type: AWS::AutoScaling::AutoScalingGroup
Properties:
MinSize: "1"
MaxSize: "4"
DesiredCapacity: "2"
LoadBalancerNames:
- web-elb
VPCZoneIdentifier:
- !Ref PublicSubnetA
- !Ref PublicSubnetB