ApsaraDB for RDS for MySQL (RDS) インスタンスを作成および設定した後、そのインスタンスに接続できます。このトピックでは、コマンドラインインターフェイス (CLI) またはクライアントを使用して、内部ネットワークまたはパブリックネットワーク経由でインスタンスに接続する方法について説明し、一般的な接続エラーの解決策を示します。
前提条件
推奨事項
レイテンシーを低減し、安定性を高めるために、内部ネットワーク経由で Elastic Compute Service (ECS) インスタンスから RDS インスタンスに接続することをお勧めします。内部ネットワーク接続には、次の条件を満たす必要があります:
ECS インスタンスと RDS インスタンスは、同じ Alibaba Cloud アカウントに属し、同じリージョンおよび Virtual Private Cloud (VPC) 内に存在する必要があります。ECS インスタンスのプライベート IP アドレスを RDS インスタンスの IP アドレスホワイトリストに追加する必要があります。ECS インスタンスのプライベート IP アドレスは、[インスタンス] ページで確認できます。
パブリックネットワーク経由でインスタンスに接続するには、そのエンドポイントを使用することを推奨します。
説明curl ipinfo.io/ip(推奨) またはcurl ifconfig.meを実行して、パブリック IP アドレスを取得します。RDS インスタンスのパブリック IP アドレスは、アップグレードまたは移行中に変更される場合があります。ローカル IP アドレスをインスタンスのホワイトリストに追加しても接続できない場合は、提供されている解決策をご参照ください。
操作手順
CLI を使用した接続
この例では、Linux システム上の frRDS for MySQL インスタンスに接続する方法を説明します。まず、MySQL をインストールします。
CentOS では、
sudo yum install mysqlを実行します。Ubuntu では、
sudo apt-get updateを実行し、次にsudo apt install mysql-serverを実行します。
RDS インスタンスへの接続に使用するサーバー (ECS インスタンスやローカルサーバーなど) にログインします。
説明ECS インスタンスにログインする方法については、ECS クイックスタートの「ECS インスタンスに接続する」セクションをご参照ください。
次のコマンドを実行して接続します:
mysql -h<endpoint> -P<port> -u<username> -p説明コマンドを実行すると、パスワードの入力が求められます。
コマンドでは、大文字 P はポートを、小文字 p はパスワードを表します。
エンドポイントとポート: RDS インスタンスのエンドポイントとポートです。
シナリオ
必要なエンドポイント
取得方法
内部ネットワーク接続の条件を満たしている場合。
内部エンドポイント
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
接続の詳細を表示 をクリックして、RDS インスタンスのアドレスとポート番号を確認します。[基本情報] セクションで、[ネットワークタイプ] の横にある [接続詳細の表示] をクリックします。
説明パブリックエンドポイントは、[パブリックエンドポイントの申請] をクリックした後にのみ表示されます。
RDS Cluster Edition インスタンスの場合、[クラスター読み書き接続] セクションでプライマリノードのエンドポイントを、[クラスター読み取り専用接続] セクションでセカンダリノードのエンドポイントを変更できます。
ECS インスタンスから接続しているが、内部ネットワーク接続の条件を満たしていない場合。
パブリックエンドポイント
ローカルデバイスから接続している場合。
ユーザー名とパスワード: RDS インスタンスの アカウント管理 ページから取得します。
コマンド例
root@xxx -> mysql -hrxxx.mysql.rds.aliyuncs.com -P3306 -uxxx -p Enter password:接続成功
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 51325 Server version: 8.0.18 Source distribution説明接続エラーが発生した場合は、「一般的な接続エラー」をご参照ください。
MySQL Workbench を使用した接続
他の汎用の MySQL クライアントを使用して、RDS for MySQL インスタンスに接続できます。このセクションでは MySQL Workbench 8.0.29 を例に説明します。手順は他のクライアントでも同様です。
MySQL Workbench を開き、 を選択します。
接続情報を入力し、[OK] をクリックします。
[Connection Method] ドロップダウンリストから [Standard (TCP/IP)] を選択します。
[Hostname] と [Port]: RDS インスタンスのエンドポイントとポートです。
シナリオ
必要なエンドポイント
取得方法
内部ネットワーク接続の条件を満たしている場合。
内部エンドポイント
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
接続の詳細を表示 をクリックして、RDS インスタンスのアドレスとポート番号を確認します。[基本情報] セクションで、[ネットワークタイプ] の横にある [接続詳細の表示] をクリックします。
説明パブリックエンドポイントは、[パブリックエンドポイントの申請] をクリックした後にのみ表示されます。
RDS Cluster Edition インスタンスの場合、[クラスター読み書き接続] セクションでプライマリノードのエンドポイントを、[クラスター読み取り専用接続] セクションでセカンダリノードのエンドポイントを変更できます。
ECS インスタンスから接続しているが、内部ネットワーク接続の条件を満たしていない場合。
パブリックエンドポイント
ローカルデバイスから接続している場合。
[Username] と [Password]: RDS インスタンスの アカウント管理 ページから取得します。
Navicat を使用した接続
Navicat クライアントを起動します。
ツールバーで、[接続] をクリックし、接続するデータベースのタイプを選択します。
説明Navicat クライアントが古いバージョンの場合、[Alibaba Cloud] は表示されません。[MySQL] や [PostgreSQL] などのデータベースタイプを選択できます。

接続する RDS インスタンスの情報を入力します。次の表に必要なパラメータを示します。

パラメータ
説明
[接続名]
接続のカスタム名を入力します。
[ホスト]
RDS インスタンスの内部エンドポイントまたはパブリックエンドポイントを入力します。
クライアントが Elastic Compute Service (ECS) インスタンスにデプロイされており、ECS インスタンスが同じ Alibaba Cloud アカウントを使用して作成され、RDS インスタンスと同じリージョンおよび VPC に存在する場合は、内部エンドポイントを使用します。
その他の状況では、パブリックエンドポイントを使用します。
[ポート]
内部ポートまたはパブリックポート を入力します。たとえば、RDS for MySQL インスタンスのデフォルトポートは 3306 です。
[ユーザー名]
RDS インスタンスへの接続に使用するアカウントのユーザー名を入力します。
[パスワード]
RDS インスタンスへの接続に使用するアカウントのパスワード。
[OK] をクリックします。
説明RDS インスタンスで高セキュリティホワイトリストモードが有効になっており、インターネット経由でデバイスをインスタンスに接続する場合、デバイスのパブリック IP アドレスをクラシックネットワークタイプの IP アドレスホワイトリストに追加する必要があります。

リージョンまたはアカウントを越えた ECS からの接続
パブリックネットワーク (インターネット) 接続: RDS インスタンスのパブリックエンドポイントを使用して、インターネット経由でリージョンやアカウントを越えてインスタンスに接続できます。RDS インスタンスとの間のインバウンドおよびアウトバウンドのインターネットトラフィックは無料です。
内部ネットワーク (プライベートネットワーク) 接続: デフォルトでは、ECS インスタンスと RDS インスタンスが異なるリージョンまたは異なるアカウントにある場合、VPC が互いに分離されているため、内部ネットワーク経由で接続することはできません。ただし、VPC ピアリング接続または Cloud Enterprise Network (CEN) を使用して 2 つの VPC を接続することで、ECS インスタンスがリージョンやアカウントを越えて RDS インスタンスにアクセスできるようになります。
VPC ピアリング接続:低コストでリージョン間およびクロスアカウントの VPC 相互接続をサポートしますが、設定は比較的複雑です。このオプションは、相互接続する VPC の数が少ない単純なシナリオに適しています。
Cloud Enterprise Network (CEN):簡単な設定でリージョン間およびクロスアカウントの VPC 相互接続をサポートしますが、コストは比較的高くなります。このオプションは、複数の VPC が相互接続する複雑なシナリオに適しています。
一般的な接続エラー
よくある質問
Q:RDS インスタンスは Elastic IP Address (EIP) をサポートしていますか?
A:いいえ、この機能は現在サポートされていません。
Q:ローカルコンピューターから RDS インスタンスへの Telnet 接続が失敗する場合、どのように解決すればよいですか?
A:Telnet を使用して RDS インスタンスに接続できない場合は、以下を確認してください:
クラウドデータベースのサービスポートが正しく、インターネットに公開されていることを確認します。
クラウドデータベースのセキュリティグループまたはファイアウォールルールを確認し、ローカル IP アドレスからの接続が許可されていることを確認します。
ホスト名やポート番号などの接続パラメーターが正しいことを確認します。
ローカルデバイスのファイアウォールルールを確認し、RDS が必要とするポートがブロックされていないことを確認します。
可能であれば、
mysqlCLI やデータベース管理ツールなど、他のツールを使用してクラウドデータベースに接続し、Telnet 固有の問題を除外してください。
Q:他のユーザーが自分のデータベースにアクセスするにはどうすればよいですか?
A:次の手順に従ってください:
標準アカウントを作成し、そのアカウントにデータベースの権限を付与します。
IP アドレスホワイトリストを設定します。他のユーザーが ECS インスタンスを使用している場合は、その ECS インスタンスのプライベート IP アドレスまたはセキュリティグループ ID を追加します。ユーザーがローカルの MySQL クライアントを使用している場合は、そのホストデバイスのパブリック IP アドレスを追加します。
パブリックエンドポイント、データベース名、アカウント認証情報をユーザーと共有します。
その後、ユーザーは CLI を使用してデータベースに接続できます。
関連ドキュメント
接続失敗:接続失敗のトラブルシューティング
より便利な接続方法:Data Management Service (DMS) を使用した RDS データベースへのログイン
他のデータベースエンジンを実行する RDS インスタンスへの接続: