更新时间:2024-04-19 GMT+08:00

对接独享型负载均衡器

本文介绍CSS集群对接独享型负载均衡器的操作步骤。

(可选)准备自签名证书

如果规划的ELB监听器的协议为HTTP则跳过此步骤。

准备并上传自签名证书。

建议使用云证书管理服务CCM购买的证书,或者其他权威机构颁发的证书。

  1. 登录到任意一台安装有OpenSSL工具和JDK的Linux客户端。
  2. 执行如下命令制作自签名证书。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    mkdir ca
    mkdir server
    mkdir client
    
    #使用OpenSSL制作CA证书
    cd ca
    #创建CA证书的openssl配置文件ca_cert.conf
    cat >ca_cert.conf <<EOF
    [ req ]
    distinguished_name     = req_distinguished_name
    prompt                 = no
    
    [ req_distinguished_name ]
     O                      = ELB
    EOF
    #创建CA证书私钥文件ca.key
    openssl genrsa -out ca.key 2048
    #创建CA证书的csr请求文件ca.csr
    openssl req -out ca.csr -key ca.key -new -config ./ca_cert.conf
    #创建自签名的CA证书ca.crt
    openssl x509 -req -in ca.csr -out ca.crt -sha1 -days 5000 -signkey ca.key
    #把ca证书格式转为p12格式
    openssl pkcs12 -export -clcerts -in ca.crt -inkey ca.key -out ca.p12
    #把ca证书格式转为jks格式
    keytool -importkeystore -srckeystore ca.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore ca.jks
    
    
    #使用CA证书签发服务器证书
    cd ../server
    #创建服务器证书的openssl配置文件server_cert.conf,CN字段根据需求改为服务器对应的域名、IP地址
    cat >server_cert.conf <<EOF
    [ req ]
    distinguished_name     = req_distinguished_name
    prompt                 = no
    
    [ req_distinguished_name ]
     O                      = ELB
     CN                     = 127.0.0.1
    EOF
    #创建服务器证书私钥文件server.key
    openssl genrsa -out server.key 2048
    #创建服务器证书的csr请求文件server.csr
    openssl req -out server.csr -key server.key -new -config ./server_cert.conf
    #使用CA证书签发服务器证书server.crt
    openssl x509 -req -in server.csr -out server.crt -sha1 -CAcreateserial -days 5000 -CA ../ca/ca.crt -CAkey ../ca/ca.key
    #把服务端证书格式转为p12格式
    openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12
    #把服务证书格式转为jks格式
    keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore server.jks
    
    
    #使用CA证书签发客户端证书
    cd ../client
    #创建客户端证书的openssl配置文件client_cert.conf,CN字段根据需求改为服务器对应的域名、IP地址
    cat >client_cert.conf <<EOF
    [ req ]
    distinguished_name     = req_distinguished_name
    prompt                 = no
    
    [ req_distinguished_name ]
    O                      = ELB
    CN                     = 127.0.0.1
    EOF
    #创建客户端证书私钥文件client.key
    openssl genrsa -out client.key 2048
    #创建客户端证书的csr请求文件client.csr
    openssl req -out client.csr -key client.key -new -config ./client_cert.conf
    #使用CA证书签发客户端证书client.crt
    openssl x509 -req -in client.csr -out client.crt -sha1 -CAcreateserial -days 5000 -CA ../ca/ca.crt -CAkey ../ca/ca.key
    #把客户端证书格式转为浏览器可识别的p12格式
    openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
    #把客户端证书格式转为jks格式
    keytool -importkeystore -srckeystore client.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore client.jks
    
  3. 上传自签名证书,具体操作请参见配置服务器证书和私钥

创建独享型负载均衡器

  1. 登录弹性负载均衡管理控制台。
  2. 参考创建独享型负载均衡器,创建独享型负载均衡器。CSS集群对接独享型负载均衡器所需要关注的参数如表1所示,其他参数请根据实际需要填写。
    表1 独享型负载均衡器的配置说明

    参数

    配置说明

    取值样例

    实例类型

    选择“独享型”

    独享型

    计费模式

    性能独享型负载均衡器的收费类型。

    按需计费

    区域

    选择CSS集群所在的区域。

    -

    跨VPC后端

    开启跨VPC后端才能连接CSS集群。

    开启

    网络类型

    负载均衡器对外提供服务所使用的网络类型。

    IPv4私网

    所属VPC

    所属虚拟私有云。无论选择哪种网络类型,均需配置此项。

    需要选择和CSS集群同一VPC。

    -

    子网

    选择创建负载均衡实例的子网。无论选择哪种网络类型,均需配置此项。

    需要选择和CSS集群同一子网。

    -

    规格

    建议选择功能和性能更优的应用型规格。

    应用型(HTTP/HTTPS)

    小型 I

对接负载均衡器

开启了HTTPS访问的安全模式集群不支持HTTP类型的前端协议认证,如果需要使用HTTP类型的前端协议,请变更集群的安全模式,将“安全模式”变更为“非安全模式”。

变更安全模式前,请关闭负载均衡,安全模式变更后再开启负载均衡。

  1. 登录云搜索服务管理控制台。
  2. 在左侧导航栏,选择集群管理 > OpenSearch,进入集群列表页面。
  3. “集群管理”页面选择需要对接负载均衡器的集群,单击集群名称进入集群“基本信息”页面。
  4. 在左侧菜单栏,选择“负载均衡”,打开负载均衡开关,配置负载均衡基础信息。
    • 负载均衡器:选择已创建的负载均衡器。也可以单击“创建负载均衡器”创建一个新的负载均衡器。
    • 委托:选择对应的委托名称。如果没有委托,需要单击“创建委托”创建一个委托,所选择的委托需要同时对ELB Administrator和ELB FullAccess权限授权。
      图1 开启负载均衡
  5. 单击“确定”,进入监听器配置页面
    图2 创建监听器
  6. 在监听器配置区域,您可以单击右侧配置监听器的相关信息。
    图3 配置监听器
    表2 监听器的配置信息

    参数

    配置说明

    前端协议

    客户端与负载均衡监听器建立流量分发连接的协议。

    根据实际业务需要选择协议。

    前端端口

    客户端与负载均衡监听器建立流量分发连接的端口。

    9200仅举例,可以根据实际业务需要自定义。

    SSL解析方式

    客户端到服务器端认证方式。

    根据实际业务需要选择解析方式。

    服务器证书

    服务器证书用于SSL握手协商,需提供证书内容和私钥。

    “SSL解析方式”选择“双向认证”时,必须配置服务器证书。

    CA证书

    CA证书又称客户端CA公钥证书,用于验证客户端证书的签发者。

    在开启HTTPS双向认证功能时,只有当客户端能够出具指定CA签发的证书时,HTTPS连接才能成功。

    “前端协议”选择“HTTPS”时,才需要配置CA证书。

  7. (可选)在连接方式区域,您可以单击“访问控制”后的“设置”,配置允许访问的IP地址或网段,不设置默认允许所有的IP访问。
在健康检查区域,您可以查看各个节点IP的健康检查结果,健康检查结果状态说明请参见下表:

健康检查结果

说明

正常

节点IP连接正常。

异常

节点IP连接,不可用

通过Curl命令接入集群

通过执行如下命令,测试独享型负载均衡器是否能够正常接入集群。

表3 不同集群的接入命令

集群安全模式

ELB最终对外提供的服务形态

接入集群的Curl命令

非安全

无认证

curl  http://IP:9200

单向认证

curl -k --cert ./client.crt --key ./client.key https://IP:9200

双向认证

curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:9200

安全+HTTP

密码认证

curl  http://IP:9200 -u user:pwd

单向认证+密码认证

curl -k --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd

双向认证+密码认证

curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd

安全+HTTPS

单向认证+密码认证

curl -k --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd

双向认证+密码认证

curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:9200 -u user:pwd
表4 变量说明

变量名

说明

IP

弹性负载均衡的IP地址。

user

访问CSS集群的用户名。

pwd

用户名对应的密码。

当正常返回Elasticsearch集群信息时,表示连接成功,例如安全模式+HTTPS协议的集群对接ELB双向认证模式的返回信息如图4所示。

图4 接入集群