Amazon Relational Database Service (Amazon RDS) for MySQL データベース に CONNECTION_CONTROL プラグインと CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS プラグインをインストールしたいです。
解決策
**注:**以下の手順は、Amazon RDS for MySQL にのみ適用されます。Amazon Aurora MySQL 互換エディションには適用されません。
CONNECTION_CONTROL プラグイン
CONNECTION_CONTROL (MySQL ウェブサイトから) は、受信接続の試行を確認し、必要に応じてサーバーの応答に遅延を追加します。このプラグインは、設定を可能にするシステム変数と、基本的な監視情報を提供するステータス変数も表示します。
CONNECTION_CONTROL にはデフォルトの MySQL 構成は付属していません。そのため、インストール後にプラグインを設定する必要があります。
CONNECTION_CONTROL をインストールする
CONNECTION_CONTROL プラグインを MySQL にインストールするには、MySQL コマンドラインクライアントで以下のコマンドを実行します。
mysql
INSTALL PLUGIN CONNECTION_CONTROL
SONAME 'connection_control.so';
これにより、次のメッセージのような出力が返されます。
Query OK, 0 rows affected (0.01 sec)
詳細については、MySQL ウェブサイトの 接続制御プラグインのインストール を参照してください。
プラグインの変数を確認する
これで、プラグインに関連する次の変数を確認できます。
- connection_control_failed_connections_threshold
- connection_control_max_connection_delay
- connection_control_min_connection_delay
これらの変数を確認するには、次のコマンドを実行します。
mysql
SHOW VARIABLES LIKE 'connection_control%';
これにより、次のメッセージのような出力が返されます。
+-------------------------------------------------+------------+
| Variable_name | Value |
+-------------------------------------------------+------------+
| connection_control_failed_connections_threshold | 3 |
| connection_control_max_connection_delay | 2147483647 |
| connection_control_min_connection_delay | 1000 |
+-------------------------------------------------+------------+
これらの変数の値は変更できません。デフォルトではこれらの値を使用する必要があります。詳細については、MySQL ウェブサイトの 接続制御システムとステータス変数 を参照してください。
CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS プラグイン
CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS には INFORMATION_SCHEMA テーブルが実装されています。このテーブルには、失敗した接続試行に関するより詳細な監視情報が表示されます。
CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS をインストール
CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS プラグインを MySQL にインストールするには、次のコマンドを実行します。
mysql
INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS
SONAME 'connection_control.so';
これにより、次のメッセージのような出力が返されます。
Query OK, 0 rows affected (0.00 sec)
プラグインのステータスを表示する
これらのプラグインのステータスを表示するには、以下のコマンドを実行します。
mysql
SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'connection%'; command.
これにより、次のメッセージのような出力が返されます。
+------------------------------------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+------------------------------------------+---------------+
| CONNECTION_CONTROL | ACTIVE |
| CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS | ACTIVE |
+------------------------------------------+---------------+
これにより、プラグインのステータスが [ACTIVE] であることが確認されます。これで、失敗したログイン試行について調べ、それらの失敗をサードパーティの評価ツールと比較し、評価を投稿できます。
関連情報
UNINSTALL PLUGIN ステートメント (MySQL ウェブサイト)