故障について
現象1:CVMからTencentDB for MySQLに接続してログインすると、接続に失敗する。
現象2:ローカルコンピュータからTencentDB for MySQLに接続してログインすると、接続に失敗する。
現象3:データベース管理DMCプラットフォームからTencentDB for MySQLに接続してログインすると、接続に失敗する。
考えられる原因
|
| Cloud Virtual Machine(CVM)はVirtual Private Cloud(VPC)を採用し、MySQLは基本ネットワークを採用 | | データベースアカウントがアクセスする具体的なホストアドレスを制限しています |
| CVMは基本ネットワークを採用し、MySQLはVPCを採用 | | 接続コマンドにエラーがあります |
| CVMとMySQLは同じリージョン、ただし異なるVPCネットワークに帰属 | | コマンドラインまたは設定ファイルのIPおよびポートにエラーがあります |
| CVMとMySQLが同じリージョンになく、異なるVPCネットワークに帰属 | MySQLインスタンスの状態 | MySQLインスタンスは隔離中です。ごみ箱から復元できます |
| CVMセキュリティグループの設定にエラーがあります | CVMインスタンスの状態 | CVMインスタンスが隔離中またはシャットダウン中です。コンソールから復元させます |
| MySQLセキュリティグループの設定にエラーがあります | パブリックネットワーク接続の有効状態 | |
ソリューション
1. チェックツールによる原因診断
TencentDB for MySQLコンソールでは、クイック接続チェックツールを提供し、接続不能に至った原因の判断に役立つようにしています。その後、提示内容にしたがって修正を行い、インスタンスに再接続します。 1. ログインアカウントのホストの制限の中で、当該リージョンのDMCサーバーのすべてのIPに権限がすでに付与されていることを確認します。権限付与については、アクセス権限を付与するホストアドレスの修正をご参照ください。また直接%を使用し、すべてのIPを通過させ、セキュリティグループによってのみデータベースのアクセス元を制限することもできます。 処理手順
現象1、2:CVM、ローカル接続失敗の対処方法
手順1:クイック接続チェックツールを使って原因を特定し、対応する処置を行います
1. MySQLコンソールにログインし、チェックが必要なインスタンスを選択して、インスタンスIDをクリックし、インスタンス管理ページに進みます。 2. インスタンス管理ページで、接続チェック>プライベートネットワークのチェックまたはパブリックネットワークのチェックページを選択します。
説明:
プライベート/パブリックネットワークアドレスの判断については、インスタンス詳細ページの基本情報で確認できます。
3. 当該MySQLインスタンスにアクセスするCVMまたはパブリックネットワークサーバーを追加します。
プライベートネットワークのチェック:当該MySQLインスタンスにアクセスするCVMを追加します。
パブリックネットワークのチェック:当該MySQLインスタンスにアクセスするパブリックネットワークサーバーを追加します。
4. 追加完了後、チェック開始をクリックします。チェックタスクが完了すると、チェックレポートが発行されます。
5. チェックレポートに基づいて問題を特定し、推奨する対処方法にしたがって調整した後に、MySQLに再度接続します。
プライベートネットワークのチェックの場合、検査項目および推奨する対処方法は次となります。
|
MySQLインスタンスの状態 | お客様のMySQLインスタンスが破棄済みであることが検出されました。インスタンスを破棄しようとしていない場合は、ごみ箱から復元することができます |
CVMインスタンスの状態 | お客様のCVMインスタンスが破棄済みであることが検出されました。インスタンスを破棄しようとしていない場合は、ごみ箱から復元することができます |
| お客様のCVMインスタンスが停止済みであることが検出されました。当該CVMインスタンスを引き続き使用したい場合は、コンソールにアクセスして当該CVMインスタンスを有効にしてください |
CVMとMySQLが同じVPCに帰属 | お客様のCVMとMySQLのネットワークタイプが異なることが検出されました。CVMとMySQLを同じネットワークタイプにする必要があります。ネットワークの問題を参考にネットワークタイプを修正してください |
| お客様のCVMとMySQLが同じVPCネットワークセグメントにないことが検出されました。CVMとMySQLを同じリージョンの同じVPCに置く必要があります。ネットワークの問題を参考にVPCを修正してください |
CVMセキュリティグループポリシー | お客様のCVMにバインドされているセキュリティグループのアウトバウンドルールがIPポートへのアクセスを通過させていないことが検出されました。CVMセキュリティグループ設定エラーを参考にアウトバウンドルールを開放してください |
MySQLセキュリティグループポリシー | お客様のMySQLインスタンスにバインドされているセキュリティグループのインバウンドルールがIPポートへのアクセスを通過させていないことが検出されました。MySQLセキュリティグループ設定エラーを参考にインバウンドルールを開放してください |
パブリックネットワークのチェックの場合、検査項目および推奨する対処方法は次となります。
|
MySQLインスタンスの状態 | お客様のMySQLインスタンスが破棄済みであることが検出されました。インスタンスを破棄しようとしていない場合は、ごみ箱から復元することができます |
パブリックネットワーク接続の有効状態 | |
手順2:ツールチェックで問題を解決できないときは、以下の原因を参考にチェックできます
接続時に使用するパスワードのエラー。
または
により、データベースにログインすることができます。
接続のコマンドに誤りがないかチェックしてください。次の標準的な接続コマンドをご参照いただけます。プライベートネットワーク接続は
mysql -h hostname -u username -p
、パブリックネットワーク接続は
mysql -h hostname -P port -u username -p
です。詳しい手順は、
をご参照ください。
コマンドラインまたは設定ファイルのIPおよびポートのエラー
でインスタンスのIPポートとコマンドライン、設定ファイルの中の情報が一致しているかどうかチェックしてください。
データベースアカウントは、セキュリティグループ、サブネットなどのネットワーク環境の制限の他にも、MySQL自身のアカウントシステムの制限を受けます。データベースアカウントに具体的なホストアドレスを指定している場合、その他のアドレスではMySQLに接続できません。
MySQLコンソールからデータベースアカウントが権限を付与しているホストアドレスを修正することで、データベースの接続を制限でき、さらにはデータベース接続の安全性も向上させることができます。
2. データベース管理>アカウント管理ページを選択し、修正が必要なホストのアカウントを見つけ、操作列でその他>ホストの修正を選択します。
3. ポップアップしたダイアログボックスに、新しいホストアドレスを入力し、OKをクリックすると、アカウントが権限を承認したホストアドレスを修正することができます。
説明:
ホストアドレスにはIPアドレスをサポートし、%の入力(IPの範囲を制限しないことを意味します)にも対応しています。複数のホストは分離記号で分離し、分離記号には改行、スペース、「;」「,」「|」をサポートしています。
例1: %を入力すると、IP範囲を制限しないことを表し、すべてのIPアドレスのクライアントが当該アカウントを使用してデータベースに接続することを許可します。
例2:10.5.10.%と入力すると、IPの範囲が10.5.10.%の中にあるクライアントが当該アカウントを使用してデータベースに接続できることを意味します。
現象3:DMCプラットフォームのログイン失敗の対処方法
1. ログインアカウントのホストの制限の中で、当該リージョンのDMCサーバーのすべてのIPに権限がすでに付与されていることを確認してください。権限付与については、アクセス権限を付与するホストアドレスの修正をご参照ください。また直接%を使用し、すべてのIPを通過させ、セキュリティグループによってのみデータベースのアクセス元を制限することもできます。 付録1
CVMとMySQLのネットワークタイプが一致しない場合、CVMはプライベートネットワーク経由でのMySQLへの直接接続ができません。
CVMがVPCを採用し、MySQLが基本ネットワークを採用
対処方法1(推奨):MySQLを基本ネットワークからVPCネットワークに切り替えます。ネットワークの切り替えをご参照ください。 ご注意:
切り替え後、プライベートネットワークで相互通信するためには、両者が同じVPCネットワークに属する必要があります。
基本ネットワークをVPCネットワークに切り替えると、元に戻すことができなくなります。
ネットワークを切り替えると、このインスタンスのプライベートネットワークIPが変更される場合があります。旧IPアドレスの回収時間を超えると、旧アクセスIPが無効になります。クライアントプログラムを速やかに変更してください。
旧IPアドレスの保留時間はデフォルトで24時間、最長保留時間は168時間までサポートしています。旧IPアドレスの回収時間を0時間に設定すると、ネットワークの切り替え後にすぐに旧IPアドレスが回収されます。
基本ネットワークからVPCへの切り替え後は元に戻せません。クラウドデータベースからVPCへの切り替え後、その他のVPCおよび基本ネットワークのクラウドサービスとは相互接続できません。
切り替えたクラウドデータベースがマスターインスタンスで、読み取り専用インスタンスやディザスタリカバリインスタンスがマウントされている場合、マスターインスタンスがネットワークを切り替えても、マウントされた読み取り専用インスタンスやディザスタリカバリインスタンスは、マスターインスタンスに従って自動的にネットワークを切り替えるわけではないため、手動でネットワークを切り替える必要があります。
対処方法2:基本ネットワークのCVMをあらためて購入します(CVMではVPCから基本ネットワークへの移行をサポートしていません)。ただしVPCネットワークは基本ネットワークに比べ、より安全ですので、VPC ネットワークの使用を推奨します。
対処方法3:CVMでMySQLのパブリックネットワークの接続アドレスを使用してMySQLに接続します。この方式は性能、安全性、安定性が劣りますので、VPCネットワークの使用を推奨します。
CVMで基本ネットワークを採用し、MySQLで VPCを採用
ご注意:
切り替え後、プライベートネットワークで相互通信するためには、両者が同じVPCネットワークに属する必要があります。
移行前に、プライベート/パブリックネットワークのロードバランサ(CLB)およびElastic Network Interface(ENI)のバインドを自身で解除し、プライマリENIの補助IPをリリースしてください。移行後に再びバインドします。
移行プロセスでは、インスタンスを再起動する必要があります。その他の操作は行わないでください。
移行後、インスタンスの稼働状態を注意深くチェックし、プライベートネットワークの接続およびリモートログインが正常かどうかチェックしてください。
基本ネットワークをVPCネットワークに切り替えると元には戻せません。CVMをVPCネットワークに切り替えた後はその他の基本ネットワークのクラウドサービスとは相互通信が行われなくなります。
対処方法3:CVMでMySQLのパブリックネットワークの接続アドレスを使用してMySQLに接続します。この方式は性能、安全性、安定性が劣りますので、VPCネットワークの使用を推奨します。
CVMとMySQLが同じリージョンにあるが、異なるVPCネットワークに帰属
デフォルトの状態では、CVMとMySQLのネットワークタイプはいずれもVPCネットワークとなり、かつ両者が同じVPCネットワーク内にある場合にのみ、プライベートネットワーク経由で直接相互通信できます。同じリージョンでも異なるVPCに属する場合は、以下の方法を採用してCVMとMySQLを相互通信させることができます。
対処方法1(推奨):MySQLをCVMが属するVPCネットワークに移行します。ネットワークの切り替えをご参照ください。 対処方法2:2つのVPCネットワーク間にCCNを構築します。
上記の方法を採用しない場合、異なるVPCネットワークに属するCVMとMySQLはパブリックネットワーク経由でのみ相互通信が可能となります。この方式は性能、安全性、安定性が劣ります。 CVMとMySQLが同じリージョンになく、異なるVPCネットワークに帰属
CVMとMySQLが同じリージョンになく、異なるVPCネットワークに属する場合、CVMはプライベートネットワーク経由でのMySQLへの直接接続ができません。
対処方法1(推奨):MySQLと同じVPCのCVMを使用して接続します。
対処方法2:2つのVPCネットワーク間にCCNを構築します。 対処方法3:CVMでMySQLのパブリックネットワークの接続アドレスを使用してMySQLに接続します。この方式は性能、安全性、安定性が劣りますので、VPCネットワークの使用を推奨します。
CVMとMySQLのセキュリティグループの設定にエラーがある場合、CVMはプライベートネットワークまたはパブリックネットワーク経由でのMySQLへの直接接続ができません。
CVMを利用してMySQLに接続したい場合は、CVMのセキュリティグループの中でアウトバウンドルールの設定が必要です。アウトバウンドの仕様の目標設定が0.0.0.0/0ではなく、プロトコルのポートもALLでないときは、MySQLのIPおよびポートをアウトバウンドルールに追加する必要があります。
1. セキュリティグループコンソールにログインしてセキュリティグループ名をクリックし、CVMにバインドするセキュリティグループの詳細ページに入ります。 2. アウトバウンドルールページを選択し、ルールの追加をクリックします。
「タイプ」にMySQL(3306)を選択し、「ターゲット」にお客様のMySQLのIPアドレス(範囲)を入力し、「ポリシー」は許可を選択します。
指定するCVMをMySQLインスタンスに接続したい場合は、MySQLセキュリティグループの中でインバウンドルールの設定が必要です。インバウンドルールのソースの設定が0.0.0.0/0ではなく、プロトコルのポートもALLでないときは、CVMのIPおよびポートをインバウンドルールに追加する必要があります。
1. セキュリティグループコンソールにログインしてセキュリティグループ名をクリックし、MySQLにバインドするセキュリティグループの詳細ページに入ります。 2. インバウンドルールページを選択し、ルールの追加をクリックします。
接続を許可するIPアドレス(範囲)および開放する必要があるポート情報(MySQLプライベートネットワークポート)を入力し、開放の許可を選択します。
「タイプ」にMySQL(3306)を選択し、「ソース」にお客様のCVMのIPアドレス(範囲)を入力して、「ポリシー」に許可を選択します。
ご注意:
TencentDB for MySQLに接続するには、MySQLインスタンスポートが開放されている必要があります。
TencentDB for MySQLは、デフォルトでプライベートネットワークポート3306を使用し、ポートのカスタマイズをサポートします。デフォルトのポート番号が変更された場合は、セキュリティグループで新しいポートを開く必要があります。
MySQLパブリックネットワークポートはシステムによって自動的に割り当てられ、カスタマイズには対応していません。パブリックネットワークが有効になると、セキュリティグループネットワークアクセスポリシーによって制御されます。セキュリティポリシーを設定する際は、プライベートネットワークのアクセスポートを開放する必要があります。MySQLコンソールにログインし、インスタンスIDをクリックすると、詳細ページでポート番号を確認できます。
付録2
プライベート/パブリックネットワークアドレスの表示
MySQLコンソールにログインし、インスタンスリストで、インスタンスIDをクリックして、インスタンス詳細ページに入ると、プライベート/パブリックネットワークアドレスを確認できます。
プライベートネットワークアドレスを使用してクラウドデータベースに接続する場合、CVMとMySQLは同じアカウントにし、かつ同じVPC内(同じリージョンを保障)、または共に基本ネットワークに置く必要があります。
説明:
CVMとMySQLは同じアカウントにする必要があります。
インスタンスリストのネットワークの箇所にいずれも「基本ネットワーク」またはいずれも「VPC」が表示されている場合は、CVMとMySQLが同じネットワークタイプであることを意味します。
インスタンスリストのネットワークの箇所にいずれも同じ「VPC」が表示されている(同じリージョンを確保している)場合は、CVMとMySQLが同じVPCであることを意味します。
CVMネットワークタイプ/同一VPCの確認 :CVMコンソールにログインし、インスタンスリストで「ネットワーク」を確認します。
MySQLネットワークタイプ/同一VPCの確認:MySQLコンソールにログインし、インスタンスリストで「ネットワーク」を確認します。