こんにちは、テクニカルグループの柳瀬です。 アプリケーションサーバからMySQLへの参照を負荷分散する場合、HAProxyを使うことがあります。 AWS上で構築している場合はリードレプリカへの参照を負荷分散させたいというご要望を受けた時ですね。 HAProxyは負荷分散対象に監視を設定し、ダウンと判断したものは分散対象から除外してくれるのでとても便利です。 しかし、MySQLへTCPで監視を設定しているとMySQL側が監視用のパケットを不正と判断して、リクエストを受け付けなくなってしまいます。 max_connect_errorsを大きい値にするという対応もありますが、HAProxyの監視設定で使用するmysql-checkにユーザーオプションを使用すれば不正なパケットとはなりません。 検証環境構成Amazon LinuxHAProxy 1.4.22RDS(Multi AZ)RDSリードレ
![HAProxyを使ってMySQLの負荷分散をする時はmysql-checkのuserオプションを使う - サーバーワークスエンジニアブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/e1794291ae815b46c4049c967c5b10100d533fe7/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fs%2Fserverworks%2F20200713%2F20200713090927.png)