Token导航 LogoToken导航TokenDH.com
Terraform Oci MCP Ep C Lb Waf logo
运维云端未说明官方级别未说明来源级核验

Terraform Oci MCP Ep C Lb Waf

MCP Server

用于创建和管理Oracle云基础设施(OCI)负载均衡器的Terraform模块,支持多种负载均衡策略、SSL/TLS证书管理和高级流量控制。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
云端部署Docker服务器管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

hm4sbp

提供方

hm4sbp

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Oracle云基础架构(OCI)负载均衡器平台模块

此Terraform模块创建并管理Oracle Cloud Infrastructure(OCI)负载平衡器及其所有相关资源,包括后端集、侦听器、证书、路径路由集、规则集和主机名。

特性

  • 完整的负载均衡器管理:使用灵活的形状选项创建和配置OCI负载均衡器
  • 后端套件:支持具有不同负载平衡策略的多个后端集
  • SSL/TLS支持:完整的SSL证书管理和HTTPS侦听器
  • 健康检查:后端服务器的可配置健康检查
  • 路径路由:支持到不同后端集的基于路径的路由
  • 规则集:具有自定义规则的高级交通管理
  • 主机名管理:支持多站点托管的虚拟主机名
  • 安全组:网络安全组集成
  • 灵活的形状:支持固定和灵活的负载平衡器形状
  • 私有的/公共的:支持私有和公共负载平衡器

用法

基本HTTP负载平衡器

module "load_balancer" {
  source = "path/to/this/module"

  compartment_id = "ocid1.compartment.oc1..example"
  display_name   = "web-app-lb"
  shape          = "flexible"
  subnet_ids     = ["ocid1.subnet.oc1..example1", "ocid1.subnet.oc1..example2"]

  shape_details = {
    minimum_bandwidth_in_mbps = 10
    maximum_bandwidth_in_mbps = 100
  }

  backend_sets = {
    "web-backend" = {
      policy = "ROUND_ROBIN"
      backends = [
        {
          name       = "web-server-1"
          ip_address = "10.0.1.10"
          port       = 80
          weight     = 1
        },
        {
          name       = "web-server-2"
          ip_address = "10.0.1.11"
          port       = 80
          weight     = 1
        }
      ]
      health_checker = {
        protocol            = "HTTP"
        interval_ms         = 10000
        port                = 80
        response_body_regex = ".*"
        retries             = 3
        return_code         = 200
        timeout_in_millis   = 3000
        url_path            = "/health"
      }
    }
  }

  listeners = {
    "http-80" = {
      default_backend_set_name = "web-backend"
      port                     = 80
      protocol                 = "HTTP"
    }
  }

  freeform_tags = {
    Environment = "production"
    Application = "web-app"
  }
}

带SSL终止的HTTPS负载均衡器

module "https_load_balancer" {
  source = "path/to/this/module"

  compartment_id = "ocid1.compartment.oc1..example"
  display_name   = "secure-web-lb"
  shape          = "flexible"
  subnet_ids     = ["ocid1.subnet.oc1..example1", "ocid1.subnet.oc1..example2"]

  shape_details = {
    minimum_bandwidth_in_mbps = 10
    maximum_bandwidth_in_mbps = 400
  }

  certificates = {
    "ssl-cert" = {
      private_key        = file("path/to/private-key.pem")
      public_certificate = file("path/to/certificate.pem")
      ca_certificate     = file("path/to/ca-bundle.pem")
    }
  }

  backend_sets = {
    "secure-backend" = {
      policy = "ROUND_ROBIN"
      backends = [
        {
          name       = "app-server-1"
          ip_address = "10.0.1.20"
          port       = 8080
          weight     = 1
        }
      ]
      health_checker = {
        protocol            = "HTTP"
        interval_ms         = 10000
        port                = 8080
        url_path            = "/actuator/health"
        return_code         = 200
      }
    }
  }

  listeners = {
    "https-443" = {
      default_backend_set_name = "secure-backend"
      port                     = 443
      protocol                 = "HTTP"
      ssl_configuration = {
        certificate_name        = "ssl-cert"
        verify_peer_certificate = false
        protocols              = ["TLSv1.2", "TLSv1.3"]
      }
    }
  }
}

专用负载平衡器

module "private_load_balancer" {
  source = "path/to/this/module"

  compartment_id = "ocid1.compartment.oc1..example"
  display_name   = "internal-api-lb"
  shape          = "flexible"
  subnet_ids     = ["ocid1.subnet.oc1..private-subnet"]
  is_private     = true

  network_security_group_ids = ["ocid1.networksecuritygroup.oc1..example"]

  shape_details = {
    minimum_bandwidth_in_mbps = 10
    maximum_bandwidth_in_mbps = 100
  }

  backend_sets = {
    "api-backend" = {
      policy = "LEAST_CONNECTIONS"
      backends = [
        {
          name       = "api-server-1"
          ip_address = "10.0.2.10"
          port       = 8080
        },
        {
          name       = "api-server-2"
          ip_address = "10.0.2.11"
          port       = 8080
        }
      ]
    }
  }

  listeners = {
    "http-8080" = {
      default_backend_set_name = "api-backend"
      port                     = 8080
      protocol                 = "HTTP"
    }
  }
}

例子

examples/ 目录包含完整的工作示例:

  • simple-load-balancer/:基本HTTP负载平衡器设置
  • https-load-balancer/:具有SSL终止和重定向规则的HTTPS负载平衡器

需求

名称版本
地形>=1.0
>= 5.0.0

提供商

名称版本
>= 5.0.0

资源

输入

名称描述类型默认值必填
compartment_id要在其中创建负载平衡器的隔间的OCIDstringn/a
display_name负载平衡器的用户友好名称stringn/a
subnet_ids用于创建负载均衡器的子网OCID数组list(string)n/a
shape负载平衡器的形状string"flexible"没有
is_private负载平衡器是否具有VCN本地(专用)IP地址boolfalse没有
network_security_group_ids与负载平衡器关联的NSG OCID数组list(string)[]没有
reserved_ips保留的IP OCID数组list(object({id = string}))[]没有
ip_mode负载平衡器是否具有IPv4或IPv6 ip地址string"IPV4"没有
is_delete_protection-enabled是否为负载平衡器启用了删除保护boolfalse没有
shape_details灵活负载平衡器形状的形状细节object({maximum_bandwidth_in_mbps = number, minimum_bandwidth_in_mbps = number})null没有
backend_sets要创建的后端集映射map(object){}没有
listeners要创建的监听器映射map(object){}没有
certificates要创建的SSL证书映射map(object){}没有
path_route_sets要创建的路径路由集的映射map(object){}没有
rule_sets要创建的规则集映射map(object){}没有
主机名要创建的主机名映射map(object){}没有
freeform_tags标记负载平衡器的简单键值对map(string){}没有
defined_tags预定义并作用于命名空间标签map(string){}没有

输出

名称描述
load_balancer_id负载平衡器的OCID
load_balancer_display_name负载平衡器的显示名称
load_balancer_shape负载平衡器的形状
load_balancer_state负载平衡器的当前状态
load_balancer_ip_addressesip地址数组
public_ip_addresss负载均衡器的公共ip地址(如果不是私有的)
private_ip_addresss负载均衡器的私有ip地址
backend_sets创建的后端集
后端创建的后端
听众听众创建
证书创建的证书
path_route_sets创建的路径路由集
rule_sets创建的规则集
主机名创建的主机名

负载平衡器形状

固定形状

  • 10Mbps:10 Mbps
  • 100Mbps:100 Mbps
  • 400Mbps:400 Mbps
  • 8000Mbps:8000 Mbps

灵活的形状

  • flexible:可配置带宽(与 shape_details)

负载平衡策略

  • ROUND_ROBIN:在后端服务器上均匀分配请求
  • LEAST_CONNECTIONS:路由到活动连接最少的服务器
  • IP_HASH:基于客户端IP哈希的路由

健康检查协议

  • HTTP:HTTP健康检查
  • HTTPS:HTTPS健康检查
  • TCP:TCP连接健康检查

SSL/TLS配置

该模块支持全面的SSL/TLS配置:

  • 使用私钥和证书链进行证书管理
  • 可配置的SSL协议(TLSv1.2、TLSv1.3)
  • 自定义密码套件
  • 对等证书验证选项
  • 密码选择的服务器顺序偏好

高级功能

基于路径的路由

根据URL路径将流量路由到不同的后端集:

path_route_sets = {
  "api-routes" = {
    path_routes = [
      {
        backend_set_name = "api-backend"
        path             = "/api/*"
        path_match_type = {
          match_type = "PREFIX_MATCH"
        }
      }
    ]
  }
}

规则集

创建自定义流量管理规则:

rule_sets = {
  "security-headers" = {
    items = [
      {
        action = "ADD_HTTP_REQUEST_HEADER"
        header = "X-Forwarded-Proto"
        value  = "https"
      }
    ]
  }
}

会话保持

配置会话粘性:

backend_sets = {
  "sticky-backend" = {
    policy = "ROUND_ROBIN"
    session_persistence_configuration = {
      cookie_name      = "JSESSIONID"
      disable_fallback = false
    }
  }
}

安全考虑

  1. 网络安全组:使用NSG控制进出负载均衡器的流量
  2. 专用负载平衡器:对内部流量使用专用负载平衡器
  3. SSL/TLS:始终对生产工作负载使用HTTPS
  4. 证书管理:定期轮换证书
  5. 健康检查:配置适当的健康检查端点

监控和故障排除

  • 使用OCI监控服务跟踪负载均衡器指标
  • 在OCI控制台中检查后端服务器运行状况
  • 监控访问日志中的流量模式和错误
  • 设置健康检查失败的警报

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

此模块在MIT许可证下发布。有关详细信息,请参阅LICENSE文件。

支持

对于问题和疑问:

  1. 检查 示例 目录
  2. 查看OCI负载均衡器文档
  3. 在此存储库中打开问题

目录标签

目录标签

云端部署Docker服务器管理HCL本地部署负载均衡云基础设施Terraform模块SSL/TLS管理流量控制

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP