AmazonEC2「CentOS7」でDockerコンテナ作成後、MySQL-5.7をインストールし、EC2からRDSに接続してみる

AmazonEC2「CentOS7」でDockerコンテナ作成後、MySQL-5.7をインストールし、EC2からRDSに接続してみます。

AmazonEC2「CentOS7」でDockerコンテナ作成後、MySQL-5.7のインストールから起動状態を確認するまでをやってみるという記事と、AWS初心者がAmazonのRDSを始めてみる(MySQLのデータベースを作成)という記事を公開しましたが、MySQL-5.7をインストールしたDockerコンテナ上で、EC2からRDSに接続を行ってみます。

Amazonマシンイメージ

「CentOS 7 (x86_64) – with Updates HVM」

AmazonEC2で作成した「CentOS7」でDockerコンテナ起動

AmazonEC2で作成した「CentOS7」にPuTTYを使用し接続。ターミナルウインドウを表示。

一般ユーザーからroot権限に切り替えます。

[root@ip-172-31-8-145 centos]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0a201af084b6 python:3.7.5-buster “/bin/bash” 2 days ago Up 24 hours pythontest
765722c3531f centos:centos7 “/sbin/init” 3 days ago Up 3 days centos7

切り替え後、上記のコマンドでコンテナの稼働状況を確認し、MySQL-5.7をインストールしたDockerコンテナ(765722c3531f)に接続を行います。

[root@ip-172-31-8-145 centos]# docker exec -it 765722c3531f /bin/bash

接続する際は、上記のコマンドを入力します。入力後、Dockerコンテナに接続できます。

コマンド記入例:

mysql -h database-1.cueuuf18rkjv.ap-northeast-1.rds.amazonaws.com -P 3306 -u mymasteruser -p

接続後、MySQLクライアントを使用して、Amazon RDSで作成したDBインスタンスに接続しますので、上記のコマンド記入例を参考にしてコマンドを入力します。

Enter password:

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘database-1.cueuuf18rkjv.ap-northeast-1.rds.amazonaws.com’ (110)

コマンドを入力すると、「EnterPassword:」が表示され、パスワードの入力を求められますので、MySQLのデータベースを作成する際に、設定したパスワードを入力し、ENTERキーを押します。押しますが、上記の「ERROR 2003 (HY000)」というエラーが発生してしまいます。

調べてみると、外部からのアクセスを受け付けない設定となっているようだったので、設定を変更します。変更する際は、AWS マネジメントコンソールのRDSの画面で、

「リソース」から「DB インスタンス」の表示をクリックします。もしくは左側のメニューから「データベース」をクリックします。

クリックすると、RDSのデータベース画面になりますので、作成したデータベースの「DB 識別子」をクリックします。

クリックすると、作成したデータベースの詳細画面になりますので、「セキュリティグループのルール」という項目がありますので、「セキュリティグループ」の名前が表示されていますので、これをクリックします。

クリックすると、EC2のセキュリティグループ画面に移動します。こちらで、「セキュリティグループ ID」に表示されているIDをクリックします。

クリックすると、セキュリティグループ IDの詳細画面になります。こちらでインバウンドルールの「インバウンドルールを編集」ボタンをクリックします。

MYSQL/Aurora(タイプ) TCP 3306 カスタム 0.0.0.0/0(ソース)

MYSQL/Aurora(タイプ) TCP 3306 カスタム ::/0(ソース)

クリックすると、インバウンドルールを編集する画面になりますので、こちらでインバウンドルールを上記のように変更します。

変更後、「ルールを保存」ボタンをクリックし、ルールを保存します。

コマンド記入例:

mysql -h database-1.cueuuf18rkjv.ap-northeast-1.rds.amazonaws.com -P 3306 -u mymasteruser -p

ルールを保存後、再度上記のコマンド記入例を参考にコマンドを入力します。

[root@765722c3531f /]# mysql -h database-1.cueuuf18rkjv.ap-northeast-1.rds.amazonaws.com -P 3306 -u mymasteruser -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1924
Server version: 5.7.22-log Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

入力すると、「EnterPassword:」が表示され、パスワードの入力を求められますので、MySQLのデータベースを作成する際に、設定したパスワードを入力すると、「Welcome to the MySQL monitor. 」と表示されますので、これで接続は完了となります。

コメント

タイトルとURLをコピーしました