Hướng dẫn tạo và truy cập vào AWS RDS

  • October 16, 2022
  • 1003

Hôm nay, chúng cùng tìm hiểu cách tạo 1 RDS(Relational Database Service) trong mạng VPC ở private subnet và truy cập vào RDS, thông qua EC2 instance(bastion server). Làm như vậy giúp database được bảo mật không bị tấn công từ ngoài internet.

Amazon RDS là gì?

Amazon RDS (Amazon Relational Database Service) là dịch vụ đám mây cung cấp giải pháp cài đặt, vận hành và mở rộng dành cho relational database(cơ sơ dữ liệu có quan hệ), hỗ trợ nhiều hệ quản trị cơ sở dữ liệu.

Create Amazon RDS

Trong bài viết này chúng ta sẽ tạo 1 RDS trong một mạng ảo VPC tự tạo. Vì vậy chúng ta cần tìm hiểu tạo 1 aws vpc có tên demo-dev-vpc

Khi tạo xong vpc, chúng ta cần tạo subnet group cho RDS có tên demo-dev-sg
Create rds subnet group
Thiết lập các thông số cho subnet group: chọn VPC, chọn private subnet của vpc
Select private subnet
Sau khi tạo xong subnet group, chúng ta sẽ tiến hành tạo RDS. Truy cập vào console chọn search and select RDS, click create database.
Create aws rds
Chọn hệ quản trị cơ sở dữ liệu, mình chọn mysql để sử dụng free tier.
Select rds os
Select mysql version, chúng ta chọn version mới nhất và nhớ chọn free tier để được miễn phí.
Select mysql rds version
Thiết lập username, password đăng nhập mysql
Setting mysql username
Chọn database instance
Select database instance
Select VPC, db subnet group, chú ý không thể thay đổi được vpc khi tạo xong database.
Select database vpc
Disnable public access, không cho phép truy cập database từ bên ngoài và thiết lập security group cho RDS.
Create rds security group
Tạo database demo database
Create demo database
Các time số khác để mặc định, ấn create database thế là chúng ta đã tạo xong 1 RDS ở private network của 1 VPC. Thông tin chi tiết của 1 RDS.
aws rds info
Cần chú ý các thông tin connect vào RDS.


// Host
database-demo-dev.cefbr01lsihd.us-east-1.rds.amazonaws.com

// Post
3306

// Username
demo_dev

// Password
*******

Access to AWS RDS

Để access vào RDS, chúng ta cần tạo 1 bastion server thuộc public subnet của VPC chứa RDS. Sau đó từ bastion server access vào RDS. Chúng ta đọc bài viết tìm hiểu về EC2 để tạo 1 bastion server. Ở phần select network chọn VPC chứa RDS và subnet cho EC2 là public, enable public ip để có thể truy cập vào bastion server từ ngoài internet.
ec2 bastion server
Thiết lập security group cho bastion server, chỉ cho phép ssh từ ngoài vào bastion server.
Bastion security group
Ssh vào bastion server cài đặt install mysql client in amazon linux 2


// Ssh to server
ssh -i "path/file.pem" ec2-user@{ec2_public_IP}

// Install mysql client 5.7 
sudo yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
// Từ 2022 cần import GPG key
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum install -y mysql-community-client

// Install mysql client 8
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum install -y mysql-community-client

// Check mysql
mysql --version

// Access to database
mysql -h[rds_endpoint] -u[username] -p[password];
mysql -hdatabase-demo-dev.cefbr01lsihd.us-east-1.rds.amazonaws.com -udemo_dev -p2EeO2LE3ZGwrFCm;

Để access được vào RDS cần thiết lập security group của RDS, cho phép server bastion truy cập vào RDS qua cổng 3306.
Rds security group
Check access database


mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| demo               |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

Delete RDS

Cuối cùng chúng ta cũng có thể xoá RDS.
Delete RDS

Tổng kết

Như vậy là chúng ta đã tạo và truy cập thành công vào RDS. Giờ đến lượt bạn thực hành nhé. Thanks for reading...