Create Amazon RDS for MySQL
Phong Nguyen
Bài viết hướng dẫn cách tạo RDS for MySQL và setting cần thiết để truy cập RDS Database từ local.
Lưu ý
- Chọn region: us-east-1
- Khi setting VPC:
chọn default VPC
Create RDS - MySQL
Create security group cho RDS
Mục đích để cho phép kết nối từ bên ngoài internet đến DB.
- Name:
d-sg-DVA-mysql-db - Description:
Allow access from Internet - VPC:
default VPC Inbound rules Type Protocol Port range Source MySQL/Aurora TCP 3306 0.0.0.0/0 Outbound rules Type Protocol Port range Source All traffic All All 0.0.0.0/0 Tags Key value Name d-sg-DVA-mysql-db
Create subnet group cho RDS
Mục đích: chỉ định zone và subnet - nơi RDS có thể chạy.
Quy định của AWS: bắt buộc chỉ định ít nhất 2 subnet trên 2 zone khác nhau (mặc dù thực tế ở bài lab này, RDS chỉ chạy trên 1 subnet của 1 zone, cũng sẽ vẫn phải làm theo quy định)
Bài lab này sử dụng VPC mặc định có 6 public subnet trên 6 zone, chúng ta chỉ định 2 subnet trên zone 1a và 1b, RDS sẽ chạy ở 1 trong 2 zone này.
Vào service Aurora and RDS > Subnet groups > Create DB subnet group
Điền các thông số như dưới và nhấn Create
- Subnet group details
- Name:
d-DVA-subnet-group - Description:
Allow RDS running on zone 1a and 1b - VPC:
Default VPC
- Name:
- Add subnets
- Availability Zones:
us-east-1a&us-east-1b - Subnets: Chọn subnet trên 2 zone tương ứng
- Availability Zones:
Confim đã tạo xong subnet group
Create RDS
Dưới đây là các parameter setting: Các setting mình không đề cập thì để Default
- Engine options:
MySQL - Choose a database creation method:
Full configuration - Templates:
Dev/Test - Availibility & durablity:
Single-AZ DB Instance depployment - Settings
- Engine version:
MySQL 8.4.x - DB Instance identifier (đây là tên service RDS sẽ tạo):
d-rds-DVA-mysql - Master username:
admin - Credentials management:
Self managed - Master password, ví dụ:
MyPassword1! - Database authentication options:
Password authentication
- Engine version:
- Instance configuration
- Burstable classes (includes t classes):
db.t3.micro
- Burstable classes (includes t classes):
- Storage:
- Storage type:
General Purpose SSD (gp3) - Allocated Storage:
20
- Storage type:
- Connectivity:
- Compute resource:
Don’t connect to an EC2 compute resource - VPC:
Default VPC - DB subnet group:
d-dva-subnet-group - Public access:
Yes(Cần bật để instance có thể truy cập từ máy cá nhân (public) vào) - Security Group:
d-sg-DVA-mysql-db - Availability Zone:
us-east-1a - RDS Proxy:
không check
- Compute resource:
- Monitoring:
Database Insights - Standard- Enhanced Monitoring:
không check
- Enhanced Monitoring:
- Additional configuration
- Initial database name (đây là tên DB ban đầu sẽ tạo trong RDS):
mydb
- Initial database name (đây là tên DB ban đầu sẽ tạo trong RDS):
Vào Aurora and RDS console > Databases > Create database> Full configuration
Điền các setting và nhấn Create database
Đợi một lát cho đến khi database ở trạng thái Avaiable. Mất khoảng gần 10 phút.
Access đến DB from local
Access đến DB from local sử dụng MySQL Workbench (có thể dùng tool khác)
Download MySQL Workbench tại đây 
Lấy thông tin kết nối database:
Tạo mới connection từ MySQL Workbench: 
Nhấn Test Connection để test kết nối 
Kết nối Success thì nhấn OK, sau đó click vào Connection vừa tạo để kết nối đến database

Thao tác với database
Thực hiện một số lệnh SQl
CREATE TABLE employees (
employee_id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
hire_date DATE
);
INSERT INTO employees (first_name, last_name, email, hire_date)
VALUES ('John', 'Doe', 'john@example.com', '2023-09-13');
SELECT * FROM employees;
Refresh lại database mydb sẽ thấy xuất hiện table vừa tạo 
Clean up
Xóa lần lượt các resource theo thứ tự sau:
Delete RDS
Delete Security group:
d-sg-DVA-mysql-db(Đợi database bị xóa hoàn toàn thì mới delete được)


