
Amazon RDS for MySQLでIPブロックが発生してしまった場合の対処
よく訓練されたアップル信者、都元です。先日、アプリケーションがRDS for MySQLに接続を試みた際、下記のようなエラーが発生しました。
Host '10.x.x.x' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
さらっと調べてみると、公式ドキュメントB.5.2.6に詳細がありました。システム変数のmax_connect_errorsの値以上連続で接続失敗すると、ブロックしてしまうようですね。この値はデフォルト100(MySQL 5.6.6以前は10)ですので、100回連続で接続失敗する何かがあったんでしょうな。。。
エラーメッセージによるとmysqladmin flush-hostsすることで解消する、とありますが、RDSではadmin権限を持ったユーザを使うことはできません。
とは言え簡単な話で。別の(ブロックされていない)ホストからMySQLに接続し、下記のSQLを流せばOKです。
FLUSH HOSTS;
ドキュメントはこちら。http://dev.mysql.com/doc/refman/5.6/en/flush.html
と、いう、何ともアッサリしたお話でありました。