Back to Skills

configuring-load-balancers

jeremylongshore
Updated Today
31 views
712
74
712
View on GitHub
Metageneral

About

This skill generates production-ready configurations for load balancers like ALB, NLB, Nginx, and HAProxy. Use it when you need to set up load balancing with features including health checks, SSL termination, and traffic distribution rules. It provides actionable configurations triggered by phrases such as "configure load balancer" or "setup nginx load balancing."

Quick Install

Claude Code

Recommended
Plugin CommandRecommended
/plugin add https://github.com/jeremylongshore/claude-code-plugins-plus
Git CloneAlternative
git clone https://github.com/jeremylongshore/claude-code-plugins-plus.git ~/.claude/skills/configuring-load-balancers

Copy and paste this command in Claude Code to install this skill

Documentation

Prerequisites

Before using this skill, ensure:

  • Backend servers are identified with IPs or DNS names
  • Load balancer type is determined (ALB, NLB, Nginx, HAProxy)
  • SSL certificates are available if using HTTPS
  • Health check endpoints are defined
  • Understanding of traffic distribution requirements (round-robin, least-connections)
  • Cloud provider CLI installed (if using cloud load balancers)

Instructions

  1. Select Load Balancer Type: Choose based on requirements (L4 vs L7, cloud vs on-prem)
  2. Define Backend Pool: List backend servers with ports and weights
  3. Configure Health Checks: Set check interval, timeout, and healthy threshold
  4. Set Up SSL/TLS: Configure certificates and cipher suites
  5. Define Routing Rules: Create path-based or host-based routing
  6. Enable Session Persistence: Configure sticky sessions if needed
  7. Add Monitoring: Set up logging and metrics collection
  8. Test Configuration: Validate syntax and test traffic distribution

Output

Nginx Configuration:

# {baseDir}/nginx/load-balancer.conf
upstream backend_servers {
    least_conn;
    server 10.0.1.10:8080 weight=3;
    server 10.0.1.11:8080 weight=2;
    server 10.0.1.12:8080 backup;
}

server {
    listen 80;
    server_name app.example.com;

    location / {
        proxy_pass http://backend_servers;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_connect_timeout 5s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }

    location /health {
        access_log off;
        return 200 "healthy\n";
    }
}

AWS ALB (Terraform):

# {baseDir}/terraform/alb.tf
resource "aws_lb" "app_alb" {
  name               = "app-load-balancer"
  internal           = false
  load_balancer_type = "application"
  security_groups    = [aws_security_group.alb_sg.id]
  subnets            = aws_subnet.public[*].id
}

resource "aws_lb_target_group" "app_tg" {
  name     = "app-target-group"
  port     = 80
  protocol = "HTTP"
  vpc_id   = aws_vpc.main.id

  health_check {
    path                = "/health"
    interval            = 30
    timeout             = 5
    healthy_threshold   = 2
    unhealthy_threshold = 2
  }
}

resource "aws_lb_listener" "app_listener" {
  load_balancer_arn = aws_lb.app_alb.arn
  port              = "443"
  protocol          = "HTTPS"
  ssl_policy        = "ELBSecurityPolicy-TLS-1-2-2017-01"
  certificate_arn   = aws_acm_certificate.cert.arn

  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.app_tg.arn
  }
}

Error Handling

Backend Server Unreachable

  • Error: "502 Bad Gateway" or connection refused
  • Solution: Verify backend server IPs, ports, and firewall rules

SSL Certificate Error

  • Error: "certificate verify failed"
  • Solution: Check certificate validity, chain, and private key match

Health Check Failures

  • Error: "Target is unhealthy"
  • Solution: Verify health check path returns 200 status and backends are running

Configuration Syntax Error

  • Error: "nginx: configuration file test failed"
  • Solution: Run nginx -t to validate syntax and fix errors

Session Persistence Not Working

  • Issue: Users losing session on subsequent requests
  • Solution: Enable sticky sessions using cookie-based or IP-based persistence

Resources

GitHub Repository

jeremylongshore/claude-code-plugins-plus
Path: plugins/devops/load-balancer-configurator/skills/load-balancer-configurator
aiautomationclaude-codedevopsmarketplacemcp

Related Skills

subagent-driven-development

Development

This skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.

View skill

algorithmic-art

Meta

This Claude Skill creates original algorithmic art using p5.js with seeded randomness and interactive parameters. It generates .md files for algorithmic philosophies, plus .html and .js files for interactive generative art implementations. Use it when developers need to create flow fields, particle systems, or other computational art while avoiding copyright issues.

View skill

executing-plans

Design

Use the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.

View skill

cost-optimization

Other

This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.

View skill