すべてのプロダクト
Search
ドキュメントセンター

:DMSは、ECSインスタンスでホストされている自己管理型MySQLサーバーへの接続に失敗し、次のエラーメッセージが表示されます。DMSはMySQLサーバーとの接続を確立できません。 再試行する前に、接続アドレスが正しいか、ネットワークがブロック解除され、ホワイトリストが設定されているかどうかを確認します

最終更新日:Aug 21, 2024

問題の説明

Data Management (DMS) は、Elastic Compute Service (ECS) インスタンスでホストされているセルフマネージドMySQLデータベースへの接続に失敗し、次のエラーメッセージが表示されます。DMSはMySQLサーバーとの接続を確立できません。 再試行する前に、接続アドレスが正しいか、ネットワークがブロック解除され、ホワイトリストが設定されているかどうかを確認します。

原因と解決策

原因

解決策

ECSインスタンスでMySQLプロセスが開始されていません。

  1. ECSインスタンスで次のコマンドを実行し、MySQLプロセスが開始されているかどうかを確認します。

    ps -ef | grep mysql
  2. 上記のコマンドを実行した後にMySQLプロセスが表示されない場合、MySQLプロセスは開始されません。 次のコマンドを実行してMySQLプロセスを開始し、MySQLデータベースに再接続します。

    systemctl start mysqld

ECSインスタンスのファイアウォールは、DMSからの接続要求を拒否します。

  1. ECSインスタンスのファイアウォールルールを確認します。 MySQLサービスへのアクセスに使用されるポートが開いていることを確認します。 デフォルトのポート番号は、3306 です。

  2. DMSのIPアドレスまたはCIDRブロックがファイアウォールのIPアドレスホワイトリストに追加されている場合は、ファイアウォールのIPアドレスホワイトリストからDMSのIPアドレスまたはCIDRブロックを削除します。

ECSインスタンスのセキュリティグループはDMSからアクセスできません。

ECSインスタンスにセキュリティグループルールを追加して、DMSのIPアドレスまたはCIDRブロックからのアクセスを許可します。 詳細については、「セキュリティグループルールの追加」をご参照ください。

rootアカウントは、localhostからのみMySQLデータベースにログインできます。

  1. 次のコマンドを実行して、rootアカウントがlocalhostからのみMySQLデータベースにログインできるかどうかを確認します。

    show grants for root @ '%';
  2. rootアカウントがlocalhostからのみMySQLデータベースにログインできる場合は、次のコマンドを実行して、rootアカウントが任意のリモートサーバーからMySQLデータベースにログインできるようにします。

    use mysql; update user set host = '%' where user = 'root'; FLUSH PRIVILEGES;
    説明
    • 先行コマンドのパーセント記号 (%) は、任意のホストアドレスを示す。 データのセキュリティを確保するには、パーセント記号 (%) を使用するホストアドレスに置き換えます。

    • ルートアカウントは、オペレーティングシステムのルートアカウントではなく、データベースアカウントを参照します。

適用範囲

  • DMS