Ensure Auto Scaling groups with load balancer utilize health checks for optimal performance.
Rule | Auto Scaling groups with a load balancer should use health checks |
Framework | NIST 800-53 Revision 5 |
Severity | ✔ Critical |
Auto Scaling Groups with Load Balancer Health Checks for NIST 800-53 Revision 5 Compliance
NIST 800-53 Revision 5 provides a comprehensive set of security and privacy controls for federal information systems and organizations to ensure the effective protection of federal information and operations. Auto Scaling groups with a load balancer in a cloud environment like AWS need to be configured properly to be compliant with this framework.
Description of the Health Check Rule
NIST 800-53 Relevance:
The specific control that addresses the use of health checks in Auto Scaling groups falls under SI-2: Flaw Remediation. It requires organizations to promptly install security-relevant software and firmware updates. Consequently, ensuring that the underlying infrastructure is healthy and operational is part of this.
Auto Scaling Health Checks:
Auto Scaling health checks evaluate the health of instances in the group. When an instance is deemed unhealthy, the service can replace it automatically without user intervention. Integrating load balancer (e.g., ELB) health checks allows the load balancer to route traffic away from failed instances and towards healthy ones.
Troubleshooting Steps
If your Auto Scaling group is not performing health checks as expected:
Necessary CLI Commands
Here are some necessary AWS CLI commands for setting up and verifying health checks:
Describe Auto Scaling Group's Health Check Settings:
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-auto-scaling-group
Change Health Check Type:
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-auto-scaling-group --health-check-type ELB --health-check-grace-period 300
Set up an ELB Health Check (using AWS CLI version 2):
aws elbv2 modify-target-group --target-group-arn my-target-group-arn --health-check-protocol HTTP --health-check-path /health --health-check-interval-seconds 30 --healthy-threshold-count 3 --unhealthy-threshold-count 3
Note: Replace
, my-auto-scaling-group
, and my-target-group-arn
with your specific Auto Scaling group name, target group ARN, and health check path./health
Step-by-Step Guide for Remediation
Update Auto Scaling Group Health Check Type: Configure your Auto Scaling group to use ELB health checks by applying the CLI command provided earlier.
Configure Load Balancer Health Checks: Modify your Load Balancer settings to define the protocol, path, and other parameters for health checking.
Monitor and Validate: Monitor your Auto Scaling group and Load Balancer to ensure that instances passing the health checks are routed traffic accordingly.
Test Auto-Replacement: Intentionally impair an instance and observe whether the Auto Scaling group replaces it, ensuring the process functions correctly for compliance.
SEO Friendly and Acceleration Tips