tencent cloud

Data Transfer Service

DB接続チェック

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-11-02 12:20:34
AI翻訳

チェック詳細

ソースデータベースとターゲットデータベースは正常に接続できる必要があります。接続できない場合、「ソースインスタンスへの接続に失敗しました」と表示されます。

問題の原因

ソースデータベースが存在するネットワークまたはサーバーにセキュリティグループまたはファイアウォールが設定されています。
ソースデータベースが送信元IPアドレスを制限しています。
ネットワークポートが開放されていません。
データベースのアカウントまたはパスワードが正しくありません。

ソースデータベースが存在するネットワークまたはサーバーにセキュリティグループまたはファイアウォールが設定されている

検出方法

セキュリティグループ機能はファイアウォール機能と類似しており、セキュリティグループはクラウド上のデータベースに対するネットワークセキュリティ設定です。
現場の状況に応じて、以下のチェック手順を実行してください:
ソースデータベースが存在するサーバーにファイアウォールポリシーが設定されているかどうかを確認します。
Windowsシステム:コントロールパネルを開いてWindowsファイアウォールを見つけ、ファイアウォールポリシーが設定されているかどうかを確認します。
Linuxシステム:iptables -Lコマンドを実行して、サーバーにファイアウォールポリシーが設定されているかどうかを確認してください。
データベースに設定されたセキュリティグループがDTSのIPアドレス範囲を制限しているかどうかを確認します。
1.1 対応するデータベースにログインし、インスタンスリストでインスタンスIDをクリックして、インスタンス管理ページに進みます。
1.2 インスタンス管理ページでセキュリティグループページを選択し、DTSのSNAT IPアドレス範囲を禁止するポリシーが存在するかどうかを確認します。



修復方法

現場の状況に応じて、以下の対応する手順を選択してください:
サーバーでファイアウォールが有効になっています。
1.1 サーバーのファイアウォールを無効にしてから、ログインして検証タスクを再実行してください。
説明:
この方法はWindowsシステムとLinuxシステムの両方に適用されます。
1.2 DTSのIPアドレス範囲「ポリシー」を許可に設定します。
セキュリティグループの設定により、DTSのSNAT IPアドレス範囲が制限されています。
1.1 セキュリティグループページで、対応するセキュリティグループIDをクリックします。
2. DTSのIPアドレス範囲のポリシーを変更し、許可に設定します。

ソースデータベースが接続元IPアドレスを制限している

検出方法

MySQLの検出方法

ソースデータベースが配置されているサーバー上で、データ移行タスクに入力したデータベースアカウントとデータベースパスワードを使用してソースデータベースに接続します。接続が正常な場合、ソースデータベースが送信元IPアドレスを制限している可能性があります。
自社構築データベースの場合、データベース上でbind-addressの設定を確認する必要があります。0.0.0.0ではない場合、IPが制限されます。
ソースデータベースがMySQLの場合、MySQLクライアントを使用してソースデータベースに接続し、以下のSQL文を実行してチェックできます。出力結果の許可IPアドレスリストにDTSのSNAT IPアドレスが含まれているかどうかを確認します。
ユーザーにデータベースの権限を付与する際、許可するIPにSNAT IPを含める必要があります。含めない場合、IP制限の問題が発生します。例は以下の通りです:
root@10.0.0.0/8 //許可されたユーザーは指定された10.0.0.0/8を通じてアクセスし、その他のIPは制限されます(誤った設定)
root@% //許可されたユーザーはすべてのIPにアクセスし、その中にSNAT IPが含まれている必要があります(正しい設定)
以下の方法で検証できます。
select host,user,authentication_string,password_expired,account_locked from
mysql.user WHERE user='[\\$Username]'; //[\\$Username]はデータ移行タスクで入力したデータベースアカウントです

SQL Serverの検出方法

ソースデータベースに、アクセス元IPアドレスを制限しているEndpointまたはTriggerがあるかどうかを確認します。

PostgreSQLの検出方法

ソース側データベースが他のクラウドデータベースである場合、まずソース側クラウドデータベースインスタンスのセキュリティアクセスポリシーに制限があるかどうかを確認してください。異なるクラウドベンダーの制限方法に応じて確認を行ってください。
ソース側データベースが自社構築のPostgreSQLデータベースである場合、$PGDATAディレクトリ配下のdataディレクトリに移動し、pg_hba.confファイルを見つけてください。このファイルにdenyポリシーが存在するか、または一部のネットワーク側のIPアドレスからのアクセスのみが許可されているかを確認します。
# cat pg_hba.conf
local replication all trust
host replication all 127.x.x.1/32 trust
host replication all ::1/128 trust
host all all 0.0.0.0/0 md5
host all all 172.x.x.0/20 md5

MongoDBの検出方法

自社構築データベースの場合、データベース上でbind-addressの設定を確認する必要があります。0.0.0.0ではない場合、IPが制限されます。

修復方法

MySQLの修復方法

1. ソースデータベースがMySQLの場合、ソースデータベースで以下のSQL文を実行し、データ移行に使用するユーザーに再度権限を付与してください。
mysql> grant all privileges on . to '[\\$UserName]'@'%'; //[\\$Username]はデータ移行タスクで入力したデータベースアカウントです
mysql> flush privileges;
2. 自社構築データベースの場合、bind-addressの設定に異常がある場合は、以下の手順を参照して変更してください。
3. 2.1. /etc/my.cnfファイルに以下の内容を追加します。
説明:
my.cnf設定ファイルのデフォルトパスは/etc/my.cnfです。現場の実際の状況に準じます。
bind-address=0.0.0.0 #すべてのアドレスまたは指定したIPアドレス
2.2. データベースを再起動します。
service mysqld restart
2.3. 設定が有効になっているかどうかを確認します。
netstat -tln
4. 検証タスクを再実行します。

SQL Serverの修復方法

ファイアウォールを無効にするか、triggerを無効にしてください。

PostgreSQLの修復方法

1. pg_hba.confファイルにDTSネットワークセグメントを許可するアクセスポリシーを追加してください。または、移行中に一時的にすべてのネットワークセグメントのアクセスポリシーを開放してください。このファイルに次の1行を追加します:
host all all 0.0.0.0/0 md5
2. 変更完了後、データベースインスタンスを再起動して設定を有効にできます:
pg_ctl -D $PGDATA restart
3. 検証タスクを再実行します。

MongoDBの修復方法

MySQLの方法を参照してbind-addressを設定します。

ネットワークポートが開放されていない

検出方法

一般的なデータベースのデフォルトポートは以下の通りです。これらのポートが開放されていることを確認する必要があります。ユーザーがデフォルトポートを変更した場合は、実際の状況に応じて開放するポートを変更してください。
MySQL:3306
SQL Server:1433
PostgreSQL:5432
MongoDB:27017
Redis:6379

修復方法

対応するデータベースポートを開放してください。
ソースデータベースがSQL Serverの場合、ファイル共有サービスポート445も同時に開放する必要があります。

データベースアカウントまたはパスワードが正しくない

検出方法

ソースデータベースにログインし、アカウントとパスワードが正しいかどうかを確認します。

修復方法

DTSコンソールでデータ移行タスクを変更し、正しいデータベースアカウントとパスワードを入力してから検証タスクを再実行します。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック