通过Terraform实现BLB关联监听器、后端服务器、安全组等

负载均衡 BLB

  • 快速入门
  • 功能发布记录
  • 产品描述
    • 产品特性
    • 使用限制
    • 基本概念
    • 基本架构
    • 产品优势
    • 产品介绍
    • 应用场景
    • 性能规格说明
  • 典型实践
    • 通过Terraform实现BLB关联监听器、后端服务器、安全组等
    • BLB选型指南
    • 通过应用型BLB实例获取客户端信息
    • 使用IP组功能在跨地域VPC挂载后端服务器
    • 负载均衡安全防护策略
    • 使用IP组功能在同地域跨VPC挂载后端服务器
    • 通过应用型BLB实现多站点托管
    • 健康检查异常排查
    • 通过Terraform管理BLB
  • 操作指南
    • 多用户访问控制
    • 负载均衡专属集群
    • 负载均衡前后端使用协议对应关系
    • BLB监控项说明
    • 访问控制
    • 标签管理
    • 访问日志
    • 使用VPC流日志记录访问日志
    • 实名认证
    • 扩展域名
    • 应用型BLB实例
    • 服务发布点
    • 普通型IPv6 BLB实例
    • 应用型IPv6实例
    • 定制配置
    • IP组使用指南
    • 普通型BLB实例
      • 创建BLB普通型实例
      • 管理BLB普通型实例
  • 服务等级协议SLA
    • 百度云负载均衡可信云认证服务可用性说明
    • LBDC服务等级协议SLA
    • BLB服务等级协议SLA(V2.0)
  • API参考
    • 访问控制
    • 简介
    • 文档更新记录
    • 附录
    • 接口规范
    • API服务域名
    • 错误码
    • 应用型IPv6BLB接口
      • 应用型IPv6BLB监听器相关接口
      • 应用型IPv6BLB安全组相关接口
      • 应用型IPv6BLB实例相关接口
      • 应用型IPv6BLB服务器组相关接口
    • 普通型BLB接口
      • 普通型BLB实例相关接口
      • 普通型BLB安全组相关接口
      • 普通型BLB监听器相关接口
      • 普通型BLB后端服务器相关接口
    • 服务发布点接口
      • 服务发布点相关接口
    • 负载均衡专属集群LBDC接口
      • LBDC实例相关接口
    • BLB订单相关接口
      • BLB询价
      • BLB计费变更-后付费转预付费
      • BLB计费变更-预付费转后付费
      • BLB-变配
      • BLB计费变更-取消预付费转后付费
      • BLB退订接口
    • 应用型BLB接口
      • 应用型BLB服务器组相关接口
      • 应用型BLB实例相关接口
      • 应用型BLB监听器相关接口
      • 应用型BLB安全组相关接口
    • 普通型IPv6BLB接口
      • 普通型IPv6BLB相关接口
  • 常见问题
    • 计费类问题
    • 负载均衡专属集群类问题
    • 一般类问题
    • 常见问题总览
    • 性能类问题
    • 安全类问题
    • 配置类问题
    • 故障类问题
  • 产品定价
    • 负载均衡实例计费
    • 负载均衡专属集群计费
  • SDK
    • Python-SDK
      • 普通型blb实例
      • 负载均衡专属集群LBDC
      • 应用型blb实例
      • IPv6型BLB实例
      • 服务发布点
      • 初始化
      • 版本更新说明
      • 安装
      • 概述
    • Java-SDK
      • 普通型BLB实例
      • 负载均衡专属集群LBDC
      • 应用型BLB实例
      • IPv6型BLB实例
      • 服务发布点
      • 初始化
      • 版本更新说明
      • 安装SDK工具包
      • 概述
    • GO-SDK
      • 普通型blb实例
      • 负载均衡专属集群LBDC
      • 应用型blb实例
      • 版本变更记录
      • IPv6型BLB实例
      • 服务发布点
      • 初始化
      • 安装
      • 概述
    • PHP-SDK
      • 普通型blb实例
      • 初始化
      • 安装
      • 概述
所有文档
menu
没有找到结果,请重新输入

负载均衡 BLB

  • 快速入门
  • 功能发布记录
  • 产品描述
    • 产品特性
    • 使用限制
    • 基本概念
    • 基本架构
    • 产品优势
    • 产品介绍
    • 应用场景
    • 性能规格说明
  • 典型实践
    • 通过Terraform实现BLB关联监听器、后端服务器、安全组等
    • BLB选型指南
    • 通过应用型BLB实例获取客户端信息
    • 使用IP组功能在跨地域VPC挂载后端服务器
    • 负载均衡安全防护策略
    • 使用IP组功能在同地域跨VPC挂载后端服务器
    • 通过应用型BLB实现多站点托管
    • 健康检查异常排查
    • 通过Terraform管理BLB
  • 操作指南
    • 多用户访问控制
    • 负载均衡专属集群
    • 负载均衡前后端使用协议对应关系
    • BLB监控项说明
    • 访问控制
    • 标签管理
    • 访问日志
    • 使用VPC流日志记录访问日志
    • 实名认证
    • 扩展域名
    • 应用型BLB实例
    • 服务发布点
    • 普通型IPv6 BLB实例
    • 应用型IPv6实例
    • 定制配置
    • IP组使用指南
    • 普通型BLB实例
      • 创建BLB普通型实例
      • 管理BLB普通型实例
  • 服务等级协议SLA
    • 百度云负载均衡可信云认证服务可用性说明
    • LBDC服务等级协议SLA
    • BLB服务等级协议SLA(V2.0)
  • API参考
    • 访问控制
    • 简介
    • 文档更新记录
    • 附录
    • 接口规范
    • API服务域名
    • 错误码
    • 应用型IPv6BLB接口
      • 应用型IPv6BLB监听器相关接口
      • 应用型IPv6BLB安全组相关接口
      • 应用型IPv6BLB实例相关接口
      • 应用型IPv6BLB服务器组相关接口
    • 普通型BLB接口
      • 普通型BLB实例相关接口
      • 普通型BLB安全组相关接口
      • 普通型BLB监听器相关接口
      • 普通型BLB后端服务器相关接口
    • 服务发布点接口
      • 服务发布点相关接口
    • 负载均衡专属集群LBDC接口
      • LBDC实例相关接口
    • BLB订单相关接口
      • BLB询价
      • BLB计费变更-后付费转预付费
      • BLB计费变更-预付费转后付费
      • BLB-变配
      • BLB计费变更-取消预付费转后付费
      • BLB退订接口
    • 应用型BLB接口
      • 应用型BLB服务器组相关接口
      • 应用型BLB实例相关接口
      • 应用型BLB监听器相关接口
      • 应用型BLB安全组相关接口
    • 普通型IPv6BLB接口
      • 普通型IPv6BLB相关接口
  • 常见问题
    • 计费类问题
    • 负载均衡专属集群类问题
    • 一般类问题
    • 常见问题总览
    • 性能类问题
    • 安全类问题
    • 配置类问题
    • 故障类问题
  • 产品定价
    • 负载均衡实例计费
    • 负载均衡专属集群计费
  • SDK
    • Python-SDK
      • 普通型blb实例
      • 负载均衡专属集群LBDC
      • 应用型blb实例
      • IPv6型BLB实例
      • 服务发布点
      • 初始化
      • 版本更新说明
      • 安装
      • 概述
    • Java-SDK
      • 普通型BLB实例
      • 负载均衡专属集群LBDC
      • 应用型BLB实例
      • IPv6型BLB实例
      • 服务发布点
      • 初始化
      • 版本更新说明
      • 安装SDK工具包
      • 概述
    • GO-SDK
      • 普通型blb实例
      • 负载均衡专属集群LBDC
      • 应用型blb实例
      • 版本变更记录
      • IPv6型BLB实例
      • 服务发布点
      • 初始化
      • 安装
      • 概述
    • PHP-SDK
      • 普通型blb实例
      • 初始化
      • 安装
      • 概述
  • 文档中心
  • arrow
  • 负载均衡BLB
  • arrow
  • 典型实践
  • arrow
  • 通过Terraform实现BLB关联监听器、后端服务器、安全组等
本页目录
  • 概览
  • 需求场景
  • 方案概述
  • 配置步骤
  • 环境准备
  • Terraform实现BLB关联监听器、后端服务器、安全组等功能示例
  • 编辑相关tf文件,用于管理BLB、监听器、后端服务器、安全组等配置
  • 执行Terraform命令完成创建
  • 资源销毁
  • 测试验证
  • 相关产品

通过Terraform实现BLB关联监听器、后端服务器、安全组等

更新时间:2025-08-21

概览

本文介绍了通过Terraform实现BLB关联监听器、后端服务器、安全组等功能

需求场景

简化资源运维,通过编写Terraform相关代码文件来实现BLB关联监听器、后端服务器、安全组等功能

方案概述

  • 下载Terraform工具,准备基础环境
  • 编写.tf文件, 管理基础配置
  • 通过Terraform相关命令完成BLB实例关联监听器、后端服务器、安全组等功能

配置步骤

环境准备

  • 准备一台可以连接到Internet的PC或者笔记本电脑
  • 登录Terraform官网
  • 选择对应系统进行下载,解压后是一个2进制可执行文件,需要进行环境变量配置
  • 进入配置文件 vi ~/.bash_profile
  • 添加环境变量 export PATH=${PATH}:/path (path:二进制文件位置)
  • 配置生效 source ~/.profile
  • 检查Terraform是否可以正常运行 :执行 terraform -v 如果可以正常显示版本号则证明安装成功

Terraform实现BLB关联监听器、后端服务器、安全组等功能示例

编辑相关tf文件,用于管理BLB、监听器、后端服务器、安全组等配置

  • 编辑main.tf :用于配置要下载的provider版本及后续需要的ak sk信息
Plain Text
1    terraform {
2        required_providers {
3            baiducloud = {
4                source  = "baidubce/baiducloud"    #源地址
5                version = "1.12.0"  #版本号
6            }
7        }
8    }
9 
10    provider "baiducloud" {
11        access_key  = "xxxxx"    #用户uid对应的ak
12        secret_key  = "xxxx"       #用户uid对应的sk
13        region      = "bj"               #待创建实例所在地域
14    }
  • 编辑blb.tf管理blb示例,可参考通过Terraform管理BLB
  • 编辑blb_listener.tf文件关联listener
Plain Text
1    resource "baiducloud_blb_listener" "TCP" {                 # 关联TCP
2        blb_id               = "${baiducloud_blb.default.id}"  # 上一步创建好的blbid
3        listener_port        = 124                                       # 前端监听端口
4        backend_port         = 1240                                  # 后端服务端口
5        protocol             = "TCP"                                     #  监听协议类型
6        #scheduler            = "LeastConnection"             # 负载均衡算法(转发规则) 
7        scheduler            = "RoundRobin"
8    }
9
10    resource "baiducloud_blb_listener" "UDP" {                 # 关联UDP
11        blb_id               = "${baiducloud_blb.default.id}"  # 上一步创建好的blbid
12        listener_port        = 125
13        backend_port         = 125
14        protocol             = "UDP"
15        #scheduler            = "LeastConnection"
16        scheduler            = "RoundRobin"
17        health_check_string  = "healthy"                         #UDP健康检查字符串(udp协议特有)
18    }
19
20    resource "baiducloud_blb_listener" "HTTP" {                 # 关联HTTP
21        blb_id               = "${baiducloud_blb.default.id}"   # 上一步创建好的blbid
22        listener_port        = 126
23        backend_port         = 126
24        protocol             = "HTTP"
25        #scheduler            = "LeastConnection"
26        scheduler            = "RoundRobin"
27    }
  • 编辑blb_server.tf文件关联安全组
Plain Text
1    data "baiducloud_images" "default" {                            # 查询镜像
2        image_type = "System"
3        name_regex = "8.4 aarch"
4        os_name    = "CentOS"
5    }
6    
7    resource "baiducloud_instance" "default1" {                     # 创建bcc实例
8        billing = {
9            payment_timing = "Postpaid"
10        }
11        instance_spec = "bcc.gr1.c1m4"
12        image_id      = data.baiducloud_images.default.images.0.id  # 上一步查出的镜像id
13        availability_zone = "cn-bj-d"       
14    }
15
16    resource "baiducloud_instance" "default2" {                     # 创建bcc实例
17        billing = {
18            payment_timing = "Postpaid"
19        }
20        instance_spec = "bcc.gr1.c1m4"
21        image_id      = data.baiducloud_images.default.images.0.id  # 上一步查出的镜像id
22        availability_zone = "cn-bj-d"
23    }
24
25    resource "baiducloud_blb_backend_server" "default" {            # 关联后端服务器
26        blb_id       = "${baiducloud_blb.default.id}"
27        backend_server_list {
28            instance_id = "${baiducloud_instance.default1.id}"      # 上一步创建出的实例id
29            weight      = 39                                        # 设置权重
30        }
31        backend_server_list {
32            instance_id = "${baiducloud_instance.default2.id}"      
33            weight      = 5
34        }
35    }
  • 编辑blb_security.tf文件关联安全组
Plain Text
1    resource "baiducloud_vpc" "default" {                       # 创建vpc
2        name = "terra-test-vpc"
3        description = "baiducloud vpc created by terraform"
4        cidr = "192.168.0.0/16"
5    }
6
7    resource "baiducloud_security_group" "default1" {           # 创建安全组
8        name        = "terra-security-group-1"
9        description = "created by terraform"
10        vpc_id      = "${baiducloud_vpc.default.id}"            # 上一步创建好的vpcid
11    }
12
13    resource "baiducloud_blb_securitygroup" "blb_default" {     # 关联安全组
14        blb_id      = "${baiducloud_blb.default.id}"
15        security_group_ids = ["${baiducloud_security_group.default1.id}"] 
16    }

执行Terraform命令完成创建

  • terraform init : 用于下载或更新百度provider,出现以下信息代表下载成功

init.png

  • terraform plan:确认资源变更计划
  • terraform apply:执行资源创建,出现“Apply complete”代表成功

资源销毁

  • 执行terraform destroy命令可销毁上述资源
  • 出现“Destroy complete”代表销毁成功

测试验证

  • 执行terraform show 查看本地是否可以正确输出购买结果
  • 登录百度智能云,查看BLB实例是否已关联监听器、安全组、后端服务器

相关产品

负载均衡BLB

上一篇
产品描述
下一篇
BLB选型指南