Cloud Database
I. Điều kiện tiên quyết
- Tài khoản Amazon RDS For PostgreSQL
- Tài khoản Neon
- Tài khoản MongoDB Atlas
- Tài khoản RedisLab
- Tài khoản IBM Cloudant
- Đã cài Postgres ở local (tùy chọn)
- Đã cài MongoDB ở local (tùy chọn)
- Đã cài Redis ở local (tùy chọn)
II. Đối tượng đọc
- Customer Success Engineer
Có liên quan tới:
- Database
- Cloud Database
III. Amazon RDS For PostgreSQL
- Truy cập https://aws.amazon.com/rds/postgresql/
- Chọn "Get Started with Amazon RDS for PostgreSQL"
- Kéo xuống chọn "Create Database"
1 Tạo Amazon RDS For PostgreSQL
-
Chỉnh database như hình mẫu sau:


-
Đặt tên database instance, user và mật khẩu để truy cập database:

-
Tiếp tục cấu hình như hình sau:





2 Cấu hình database
- Truy cập vào https://aws.amazon.com
- Truy cập vào mục "Databases" trên thanh menu bên trái
- Tạo database nếu chưa có
- Bấm vào tên database để xem thông tin cấu hình của database
2.1 Cấu hình network
-
Bấm qua tab "Connectivity and security", chọn item bên dưới "VPC security groups" (trong hình là "sg-0e0f3cb0d8d5b0fef - default").

-
Chọn inbound rules để xem IP được quyển truy cập vào instance Amazon RDS For PostgreSQL này

-
Chọn Edit inbound để chỉnh sửa thông tin IP được whitelist

-
Thêm IP của bạn hoặc server vào để có thể thiết lập kết nối tới Instance Amazon RDS For PostgreSQL này.

2.2 Cấu hình kết nối
-
Quay lại trang thông tin database, chọn tab "Connectivity and security", để xem thông tin kết nối của database ở phần 1.
-
Kết nối tới database qua cú pháp sau (nếu cài Postgres theo cách bình thường):
psql -h <amazon_rds_for_postgres_connection_string> -d keycloak -U keycloak -W -
Kết nối tới database qua cú pháp sau (nếu cài Postgres bằng docker):
docker exec -it <postgres-docker-container-name> -h <amazon_rds_for_postgres_connection_string> -d keycloak -U keycloak -W -
Nó sẽ yêu cầu nhập mật khẩu. Nhập mật khẩu và nếu kết nối thành công, trên màn hình sẽ hiện ra như sau:

IV. MongoDB Atlas
1. Tạo database
- Truy cập https://www.mongodb.com/atlas/database
- Chọn Create Project nếu chưa có Project.
- Chọn Prọject rồi chọn Create Database.


2. Cấu hình và kết nối
2.1 Cấu hình user
- Chọn Database Access trên thanh menu bên trái.
- Bấm ADD NEW DATABASE USER và chọn quyền readWriteAnyDatabase@admin

2.2 Cấu hình network
- Chọn Network Access trên thanh menu bên trái.

- Bấm ADD IP ADDRESS để thêm địa chjỉ IP cần whitelist để truy cập ínstance MongoDB Atlas này.

2.3 Kết nối
- Quay lại trang chủ chính của Database.
- Ở mục DEPLOYMENT, chọn Database.
- Màn hình sẽ hiện như hình sau. Chọn Connect.
- Copy connection string. Nó sẽ có định dạng như sau
mongodb+srv://<username>:<password><@MONGODB_ATLAS_CLUSTER_URL> - Lưu ý: Tùy theo các phiên bản MongoDB khác nhau, sẽ có nhiều cách kết nối klhác nhau.

a. Mongo CLI
- Nếu lệnh kết nối tới mongo có bật auth (có dùng user và mật khâu) là:
mongo --username <username> --password <password>
- Thì lệnh kết nối tới 1 cluster MongoDB nguồn ở ngoài là:
mongo --host <connection_string> --username <username> --password <password>
- hoặc
mongo "mongodb://<username>:<password>@<MONGODB_SERVER_IP>/"
- Và lệnh kết nối tới MongoDB Atlas là:
mongo "mongodb+srv://<username>:<password>@<MONGODB_ATLAS_CLUSTER_URL>/"
- Nếu kết nối thành công, màn hình có thể hiển thị như sau:

b. NodeJS hoặc MongoDB Compass
- Connection string cho NodeJS và MongoDB Compass cũng chính là connection string copy từ MongoDB Atlas.
- Bỏ connection string sau vào .env hoặc URI của MongoDB Compass
mongodb+srv://<username>:<password>@MONGODB_ATLAS_CLUSTER_URL/
V. Redis Lab
- Truy cập https://app.redislabs.com/
- Đăng nhập
- Bấm New Database để tạo database mới nếu chưa có.
1. Kết nối qua CLI
- Vào Database, chọn Connect để xem connection string.
- Kết nối qua Redis-cli (nếu cài redis bằng cách bình thường):
redis-cli -u redis://<username>:<password>@<redis_cloud_url>:12773
- Kết qua Redis-cli (nếu cài bằng docker):
docker exec -it <redis_docker_container_name> redis-cli -u redis://<username>:<password>@<redis_cloud_url>:12773
2. Kết nối qua NodeJS
- Bỏ connection string sau vào file .env
<username>:<password>@<redis_cloud_url>:12773
VI. IBM Cloudant
1. Cấu hình:
- Truy cập https://cloud.ibm.com/
- Đăng ký gói dịch vụ free tier Cloudant và chọn cấu hình như các hình sau:

- Sau khi khởi tạo database thì truy cập resource list, sẽ thấy db vừa tạo trong danh sách như bên dưới


- Bấm vào database, Chọn Service credentials, tạo 1 cái. Cloudant sẽ tạo 1 service credential chứa thông tin tài khoản và api CouchDB:

- Truy cập đường dẫn với tài khoản và mật khẩu được cấp trong service credential

2. Kết nối
- Tương tự CouchDB ở local. Connection string của IBM Cloudant cũng theo format tương tự
https://<username>:<password>@<host>
VII. NeonDB (Postgres)
1. Cấu hình
- Truy cập https://neon.tech/pricing, bấm Get Started ở Free tier.
- Cấu hình theo hình bên dưới


2. Kết nối
- Connection string có thể được nhìn thấy ở dashboard quản lý database như hình bên dưới

VIII. Kết luận
- Và đó là các bước setup các database cần thiết ở cloud.
- Nếu có gì khúc mắt, vui lòng gửi feedback qua form bên dưới: