Create Amazon RDS for MySQL

Create Amazon RDS for MySQL

avatar

Phong Nguyen

2023.12.18

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.

Images

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 rulesTypeProtocolPort rangeSource
    MySQL/AuroraTCP33060.0.0.0/0
  • Outbound rulesTypeProtocolPort rangeSource
    All trafficAllAll0.0.0.0/0
  • TagsKeyvalue
    Named-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
  • Add subnets
    • Availability Zones: us-east-1a & us-east-1b
    • Subnets: Chọn subnet trên 2 zone tương ứng

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
  • Instance configuration
    • Burstable classes (includes t classes): db.t3.micro
  • Storage:
    • Storage type: General Purpose SSD (gp3)
    • Allocated Storage: 20
  • 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
  • Monitoring: Database Insights - Standard
    • Enhanced Monitoring: không check
  • Additional configuration
    • Initial database name (đây là tên DB ban đầu sẽ tạo trong RDS): mydb

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 Images

Giao diện khi khởi động: Images

Lấy thông tin kết nối database:

Tạo mới connection từ MySQL Workbench: Images

Nhấn Test Connection để test kết nối Images

Kết nối Success thì nhấn OK, sau đó click vào Connection vừa tạo để kết nối đến database Images Images

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;

Images

Refresh lại database mydb sẽ thấy xuất hiện table vừa tạo Images

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)