Skip to content
Go back

AWS 实操 - 弹性负载均衡器和弹性伸缩

| 0 Views Edit page

AWS 弹性负载均衡器和弹性伸缩相关实际操作。


创建一个 Auto Scaling 组 (ASG)

一、创建启动模板 (Launch Template)

  1. 在实例菜单选择启动模板
  2. 点击创建启动模板
  3. 配置启动模板
    1. 填写启动模板名称
    2. 选择 AMI
    3. 选择实例类型
    4. 选择密钥对
    5. 选择安全组
    6. 配置存储
    7. 添加资源标签
    8. 配置高级详细信息

      其中可以配置 用户数据

    9. 创建启动模板
  4. 启动模板创建成功

启动模板创建成功

二、创建 Auto Scaling 组

  1. 在 Auto Scaling 菜单选择 Auto Scaling 组
  2. 点击创建 Auto Scaling 组
  3. 配置 Auto Scaling 组
    1. 填写 Auto Scaling 组名称
    2. 选择启动模板(上一步创建的)
    3. 确认启动模板的内容后点击下一步
    4. 配置网络(一个 VPC 和多个可用区及子网)
    5. 配置实例类型要求(会覆盖启动模板的设置)
    6. 添加负载均衡器(可以稍后再添加)
    7. 配置运行状况检查
    8. 配置监控

      CloudWatch 中启用组指标收集并不会收费。

    9. ⭐ 配置组大小
    10. ⭐ 配置扩展策略
    11. 添加通知
    12. 添加标签
    13. 审核所有配置并创建
  4. Auto Scaling 组创建成功
  5. ⭐ 开始自动更新容量(启动实例)
  6. 在 Auto Scaling 组的活动页面可以看到启动记录
  7. 使用实例刷新 (instance refresh) 可以更新 Auto Scaling 组中的所有实例

在 Auto Scaling 组的活动页面可以看到启动记录
实例刷新


目标组

一、创建 ALB 目标组

  1. 在负载平衡菜单选择目标群组
  2. 点击创建目标组
  3. 配置目标组
    1. 选择目标类型

      可选实例、IP 地址、Lambda 函数和现有的 ALB

    2. 输入目标组名称
    3. 配置目标组协议和端口
    4. 配置协议版本(HTTP 和 80 端口)
    5. 配置健康检查
    6. 配置标签
    7. 注册目标 (Register targets)
    8. 创建目标组
  4. ALB 目标组创建完成

创建 ALB 目标组

二、创建 NLB 目标组

大致流程与 ALB 目标组创建时的一致。
只列举不同的流程:

  1. 配置目标组
    1. ⭐ 配置协议版本(TCP 和 80 端口)

      NLB 不支持 HTTP 协议。

创建 NLB 目标组


网络负载均衡器

一、创建弹性 IP 地址 (Elastic IP addresses) 供 NLB 使用

创建弹性 IP 地址

二、创建网络负载均衡器

  1. 在负载平衡菜单选择负载均衡器
  2. 点击创建负载均衡器
  3. 配置负载均衡器
    1. 选择 NLB 负载均衡器类型
    2. 输入负载均衡器名称
    3. 选择面向互联网还是内网
    4. 选择单 IPv4 还是双栈(IPv4 加 IPv6)
    5. ⭐ 配置一个 VPC 和多个 可用区 及(公有)子网
    6. 为每个 子网 分配弹性 IP 地址
    7. 配置监听器(TCP 和 80 端口)和对应的目标组
    8. 创建负载均衡器
  4. 等待负载均衡器预置完成后创建成功
  5. 通过公有 DNS 访问负载均衡器

负载均衡器类型
为每个子网分配弹性 IP 地址
配置监听器(TCP 和 80 端口)和对应的目标组
通过公有 DNS 访问负载均衡器

三、为 ASG 配置 NLB 负载均衡器(目标组)

为 ASG 配置 NLB 负载均衡器(目标组)

四、查看 NLB 中注册的实例

查看 NLB 中注册的实例

五、查看 NLB 负载均衡器关联的 IP 地址

nslookup
# 之后输入 NLB 的公有 DNS

虽然之前绑定了 3 个弹性 IP,但是当前 ASG 只在两个 子网 中创建了两台实例,因此只返回了两个 子网 绑定的弹性 IP 地址:
查看负载均衡器关联的 IP 地址

六、使用浏览器访问 NLB 的公有 DNS

  • ⭐ 多次访问 NLB 的公有 DNS,请求都只被发到了一个子网中实例

    算法不一样导致的,ALB 会轮询。

  • 直接访问分配的弹性 IP 地址也可以达到实例

使用浏览器访问 NLB 的公有 DNS


应用程序负载均衡器

一、创建应用程序负载均衡器

  1. 在负载平衡菜单选择负载均衡器
  2. 点击创建负载均衡器
  3. 配置负载均衡器
    1. 选择 ALB 负载均衡器类型
    2. 输入负载均衡器名称
    3. 选择面向互联网还是内网
    4. 选择单 IPv4 还是双栈(IPv4 加 IPv6)
    5. ⭐ 配置一个 VPC 和多个 可用区 及(公有)子网

      AWS 会自动为每个 子网 分配公有 IP 地址。

    6. 配置安全组

      NLB 不支持配置安全组,而 ALB 支持。

    7. 配置监听器(HTTP 和 80 端口)和对应的目标组
    8. 创建负载均衡器
  4. 等待负载均衡器预置完成后创建成功
  5. 通过公有 DNS 访问负载均衡器

AWS 会自动为每个 子网 分配公有 IP 地址
配置安全组
配置监听器(HTTP 和 80 端口)和对应的目标组

二、为 ASG 配置 ALB 负载均衡器(目标组)

为 ASG 配置 ALB 负载均衡器(目标组)

三、使用浏览器访问 ALB 的公有 DNS

  • 默认每次访问都前往了不同可用区(轮询)
  • ⭐ 使用 粘性会话 (Sticky Sessions) 可以将同一客户端的请求固定在一个可用区

ap-northeast-1c ap-northeast-1a


Edit page