在我們現有產品中,GCP 的測試機IP是固定的,輪動更新則會變動IP 這裡透過 haproxy 讓輪動更新的 3306 都會指向測試機,再由測試機連向 SQL SQL 只要將白名單設定為測試機IP即可

Install haproxy

yum install haproxy

修改設定

vim /etc/haproxy/haproxy.cfg

global
    log 127.0.0.1   local0
    log 127.0.0.1   local1 notice
    ulimit-n 300000
    maxconn 20000
    user  root
    group root
    daemon
    nbproc 1
    pidfile /var/run/haproxy.pid
    tune.ssl.default-dh-param 1024
 
defaults
    #===================TEST========
    timeout connect 5000ms
    timeout client 120000ms
    timeout server 10m
    retries 2

##MySQL
frontend mysql
    bind {測試機內網IP}:3306
    mode tcp
    default_backend lms_mysql


backend lms_mysql
   mode tcp
   server mysql {cloud SQL IP 位置}:3306

測試haproy config

測試是否正常

haproxy -f /etc/haproxy/haproxy.cfg -c

Enable haproxy

service haproxy restart
systemctl enable haproxy