📝

作成したEC2インスタンスからRDSに接続する

2023/08/05に公開

記事の目的

この記事では、作成したEC2インスタンスからRDSに接続する方法を学びます。
具体的には、プライベートサブネットにRDSを構築しパブリックサブネットにEC2を構築します。
EC2からRDSに接続し、サンプルのデータベースを作成しサンプルデータベースに対し、任意のデータを投入することまで実施します。

構成図

事前準備

下記のインストールを済ませて下さい。

  • awscli
  • tfenv
  • terraform v1.5.4
  • sshキーの作成

また今回はAWSコンソールではなくTerraformというインフラの自動構築ツールを使い構築して行きます。

terraformの構成

.
├── main.tf
├── terraform.tfstate
└── terraform.tfstate.backup
今回Terraformで書いたコード

作成されたEC2インスタンスをAWSコンソールから確認する

sshで接続するために下記の情報を確認します。

  • IPアドレス
  • キーペアの名前

IPアドレス
キーペア

EC2にログインする

上記のIPアドレスとキーペアの名前を使いsshコマンドでEC2にログインします。

ssh -i ~/.ssh/230804_test_aws_keypair_can_delete_anytime ec2-user@13.113.66.132

今回は無料枠のAmazon Linux2を使用したのでssh接続が成功した場合、下記の画像が出ることを確認しましょう

EC2にssh接続が成功する

MySQLクライアントをインストールする

sudo yum install mysql -y

RDSの情報を確認する

RDSの情報
ユーザー名とパスワード

RDSにログインする

mysql -h terraform-20230805061309384500000004.cpftkzzabeio.ap-northeast-1.rds.amazonaws.com -uuser -ppassword

RDSにログインする

RDSにDBとテーブルを作成する

下記コマンドを実行しテーブル内にデータを作成する

create database testdb;
use testdb;
create table user (ID int(3), first_name VARCHAR(20), last_name VARCHAR(30));
insert into user (ID, first_name, last_name) values (1, 'Tarou', 'Tanaka');

MySQL [testdb]> select * from user;
+------+------------+-----------+
| ID   | first_name | last_name |
+------+------------+-----------+
|    1 | Tarou      | Tanaka    |
+------+------------+-----------+
1 row in set (0.00 sec)

最後

下記コマンドを実行して作成したAWSリソースを忘れずに削除しましょう。これにより意図しない課金を防ぐことができます。

terraform destroy

まとめ

EC2インスタンスからRDSに接続しDBを作りデータを投入することが確認できました。
またTerraformを使いAWSリソースをコードで管理することでインフラ構成の移植性を挙げられることを学べました。

参考記事

GitHubで編集を提案

Discussion