Chuyển đến nội dung chính

Amazon Aurora: Là gì, cách hoạt động và cách bắt đầu

Hướng dẫn thực tiễn này dẫn bạn qua việc thiết lập, quản lý và tối ưu Amazon Aurora, kèm theo các insight về tinh chỉnh hiệu năng, bảo mật và quản lý chi phí.
· 15 phút đọc

Khám phá cùng AI

Sau một thời gian sử dụng Amazon Aurora tại nhiều công ty, tôi đã trực tiếp chứng kiến cách nó vượt trội như một hệ quản trị cơ sở dữ liệu quan hệ được quản lý hoàn toàn, mang lại hiệu năng cao, khả năng mở rộng và độ tin cậy.

Là một giải pháp gốc đám mây hỗ trợ MySQL và PostgreSQL, Aurora là lựa chọn tuyệt vời cho các doanh nghiệp cần độ sẵn sàng cao và khả năng tự động mở rộng. Vì AWS tự động quản lý sao lưu, chuyển đổi dự phòng và sao chép, sử dụng Aurora cho phép bạn tăng hiệu quả cơ sở dữ liệu đồng thời giảm chi phí bảo trì.

Trong hướng dẫn này, tôi sẽ hướng dẫn bạn thiết lập một phiên bản Aurora, quản lý hiệu quả, tối ưu hiệu năng, và bảo đảm an toàn cũng như chi phí hợp lý.

AWS Aurora là gì?

Amazon Aurora là một cơ sở dữ liệu quan hệ trên đám mây vượt trội hơn MySQL và PostgreSQL truyền thống nhờ khả năng mở rộng động tài nguyên lưu trữ và tính toán. 

Theo AWS, Aurora có thể mang lại hiệu năng cao gấp năm lần so với MySQL tiêu chuẩn và gấp ba lần so với PostgreSQL tiêu chuẩn — nhờ kiến trúc phân tán và độ sẵn sàng cao.

Aurora được xây dựng với các tính năng như sao lưu tự động, bản sao đọc để mở rộng ngang và cơ chế chuyển đổi dự phòng giúp giảm thiểu thời gian ngừng hoạt động. 

Lớp lưu trữ của Aurora được thiết kế có khả năng chịu lỗi và tự phục hồi. 

Ngoài ra, dữ liệu được tự động sao chép qua nhiều Vùng Sẵn Sàng (AZ) để đảm bảo độ bền vững.

Hình ảnh dưới đây cung cấp cái nhìn tổng quan ở mức cao về kiến trúc và các tính năng chính của Amazon Aurora.

Sơ đồ thể hiện mối quan hệ giữa dung lượng cụm, phiên bản DB ghi và các phiên bản DB đọc trong một cụm Aurora.

Mối quan hệ giữa dung lượng cụm, phiên bản DB ghi và các phiên bản DB đọc trong một cụm Aurora. Nenguồn: Tài liệu AWS

Động cơ cơ sở dữ liệu liên tục giám sát truy vấn và tối ưu kế hoạch thực thi, dẫn đến những cải thiện đáng kể về hiệu quả.

Một trong những lợi ích chính của Aurora là khả năng tương thích với các cơ sở dữ liệu MySQL và PostgreSQL hiện có, điều này giúp doanh nghiệp dễ dàng di chuyển mà không cần chỉnh sửa ứng dụng quá nhiều.

Cấu trúc chi phí của Aurora cũng hấp dẫn. Phí được tính dựa trên mức sử dụng thực tế của tài nguyên tính toán và lưu trữ. Mô hình chi phí này loại bỏ nhu cầu dự phòng quá mức hạ tầng, từ đó tiết kiệm chi phí.

> Nếu bạn quan tâm đến cái nhìn tổng quan hơn về các tùy chọn lưu trữ của AWS, hãy xem Hướng dẫn Lưu trữ AWS.

Thiết lập AWS Aurora

Thiết lập AWS Aurora bao gồm tạo một cụm cơ sở dữ liệu, cấu hình thiết lập bảo mật và đảm bảo quyền truy cập mạng phù hợp. Hãy cùng thực hiện trong phần này!

> Nếu bạn mới sử dụng AWS, hãy cân nhắc ôn lại các chủ đề nền tảng với khóa Giới thiệu về AWS trước khi bắt đầu với Aurora.

Tạo một cụm cơ sở dữ liệu Aurora

Thiết lập một cụm cơ sở dữ liệu Aurora cần một vài bước chính, bao gồm chọn động cơ cơ sở dữ liệu phù hợp, cấu hình bảo mật và xác định thông số phiên bản.

  • Để bắt đầu, đăng nhập vào AWS Management Console và điều hướng đến bảng điều khiển RDS (Relational Database Service). 
    • Bạn có thể làm điều này bằng cách tìm kiếm "Aurora" trong ô tìm kiếm của AWS Management Console — như minh họa trong hình dưới đây.

Ảnh chụp thanh tìm kiếm của AWS Management Console hiển thị kết quả tìm kiếm cho dịch vụ Amazon Aurora.

  • Khi đã ở đó, nhấp vào “Create Database” — như trong hình dưới đây.

Ảnh chụp bảng điều khiển AWS RDS hiển thị nút "Create Database".

  • Sau đó, bạn sẽ có tùy chọn chọn "Amazon Aurora" làm động cơ cơ sở dữ liệu. 
    • Lưu ý rằng Aurora hỗ trợ cả MySQL và PostgreSQL, vì vậy điều quan trọng là chọn phiên bản phù hợp nhất với yêu cầu của ứng dụng.

Hình dưới đây hiển thị các tùy chọn động cơ hiện có. Những tùy chọn này có thể thay đổi trong tương lai, nhưng hai tùy chọn đầu — Aurora (Tương thích MySQL) và Aurora (Tương thích PostgreSQL) — là các động cơ Aurora.

Ảnh chụp màn hình hiển thị tùy chọn chọn Amazon Aurora MySQL hoặc PostgreSQL làm động cơ cơ sở dữ liệu.

  • Sau khi chọn động cơ, bạn cần chỉ định loại phiên bản và cấu hình lưu trữ. 
    • Aurora cung cấp sự linh hoạt để tự động mở rộng lưu trữ lên đến 128TB, đảm bảo xử lý hiệu quả khối lượng công việc tăng trưởng mà không cần can thiệp thủ công. 
  • Bước tiếp theo là xác định thiết lập sao chép. Bạn có thể chọn triển khai một phiên bản đơn hoặc bật bản sao đọc để phân phối lưu lượng truy cập cơ sở dữ liệu hiệu quả hơn. 
    • Sử dụng bản sao đọc cũng nâng cao tính sẵn sàng và khả năng chịu lỗi, đảm bảo độ bền dữ liệu cao hơn trong trường hợp xảy ra sự cố.

Hình dưới đây làm nổi bật phần "Availability & durability" nơi bạn có thể cấu hình các thiết lập này.

Ảnh chụp trang thiết lập AWS RDS hiển thị cài đặt "Availability & durability" để cấu hình độ sẵn sàng cao và tùy chọn chuyển đổi dự phòng.

  • Giai đoạn cấu hình mạng rất quan trọng, vì nó bao gồm thiết lập Virtual Private Cloud (VPC), chọn nhóm bảo mật và xác định kiểm soát truy cập. 
    • Nhóm bảo mật đóng vai trò như tường lửa điều tiết lưu lượng vào/ra cơ sở dữ liệu. Để tăng bảo mật, bạn nên chỉ cho phép truy cập từ các địa chỉ IP và ứng dụng đáng tin cậy.

Hình dưới đây làm nổi bật phần "Connectivity" nơi bạn có thể thiết lập và tùy chỉnh các cấu hình này.

Ảnh chụp trang thiết lập cơ sở dữ liệu AWS RDS, hiển thị các tùy chọn kết nối.

  • Thông tin xác thực cơ sở dữ liệu cũng phải được cấu hình trong quá trình thiết lập — bạn gán tên người dùng chính và mật khẩu để xác thực kết nối. 
  • Aurora cho phép bật sao lưu tự động và khả năng khôi phục theo điểm thời gian. Điều này bảo đảm ảnh chụp nhanh cơ sở dữ liệu được tạo nhất quán để ngăn mất dữ liệu.

Sau khi xem lại toàn bộ cấu hình, bạn có thể tiếp tục tạo cụm Aurora. Hình dưới đây hiển thị nút "Create Database" mà bạn có thể nhấp để bắt đầu quá trình tạo.

Ảnh chụp bảng điều khiển AWS RDS với nút 'Create database'.

Quá trình cấp phát có thể mất vài phút, tùy thuộc vào kích thước phiên bản và thiết lập mạng đã chọn.

> Nếu bạn mới sử dụng các dịch vụ AWS, xem lại khóa AWS Cloud Technology and Services có thể giúp bạn hiểu các khái niệm chính liên quan đến thiết lập Aurora.

Cấu hình mạng và bảo mật

Bảo mật là yếu tố then chốt khi quản lý cơ sở dữ liệu Aurora, và AWS cung cấp nhiều công cụ để áp dụng kiểm soát truy cập chặt chẽ. 

  • Bước đầu tiên để bảo mật một phiên bản Aurora là cấu hình các nhóm bảo mật VPC. Những nhóm này quyết định địa chỉ IP và dịch vụ nào có thể tương tác với cơ sở dữ liệu. 
    • Bạn nên giới hạn truy cập cho các máy chủ ứng dụng và quản trị viên cụ thể để ngăn kết nối trái phép.
  • AWS Identity and Access Management (IAM) cũng có thể được dùng để xác định quyền chi tiết cho các thao tác cơ sở dữ liệu. 
    • Tích hợp vai trò IAM cho phép bạn điều chỉnh quyền truy cập cơ sở dữ liệu theo vai trò và trách nhiệm người dùng cụ thể.
    • Ví dụ, nhà phát triển ứng dụng có thể chỉ được cấp quyền đọc, trong khi quản trị viên có toàn quyền với các thay đổi cơ sở dữ liệu.
  • Nên bật mã hóa để bảo vệ dữ liệu nhạy cảm. AWS Aurora hỗ trợ mã hóa khi lưu trữ và khi truyền bằng AWS Key Management Service (KMS).
    • Mã hóa dữ liệu khi lưu trữ đảm bảo ngay cả khi phương tiện lưu trữ bị xâm phạm, dữ liệu vẫn không thể truy cập nếu không có khóa giải mã phù hợp.
    • Tương tự, bật mã hóa Secure Sockets Layer (SSL) cho dữ liệu khi truyền giúp ngăn chặn việc chặn trái phép các giao tiếp cơ sở dữ liệu.

> Để đào sâu hơn về bảo mật môi trường AWS, hãy xem khóa AWS Security and Cost Management. Nếu bạn muốn tìm hiểu thêm về cách IAM hoạt động và cách triển khai hiệu quả, hãy xem hướng dẫn về AWS Identity and Access Management (IAM).

Kết nối với AWS Aurora

Kết nối với AWS Aurora là điều thiết yếu để tương tác với cơ sở dữ liệu. Bạn có thể thực hiện qua các công cụ khách hoặc ứng dụng. Hãy xem cách làm trong phần này!

Kết nối với Aurora MySQL

Khi cơ sở dữ liệu Aurora đã hoạt động, bạn cần thiết lập kết nối để bắt đầu tương tác với cơ sở dữ liệu. 

Với Aurora MySQL, có thể dùng các công cụ khách phổ biến như MySQL Workbench và HeidiSQL để kết nối. Ngoài ra, bạn có thể dùng giao diện dòng lệnh.

Kết nối yêu cầu chỉ định endpoint của cơ sở dữ liệu, có thể tìm trong AWS Management Console. 

Với MySQL CLI, có thể thiết lập kết nối bằng lệnh sau:

mysql -h your-cluster-endpoint -u admin -p

Sau khi nhập mật khẩu của tài khoản chính, bạn có thể thực thi các truy vấn SQL, tạo bảng và quản lý dữ liệu.

Kết nối với Aurora PostgreSQL

Với Aurora PostgreSQL, bạn có thể kết nối bằng các công cụ như pgAdmin hoặc giao diện dòng lệnh PostgreSQL (psql). 

Cú pháp lệnh kết nối trong psql như sau:

psql -h your-cluster-endpoint -U admin -d yourdatabasename

Tương tự MySQL, bạn phải nhập thông tin xác thực chính xác để truy cập cơ sở dữ liệu. 

Khi đã truy cập, bạn có thể thực thi các truy vấn SQL, tạo bảng và quản lý dữ liệu.

Cấu hình kết nối ứng dụng

Các ứng dụng cần tương tác với Aurora phải được cấu hình chuỗi kết nối cơ sở dữ liệu phù hợp. Thông thường, các chuỗi này bao gồm tên người dùng, mật khẩu, số cổng và endpoint. 

Bạn nên sử dụng connection pooling để tối ưu hiệu năng và giảm chi phí thiết lập kết nối mới cho mỗi yêu cầu. 

Các thư viện phổ biến như SQLAlchemy cho Python hoặc JDBC cho Java cung cấp cách hiệu quả để quản lý kết nối trong môi trường ứng dụng.

Quản lý AWS Aurora

Quản lý hiệu quả AWS Aurora bao gồm đảm bảo bảo vệ dữ liệu, giám sát hiệu năng và mở rộng tài nguyên khi cần. Trong phần này, chúng ta sẽ xem qua các thực tiễn này.

Sao lưu và ảnh chụp nhanh

AWS Aurora cung cấp sao lưu tự động liên tục ghi lại và lưu trữ thay đổi cơ sở dữ liệu vào Amazon S3. Các bản sao lưu này được giữ lại theo thiết lập do người dùng xác định, cho phép khôi phục về bất kỳ thời điểm nào trong khoảng thời gian lưu giữ. 

Ngoài sao lưu tự động, bạn cũng có thể tạo ảnh chụp nhanh thủ công tồn tại vượt quá cửa sổ lưu giữ. Ảnh chụp nhanh thủ công đặc biệt hữu ích cho lưu trữ dài hạn hoặc trước khi thực hiện các cập nhật lớn cho cơ sở dữ liệu. 

Khi tôi làm việc trong một dự án với ứng dụng quan trọng, chúng tôi lên lịch sao lưu tự động mỗi hai giờ. Tuy nhiên, trước khi thực hiện bất kỳ thay đổi hay cập nhật nào cho ứng dụng, chúng tôi sẽ tạo bản sao lưu thủ công để đảm bảo có thể hoàn nguyên nếu cần. Điều này cho thấy cách kết hợp hiệu quả giữa sao lưu tự động và thủ công.

Hình dưới đây cho thấy cách AWS Backup có thể được sử dụng cho khôi phục thảm họa với Amazon Aurora.

Sơ đồ từ AWS cho thấy các tùy chọn sao lưu và khôi phục cho Amazon Aurora.

Tùy chọn sao lưu và khôi phục cho Amazon Aurora. Nguồn: AWS Blogs

Giám sát Aurora với CloudWatch

Giám sát hiệu năng là điều thiết yếu để duy trì cơ sở dữ liệu khỏe mạnh. 

AWS CloudWatch cung cấp các số liệu theo thời gian thực theo dõi mức sử dụng CPU, bộ nhớ, I/O đĩa và lưu lượng mạng. 

Thiết lập CloudWatch Alarms có thể giúp quản trị viên nhận thông báo khi các ngưỡng hiệu năng bị vượt quá, cho phép quản lý chủ động cơ sở dữ liệu. 

Ngoài ra, AWS Performance Insights cung cấp phân tích truy vấn chi tiết để xác định và tối ưu các truy vấn chạy chậm.

Hình dưới đây minh họa cách AWS Performance Insights cung cấp thông tin chuyên sâu về hiệu năng cơ sở dữ liệu.

Ảnh chụp bảng điều khiển AWS Performance Insights hiển thị các số liệu hiệu năng cơ sở dữ liệu.

Bảng điều khiển AWS Performance Insights hiển thị các số liệu hiệu năng cơ sở dữ liệu. Nguồn: Tài liệu AWS

Mở rộng Aurora

Aurora được thiết kế để tự động mở rộng bằng cách điều chỉnh dung lượng lưu trữ khi cần. Tuy nhiên, tài nguyên tính toán như CPU và bộ nhớ có thể cần điều chỉnh thủ công tùy theo khối lượng công việc. 

Aurora cung cấp các tùy chọn mở rộng năng lực đọc bằng cách thêm các bản sao đọc, giúp phân phối lưu lượng đọc và cải thiện hiệu năng. 

Khi độ sẵn sàng cao là quan trọng, bạn có thể cấu hình một cụm Aurora với nhiều bản sao trên các Vùng Sẵn Sàng khác nhau để đảm bảo dự phòng chuyển đổi dự phòng.

Tối ưu hiệu năng trong AWS Aurora

Tối ưu hiệu năng trong Amazon Aurora giúp đảm bảo thực thi truy vấn hiệu quả và khả năng mở rộng. Hãy điểm qua một số thực tiễn tốt trong phần này.

Đánh chỉ mục và tối ưu truy vấn

Tối ưu hiệu năng truy vấn trong Amazon Aurora rất quan trọng để duy trì một cơ sở dữ liệu hoạt động tốt. 

  • Đánh chỉ mục là một trong những cách hiệu quả nhất để giảm thời gian thực thi truy vấn và nâng cao hiệu quả cơ sở dữ liệu. 
    • Tạo chỉ mục trên các cột thường xuyên được truy vấn có thể giúp tìm dữ liệu nhanh, giảm thiểu nhu cầu quét toàn bộ bảng. 
    • Bạn nên sử dụng chiến lược chỉ mục chính và phụ phù hợp với mẫu truy vấn và nhu cầu tải công việc. 
    • Ngoài ra, có thể dùng chỉ mục tổng hợp cho các truy vấn liên quan nhiều cột để cải thiện hơn nữa thời gian tra cứu.
  • Tối ưu truy vấn cũng đóng vai trò quan trọng trong hiệu năng cơ sở dữ liệu. Viết các truy vấn SQL hiệu quả giúp Aurora xử lý yêu cầu nhanh hơn với mức tiêu thụ tài nguyên tối thiểu. 
    • Sử dụng EXPLAIN hoặc EXPLAIN ANALYZE trong các truy vấn SQL giúp xác định điểm nghẽn và cung cấp thông tin về kế hoạch thực thi. 
    • Các kỹ thuật như tránh dùng SELECT * (lấy dữ liệu không cần thiết), chuẩn hóa lược đồ để giảm dư thừa, và tận dụng chiến lược phân vùng có thể mang lại lợi ích hiệu năng.
    • Bộ tối ưu kế hoạch truy vấn của Aurora liên tục tinh chỉnh kế hoạch thực thi, điều chỉnh dựa trên mẫu tải công việc của cơ sở dữ liệu, qua đó nâng cao hiệu quả tổng thể.

Sử dụng bản sao đọc Aurora

Để xử lý tải truy cập cao, Amazon Aurora hỗ trợ các bản sao đọc giúp phân phối các truy vấn đọc nhiều qua nhiều phiên bản. 

Bản sao đọc giảm gánh nặng cho phiên bản cơ sở dữ liệu chính bằng cách xử lý riêng các yêu cầu đọc, cải thiện độ phản hồi và giảm độ trễ. 

Để thiết lập bản sao đọc Aurora, bạn cần chọn một cụm Aurora hiện có và bật sao chép với cấu hình tối thiểu. Aurora tự động đồng bộ dữ liệu giữa phiên bản chính và các bản sao, đảm bảo tính nhất quán dữ liệu mà không cần can thiệp thủ công.

Cơ chế sao chép của Aurora rất hiệu quả, cho phép đồng bộ dữ liệu gần thời gian thực với độ trễ sao chép dưới một giây.

Các ứng dụng thực hiện thao tác đọc thường xuyên, như bảng điều khiển báo cáo hoặc dịch vụ phân tích, có thể hưởng lợi đáng kể từ bản sao đọc bằng cách chuyển hướng các truy vấn nặng đọc đến các phiên bản này. 

Trong trường hợp phiên bản chính gặp sự cố, một bản sao đọc có thể được thăng cấp thành phiên bản chính mới với thời gian gián đoạn tối thiểu, đảm bảo độ sẵn sàng cao và tính liên tục kinh doanh.

Hình dưới đây cho thấy cách các bản sao Aurora liên vùng có thể hỗ trợ khôi phục thảm họa và độ sẵn sàng cao.

Sơ đồ AWS cho thấy bản sao đọc Aurora liên vùng để khôi phục thảm họa và độ sẵn sàng cao.

Bản sao đọc Aurora liên vùng để khôi phục thảm họa và độ sẵn sàng cao. Nguồn: Tài liệu AWS

Chiến lược bộ đệm cho Aurora

Bộ đệm (caching) là kỹ thuật mạnh mẽ để nâng cao hiệu năng cơ sở dữ liệu bằng cách giảm tải truy vấn trực tiếp lên Aurora. Một lớp bộ đệm có thể tăng tốc đáng kể việc truy xuất dữ liệu cho các truy vấn được truy cập thường xuyên. 

Amazon ElastiCache, hỗ trợ Redis và Memcached, thường được sử dụng cùng Aurora để lưu trữ kết quả truy vấn và ngăn truy vấn lặp lại không cần thiết đến cơ sở dữ liệu.

Tích hợp bộ đệm vào kiến trúc ứng dụng có thể giúp cải thiện thời gian phản hồi đồng thời tiết kiệm tài nguyên tính toán của cơ sở dữ liệu. 

Các chiến lược như write-through caching (dữ liệu được ghi đồng thời vào bộ đệm và Aurora) và lazy loading (dữ liệu chỉ được lưu vào bộ đệm khi được yêu cầu) giúp tối ưu hiệu năng dựa trên mẫu sử dụng. 

Cấu hình thời gian sống (TTL) phù hợp cho dữ liệu trong bộ đệm đảm bảo bộ đệm luôn mới và ngăn việc truy xuất dữ liệu cũ.

Bảo mật và tuân thủ trong AWS Aurora

Bảo mật cơ sở dữ liệu Aurora của bạn là điều quan trọng để bảo vệ dữ liệu nhạy cảm và đảm bảo tuân thủ. Hãy xem các thực tiễn tốt trong phần này.

Mã hóa dữ liệu

Bảo mật dữ liệu là nền tảng của quản lý cơ sở dữ liệu, và AWS Aurora cung cấp cơ chế mã hóa mạnh mẽ để bảo vệ dữ liệu nhạy cảm.

  • Aurora mã hóa dữ liệu khi lưu trữ bằng AWS Key Management Service (KMS), đảm bảo thông tin lưu trữ vẫn an toàn ngay cả khi tầng lưu trữ bên dưới bị xâm phạm.
    • Bật mã hóa trong lúc tạo cơ sở dữ liệu đảm bảo mọi bản sao lưu tự động, ảnh chụp nhanh và bản sao đều kế thừa thiết lập mã hóa tương tự.
  • Đối với dữ liệu khi truyền, Aurora hỗ trợ mã hóa SSL/TLS, giúp bảo mật kết nối cơ sở dữ liệu và ngăn truy cập/đánh cắp dữ liệu khi truyền trái phép. 
    • Các ứng dụng kết nối tới Aurora nên được cấu hình sử dụng chứng chỉ SSL để duy trì giao tiếp an toàn. 

Các biện pháp mã hóa này có thể giúp bạn tuân thủ các thực tiễn tốt về bảo mật và các yêu cầu quy định.

Hình dưới đây minh họa cách AWS KMS tích hợp với Amazon Aurora để mã hóa cơ sở dữ liệu của bạn.

Sơ đồ từ AWS Blogs minh họa cách AWS Key Management Service (KMS) mã hóa dữ liệu trong Amazon Aurora để tuân thủ bảo mật.

AWS Key Management Service (KMS) mã hóa dữ liệu trong Amazon Aurora để tuân thủ bảo mật. Nguồn: AWS Blogs

Tích hợp IAM cho kiểm soát truy cập

Kiểm soát truy cập trong Aurora được quản lý thông qua AWS IAM, cho phép quản trị viên xác định quyền chi tiết dựa trên vai trò người dùng. 

  • Chính sách IAM có thể được dùng để hạn chế truy cập đến các phiên bản cơ sở dữ liệu, ngăn người dùng trái phép thực hiện các thao tác quan trọng như chỉnh sửa dữ liệu hoặc tác vụ quản trị.
  • Xác thực IAM cung cấp lựa chọn an toàn hơn so với xác thực dựa trên mật khẩu truyền thống. Nó cho phép ứng dụng kết nối bằng thông tin xác thực tạm thời. Điều này loại bỏ nhu cầu lưu trữ và quản lý mật khẩu cơ sở dữ liệu, giảm rủi ro lộ thông tin xác thực. 

Bạn nên áp dụng nguyên tắc đặc quyền tối thiểu, giúp giảm thiểu rủi ro bảo mật và duy trì kiểm soát chặt chẽ quyền truy cập cơ sở dữ liệu.

Hình dưới đây cho thấy cách cấu hình xác thực IAM để bảo mật quyền truy cập cơ sở dữ liệu Amazon Aurora PostgreSQL.

Ảnh chụp từ AWS Blogs minh họa cách xác thực IAM tích hợp với Amazon Aurora PostgreSQL.

Xác thực IAM tích hợp với Amazon Aurora PostgreSQL. Nguồn: AWS Blogs

Kiểm toán với nhật ký Aurora

Giám sát và kiểm toán hoạt động cơ sở dữ liệu là điều thiết yếu để tuân thủ bảo mật và khắc phục sự cố. 

Aurora cung cấp nhiều cơ chế ghi nhật ký, bao gồm lỗi, truy vấn chậm và nhật ký chung, giúp quản trị viên theo dõi hoạt động cơ sở dữ liệu và xác định các vấn đề tiềm ẩn. Có thể bật các nhật ký này qua AWS Management Console và lưu trữ trong Amazon CloudWatch để phân tích tập trung.

  • Nhật ký lỗi ghi lại lỗi và cảnh báo của động cơ cơ sở dữ liệu.
  • Nhật ký truy vấn chậm giúp xác định các truy vấn kém hiệu quả có thể ảnh hưởng đến hiệu năng. 

Phân tích các nhật ký này có thể giúp quản trị viên tối ưu thực thi truy vấn, phát hiện nỗ lực truy cập trái phép và đảm bảo sự ổn định của cơ sở dữ liệu.

Quản lý và tối ưu chi phí trong AWS Aurora

Để quản lý và tối ưu chi phí hiệu quả trong Amazon Aurora, bạn cần hiểu cấu trúc giá của dịch vụ. Hãy cùng xem!

Tìm hiểu giá của Aurora

Mô hình định giá của Amazon Aurora dựa trên một số yếu tố, bao gồm giờ sử dụng phiên bản, dung lượng lưu trữ, yêu cầu I/O và truyền dữ liệu. 

Khác với các cơ sở dữ liệu truyền thống yêu cầu cấp phát hạ tầng trước, mô hình trả theo mức dùng của Aurora cho phép doanh nghiệp chỉ trả tiền cho tài nguyên thực sự tiêu thụ.

Các phiên bản tính toán được tính phí dựa trên lớp phiên bản và thời gian hoạt động, trong khi lưu trữ được mở rộng động, loại bỏ nhu cầu điều chỉnh thủ công.

Hình dưới đây cung cấp phân tích các thành phần chi phí khác nhau của Amazon Aurora. Tuy nhiên, lưu ý rằng giá có thể thay đổi, vì vậy luôn tốt nhất là tham khảo trang giá của Aurora để có thông tin cập nhật nhất.

Một phần ảnh chụp chi tiết định giá Amazon Aurora, nêu các thành phần chi phí cho sử dụng phiên bản, lưu trữ và truyền dữ liệu.

Chi phí bổ sung bao gồm lưu trữ sao lưu vượt ngoài mức miễn phí, yêu cầu I/O đọc và ghi, và phí truyền dữ liệu cho sao chép liên vùng. 

Hiểu các thành phần chi phí này có thể giúp bạn dự báo chi tiêu và đưa ra quyết định sáng suốt về việc sử dụng cơ sở dữ liệu.

Tối ưu chi phí với Aurora

Để quản lý chi phí hiệu quả, các tổ chức có thể áp dụng một số chiến lược tối ưu. 

Chọn kích thước phiên bản phù hợp sẽ đảm bảo tài nguyên cơ sở dữ liệu phù hợp với nhu cầu tải công việc mà không cấp phát quá mức. 

  • Nếu bạn có tải công việc dự đoán được, hãy dùng Reserved Instances vì chúng mang lại tiết kiệm chi phí đáng kể so với giá On-Demand.
  • Các kỹ thuật tối ưu lưu trữ như giám sát tài nguyên không dùng hoặc sử dụng kém hiệu quả giúp giảm chi phí. 
  • Tính năng tự động mở rộng của Aurora điều chỉnh lưu trữ động, ngăn chi phí lưu trữ không cần thiết. 
  • Ngoài ra, triển khai bản sao đọc có thể giảm tải truy vấn từ phiên bản chính, qua đó có thể giảm nhu cầu dùng các phiên bản cấp cao hơn.
  • Tận dụng Aurora Serverless, vì đây là lựa chọn tiết kiệm chi phí cho các ứng dụng có tải công việc biến động. Aurora Serverless tự động mở rộng tài nguyên tính toán theo nhu cầu, đảm bảo doanh nghiệp chỉ trả cho mức sử dụng thực tế thay vì duy trì một phiên bản chạy liên tục.

> Nếu bạn muốn hiểu sâu hơn về quản lý chi phí, hãy tham khảo khóa AWS Security and Cost Management. 

Kết luận

Sau một thời gian dài làm việc với Amazon Aurora ở nhiều công ty, tôi có thể tự tin khẳng định đây là giải pháp cơ sở dữ liệu mạnh mẽ và có khả năng mở rộng, giúp đơn giản hóa quản trị mà không ảnh hưởng đến hiệu năng — có lẽ bạn cũng sẽ đồng ý sau khi đi qua hướng dẫn này.

Aurora rất đáng cân nhắc nếu bạn đang tìm một cơ sở dữ liệu quan hệ gốc đám mây hỗ trợ MySQL và PostgreSQL đồng thời giảm chi phí vận hành. Công nghệ này đã mang tính cách mạng trong một số dự án của tôi, và tôi rất khuyến nghị bạn tìm hiểu năng lực của nó nếu đang làm việc với các cơ sở dữ liệu AWS.

Nếu bạn mới với các cơ sở dữ liệu AWS, học các khái niệm nền tảng thông qua các khóa như AWS Cloud Practitioner (CLF-C02) có thể hữu ích!

Câu hỏi thường gặp

Sự khác biệt giữa Aurora MySQL và Aurora PostgreSQL là gì?

Aurora MySQL được tối ưu cho các ứng dụng MySQL, trong khi Aurora PostgreSQL hỗ trợ các tính năng và phần mở rộng của PostgreSQL.

Aurora so với RDS như thế nào?

Aurora mang lại hiệu năng và khả năng mở rộng cao hơn so với RDS tiêu chuẩn cho MySQL và PostgreSQL, với thông lượng cao gấp năm lần MySQL. Nó hoàn toàn tương thích với MySQL/PostgreSQL và bao gồm các tính năng do AWS quản lý như sao lưu tự động, vá lỗi và chuyển đổi dự phòng.

Tôi có thể di chuyển cơ sở dữ liệu MySQL/PostgreSQL hiện có sang Aurora không?

Có, AWS Database Migration Service (DMS) hỗ trợ di chuyển liền mạch sang Aurora.

Aurora có hỗ trợ sao chép đa vùng không?

Có, Aurora Global Database cho phép sao chép liên vùng với độ trễ thấp.

Làm thế nào để giảm chi phí của Aurora?

Sử dụng Reserved Instances, Aurora Serverless và bản sao đọc để tối ưu chi phí.

Amazon Aurora có phải là serverless không?

Có, Amazon Aurora cung cấp tùy chọn serverless gọi là Aurora Serverless, tự động mở rộng lên/xuống theo nhu cầu, rất phù hợp cho tải công việc khó dự đoán.

Các tùy chọn sao lưu và khôi phục trong Aurora là gì?

Aurora cung cấp sao lưu liên tục tự động lên Amazon S3 và hỗ trợ ảnh chụp nhanh thủ công. Bạn có thể khôi phục cơ sở dữ liệu từ một điểm thời gian cụ thể hoặc từ ảnh chụp nhanh khi cần.

Tôi có thể dùng Aurora cho ứng dụng yêu cầu độ sẵn sàng cao không?

Có, Aurora được thiết kế cho độ sẵn sàng cao với chuyển đổi dự phòng tự động, triển khai đa AZ và các tính năng sao chép như Aurora Read Replicas và Aurora Global Database.

Don Kaluarachchi

Tác giả

Don Kaluarachchi

Tôi là Don—một Tư vấn, Nhà phát triển, Kỹ sư, Kiến trúc sư số và Tác giả (nói chung là đội rất nhiều mũ 👨‍💻🎩). Tôi yêu việc giữ cho các nền tảng số vận hành mượt mà và luôn tìm cách cải thiện chúng. Khi không viết code, tôi viết về trí tuệ nhân tạo, khoa học dữ liệu và mọi thứ liên quan đến công nghệ.
 
Trong nhiều năm, tôi đã làm mọi thứ từ xây dựng và tối ưu hóa phần mềm đến triển khai mô hình AI và thiết kế giải pháp đám mây. Tôi có bằng Thạc sĩ Khoa học về Trí tuệ nhân tạo và Cử nhân Khoa học Máy tính, đều từ Brunel University London.

Chủ đề

Liên quan