Điện toán đám mây hiện đã trở nên phổ biến ở hầu hết các công ty. Nó cho phép cung cấp năng lượng máy tính, cơ sở dữ liệu, lưu trữ, ứng dụng và các tài nguyên khác theo yêu cầu thông qua internet.
Những lợi thế chính đằng sau đám mây là bạn không cần phải chi nhiều tiền để mua các máy chủ mạnh mẽ hoặc xây dựng trung tâm dữ liệu của riêng mình. Nhưng đây không phải là lợi thế duy nhất, khi bạn cần mở rộng quy mô, bạn không cần phải mua máy chủ mới mà chỉ cần thêm tài nguyên bằng một vài cú nhấp chuột. Theo cách tương tự, chúng tôi cũng có thể giảm số lượng tài nguyên khi không cần thiết để giảm chi phí.
Cơ sở dữ liệu đám mây là cơ sở dữ liệu chạy trên một nhà cung cấp dịch vụ đám mây. Nó cho phép chúng tôi lưu trữ, quản lý, truy xuất và thao tác dữ liệu của chúng tôi thông qua nền tảng đám mây; có thể truy cập qua internet.
Trong blog này, chúng ta sẽ xem xét các loại dịch vụ đám mây khác nhau và sau đó tập trung vào việc chạy cơ sở dữ liệu PostgreSQL bằng Amazon RDS
Tùy chọn &Cung cấp Dịch vụ Đám mây
Như chúng ta có thể thấy trong hình trên, có một số loại dịch vụ đám mây tùy thuộc vào mức độ truy cập cần thiết.
- Tại chỗ: Nó được cài đặt và chạy trên máy tính tại cơ sở của cá nhân hoặc tổ chức sử dụng hệ thống. Trên thực tế, đây không phải là một dịch vụ đám mây, nhưng sẽ rất hữu ích nếu bạn thấy được sự khác biệt.
- IaaS: Đây là một dịch vụ trực tuyến cung cấp các API cấp cao được sử dụng để truy cập các chi tiết cấp thấp khác nhau của cơ sở hạ tầng mạng cơ bản như tài nguyên máy tính vật lý, vị trí, phân vùng dữ liệu, mở rộng quy mô, bảo mật, sao lưu, v.v.
- PaaS: Nó cung cấp một nền tảng cho phép khách hàng phát triển, chạy và quản lý các ứng dụng mà không cần phải xây dựng và duy trì cơ sở hạ tầng liên quan đến việc phát triển và khởi chạy ứng dụng một cách phức tạp.
- SaaS: Nó được người dùng truy cập qua Internet bằng ứng dụng khách (trình duyệt). Nó không yêu cầu bất kỳ cài đặt nào ở phía máy khách.
Nếu chúng ta đang nói về PostgreSQL, thì có những nhà cung cấp dịch vụ đám mây cung cấp PostgreSQL trên đám mây; trong các hương vị khác nhau và sử dụng các phương pháp khác nhau. Như chúng tôi đã đề cập ở trên, chúng tôi sẽ tập trung vào Amazon RDS.
Amazon RDS (Dịch vụ Cơ sở dữ liệu Quan hệ) là gì?
Theo trang web Amazon, họ cung cấp hơn 165 dịch vụ đầy đủ tính năng, bao gồm hơn 40 dịch vụ không có ở bất kỳ nơi nào khác. Vì vậy, AWS có lẽ là nhà cung cấp đám mây tiên tiến nhất thế giới về các tính năng và dịch vụ với hàng triệu khách hàng.
Amazon RDS cho phép chúng tôi tạo, quản lý và mở rộng quy mô cơ sở dữ liệu quan hệ trên đám mây một cách dễ dàng và nhanh chóng, đồng thời nó có sẵn trên các loại cơ sở dữ liệu khác nhau như Amazon Aurora, PostgreSQL, MySQL, v.v. AWS cung cấp một công cụ có tên Dịch vụ di chuyển cơ sở dữ liệu AWS để di chuyển cơ sở dữ liệu hiện có sang Amazon RDS.
Lợi ích của Amazon RDS
- Dễ sử dụng: Chúng tôi có thể sử dụng Bảng điều khiển quản lý Amazon RDS, Giao diện dòng lệnh AWS RDS hoặc lệnh gọi API để truy cập cơ sở dữ liệu quan hệ. Chúng tôi không cần cung cấp cơ sở hạ tầng hoặc cài đặt và duy trì phần mềm cơ sở dữ liệu.
- Có thể mở rộng: Chúng tôi có thể mở rộng quy mô tài nguyên máy tính và lưu trữ của cơ sở dữ liệu của mình chỉ với một vài cú nhấp chuột. Nhiều loại công cụ Amazon RDS cho phép chúng tôi khởi chạy một hoặc nhiều Bản sao đọc để giảm tải lưu lượng đọc từ phiên bản cơ sở dữ liệu chính của chúng tôi.
- Tính khả dụng: Khi chúng tôi cung cấp Phiên bản DB đa AZ, Amazon RDS sẽ đồng bộ sao chép dữ liệu sang phiên bản dự phòng trong Vùng khả dụng khác (AZ). Amazon RDS có nhiều tính năng khác giúp nâng cao độ tin cậy cho cơ sở dữ liệu sản xuất quan trọng, bao gồm sao lưu tự động, ảnh chụp nhanh cơ sở dữ liệu và thay thế máy chủ tự động.
- Hiệu suất: Chúng ta có thể chọn giữa hai tùy chọn lưu trữ được hỗ trợ bởi SSD:một tùy chọn được tối ưu hóa cho các ứng dụng OLTP hiệu suất cao và tùy chọn còn lại cho mục đích chung tiết kiệm chi phí.
- Bảo mật: Amazon RDS cho phép chúng tôi chạy các phiên bản cơ sở dữ liệu trong Amazon VPC (Đám mây riêng ảo), cho phép chúng tôi cô lập các phiên bản cơ sở dữ liệu của mình và kết nối với cơ sở hạ tầng CNTT hiện có của chúng tôi thông qua VPN. Ngoài ra, nhiều loại công cụ Amazon RDS cung cấp mã hóa ở trạng thái nghỉ và mã hóa khi chuyển tiếp.
Mặc dù điều này không được đề cập chính thức trên trang web AWS, nhưng nếu chúng ta coi DBaaS (Cơ sở dữ liệu như một Dịch vụ) là một dịch vụ cơ sở dữ liệu được quản lý và triển khai trong cơ sở hạ tầng của nhà cung cấp bên ngoài (theo danh sách của chúng tôi trong phần trên), chúng ta có thể nói rằng Amazon RDS là một DBaaS "loại", nằm giữa PaaS và một dịch vụ SaaS.
Hướng dẫn về PostgreSQL trên Amazon RDS
Trước tiên, chúng ta cần đăng nhập bảng điều khiển AWS. (Nếu chưa có tài khoản AWS, bạn có thể tạo một tài khoản miễn phí tại đây.)
Sau đó, đi tới Dịch vụ -> Cơ sở dữ liệu -> RDS và phần Tạo cơ sở dữ liệu.
Bây giờ, chúng ta phải chọn xem chúng ta muốn tạo thông thường hay dễ dàng , công cụ và phiên bản mà chúng tôi sẽ triển khai.
Nếu chúng ta chọn cách tạo dễ dàng, chúng ta chỉ cần thêm cá thể cơ sở dữ liệu tên, người dùng và mật khẩu.
Trong trường hợp này, chúng tôi sẽ chọn PostgreSQL 10 và tạo bình thường để có thể xem chi tiết tạo, vì vậy điều này sẽ yêu cầu nhiều công việc hơn một chút so với cách dễ dàng.Trong trường hợp này, chúng tôi sẽ chọn PostgreSQL 10 và tạo bình thường để có thể xem chi tiết tạo, vì vậy điều này sẽ yêu cầu một chút nhiều công việc hơn việc dễ dàng.
Trong quá trình tạo thông thường, trước tiên, chúng tôi sẽ chọn một mẫu, đó có thể là tùy chọn Sản xuất, Phát triển / Thử nghiệm hoặc Cấp miễn phí.
Trong bước tiếp theo, chúng tôi sẽ thêm tên phiên bản cơ sở dữ liệu, người dùng và mật khẩu.
Bước tiếp theo là kích thước phiên bản cơ sở dữ liệu, trong đó chúng tôi có một số tùy chọn trong ba danh mục khác nhau:Lớp tiêu chuẩn, lớp Tối ưu hóa bộ nhớ và lớp Burstable.
Trong phần lưu trữ, chúng ta có thể chọn loại đĩa, kích thước và hành vi lưu trữ.
Một trong những tính năng AWS quan trọng nhất là triển khai Multi-AZ, trong đó chúng ta có thể tạo một phiên bản dự phòng trong một vùng khả dụng khác để cung cấp khả năng dự phòng.
Về kết nối, chúng ta có thể chọn Đám mây riêng ảo (VPC) để kết nối cơ sở dữ liệu mới. Tại đây, chúng tôi có thể chọn các tùy chọn bổ sung như truy cập công cộng, vùng khả dụng và cổng cơ sở dữ liệu.
Sau đó, chúng ta có cấu hình bổ sung, nơi chúng ta có thể chỉ định tên cơ sở dữ liệu, cơ sở dữ liệu xác thực, chi tiết sao lưu, mã hóa, giám sát, ghi nhật ký và dịch vụ bảo trì (tự động nâng cấp nhỏ).
Cuối cùng, chúng tôi sẽ có tùy chọn để kiểm tra Chi phí ước tính hàng tháng.
Chúng tôi có thể xem thêm chi tiết về chi phí tại đây hoặc thậm chí sử dụng AWS Máy tính hàng tháng.
Sau khi thêm tất cả thông tin này, chúng ta phải đợi cho đến khi quá trình tạo kết thúc.
Khi Trạng thái thay đổi thành "Có sẵn", phiên bản cơ sở dữ liệu của chúng tôi đã sẵn sàng sử dụng.
Nếu chúng tôi nhấn vào mã định danh DB (“pg1” trong ví dụ của chúng tôi), chúng tôi sẽ truy cập phần cơ sở dữ liệu của mình, nơi chúng tôi có thể xem tóm tắt với thông tin như sử dụng CPU, kết nối, trạng thái và loại . Tại đây, chúng tôi cũng có thể sửa đổi cấu hình phiên bản của mình hoặc thực hiện các hành động khác nhau như khởi động lại, xóa, tạo bản sao đã đọc, chụp ảnh nhanh, v.v.
Ở cùng một nơi, chúng ta cũng có thể xem thêm thông tin chi tiết trong các phần khác nhau .
Kết nối và Bảo mật
Chúng tôi có thể định cấu hình các quy tắc bảo mật và kiểm tra thông tin mạng.
Giám sát
Chúng tôi có một số chỉ số để kiểm tra trạng thái cơ sở dữ liệu của chúng tôi.
Nhật ký và Sự kiện
Chúng tôi có báo thức, sự kiện và nhật ký từ cơ sở dữ liệu của mình.
Cấu hình
Chúng tôi có thể thấy cấu hình phiên bản của mình, nhưng cũng có danh sách các đề xuất để cải thiện cấu hình đó, chẳng hạn như bật giám sát nâng cao.
Bảo trì và Sao lưu
Chúng tôi có thể xem thông tin về các nhiệm vụ bảo trì, sao lưu và quy trình chụp nhanh.
Bây giờ, chúng ta có thể truy cập cơ sở dữ liệu của mình bằng cách sử dụng tên Điểm cuối được chỉ định bởi AWS (“ pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com ”Trong ví dụ của chúng tôi). Đối với điều này, hãy đảm bảo rằng bạn đã cho phép quyền truy cập từ phần nhóm bảo mật và bạn đã bật quyền truy cập công khai từ cấu hình phiên bản (Khả năng truy cập công khai:Có). Trong ví dụ của chúng tôi, chúng tôi đang cho phép tất cả lưu lượng truy cập từ tất cả các nguồn, nhưng vì lý do bảo mật, bạn có thể muốn giới hạn quyền truy cập từ một hoặc một vài nguồn.
Bây giờ, hãy thử kết nối với phiên bản Amazon RDS của chúng tôi từ dòng lệnh :
[[email protected] ~]# psql -U postgres -h pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com
Password for user postgres:
psql (11.5, server 10.6)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=> \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
rdsadmin | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | rdsadmin=CTc/rdsadmin
template0 | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/rdsadmin +
| | | | | rdsadmin=CTc/rdsadmin
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
postgres=> select version();
version
--------------------------------------------------------------------------------------------------------
PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit
(1 row)
Theo cách tương tự, chúng tôi có thể kết nối với nó từ GUI ưa thích của chúng tôi (nếu chúng tôi có).
Lưu ý về Amazon Aurora
Amazon Aurora là cơ sở dữ liệu quan hệ tương thích với MySQL và PostgreSQL được xây dựng cho đám mây. Theo trang web AWS, Amazon Aurora nhanh hơn ba lần so với cơ sở dữ liệu PostgreSQL tiêu chuẩn và cung cấp tính bảo mật, tính khả dụng và độ tin cậy của cơ sở dữ liệu thương mại với chi phí bằng 1/10. Bất kể tuyên bố nào, đây không phải là một phiên bản PostgreSQL thực sự, chỉ là một công cụ tương thích. Nhưng, nếu bạn đang cân nhắc việc chạy PostgreSQL trên Amazon, bạn chắc chắn nên coi đây là một giải pháp thay thế khả thi. Bạn có thể tìm hiểu thêm về Aurora và cách nó liên quan đến PostgreSQL tại đây.
Kết luận
Đám mây ở khắp mọi nơi. Chúng tôi có thể sử dụng nó cho cả các dự án nhỏ và lớn. Trong blog này, chúng tôi đã xem xét các loại đám mây khác nhau và chia sẻ cách chạy PostgreSQL trên Amazon RDS. Hãy cho chúng tôi biết suy nghĩ của bạn trong phần bình luận bên dưới.