Như các bạn đã biết DMS – Database Migration Service là một dịch vụ trên nền tảng AWS giúp chuyển đổi cơ sở dữ liệu từ các nguồn khác nhau sang AWS một cách nhanh chóng và đáng tin cậy. DMS hỗ trợ nhiều nguồn khác nhau bao gồm cơ sở dữ liệu trên On-Premise, các máy chủ EC2, cơ sở dữ liệu Azure SQL của Microsoft, Amazon RDS (bao gồm Aurora) và Amazon S3. Phần này chúng ta thử demo nó nhé.
Trong AWS DMS, instance class trong Create Replication Instance là một thuộc tính quan trọng để định cấu hình cho instance của DMS replication. Instance class ảnh hưởng trực tiếp đến khả năng xử lý và hiệu suất của replication instance.
Instance class có thể được chọn dựa trên kích thước của database, lưu lượng dữ liệu, số lượng các bảng, tần suất thay đổi và yêu cầu về thời gian phản hồi. AWS cung cấp một loạt các lớp instance khác nhau, từ nhỏ đến lớn, có thể được chọn để đáp ứng các yêu cầu của người dùng.
Các lớp instance nhỏ hơn thường có giá thành thấp hơn, nhưng sẽ có khả năng xử lý và hiệu suất thấp hơn. Các lớp instance lớn hơn sẽ có khả năng xử lý và hiệu suất cao hơn, nhưng sẽ có giá thành cao hơn. Do đó, người dùng cần phải đánh giá và lựa chọn instance class phù hợp để đảm bảo rằng replication instance có thể xử lý tốt các yêu cầu của database.
Trong quá trình tạo Replication Instance bằng DMS, có một số tùy chọn quan trọng cần lưu ý:
- Publicly accessible: Nếu lựa chọn “Yes”, Replication Instance sẽ có thể truy cập từ Internet, còn nếu lựa chọn “No”, thì nó chỉ có thể được truy cập từ trong mạng VPC của bạn. Nên để giảm thiểu các rủi ro bảo mật, thường nên lựa chọn “No” và sử dụng kết nối VPN hoặc Direct Connect để kết nối với Replication Instance.
- Multi AZ: Khi lựa chọn “Yes”, AWS sẽ tạo ra một Replication Instance khác ở một khu vực khác, với mục đích đảm bảo tính khả dụng và phục hồi sau khi xảy ra sự cố tại khu vực chính. Tuy nhiên, lựa chọn này sẽ tăng chi phí sử dụng của bạn.
- VPC: Lựa chọn này chỉ định VPC mà Replication Instance sẽ được tạo trong đó.
- Engine version: Đây là phiên bản của DB engine mà bạn muốn sử dụng trên Replication Instance. Phiên bản này cần phù hợp với phiên bản của các source và target databases mà bạn muốn sao chép dữ liệu. Nếu bạn không chắc chắn nên để mặc định phiên bản mới nhất để đảm bảo tính tương thích và hiệu suất tốt nhất.
Dưới đây là các lựa chọn về bảo mật và network, phần này chúng ta đã làm nhiều rồi nên mình không nói lại nó.
Phần Maintenance, trong quá trình sử dụng AWS Database Migration Service (DMS), bạn có thể cần phải nâng cấp phiên bản của replication instance để đảm bảo tính ổn định và cải thiện hiệu suất. Tùy thuộc vào sự lựa chọn của bạn, bạn có thể cấu hình chế độ tự động nâng cấp minor version cho replication instance.
Minor version là phiên bản nhỏ hơn của DB engine, thường chứa các bản vá lỗi, cải tiến hiệu suất và tính năng mới. Khi bạn chọn tùy chọn “Automatic” cho “Minor version automatic upgrade” trong Create replication instance, replication instance sẽ được tự động nâng cấp lên phiên bản mới nhất mỗi khi phiên bản minor mới được phát hành. Nếu bạn chọn tùy chọn “Manual”, bạn phải tự nâng cấp phiên bản của replication instance để sử dụng các tính năng mới nhất hoặc bản vá lỗi.
Lưu ý rằng quá trình nâng cấp có thể làm gián đoạn dịch vụ trong một khoảng thời gian ngắn, do đó bạn nên thực hiện nâng cấp vào thời điểm thích hợp để tránh ảnh hưởng đến hoạt động của ứng dụng của bạn.
Các thành phần khác trong Maintenance cũng tương tự như các bài học trước nên mình không giải thích thêm.
Nếu bạn không cần gắn tag thì có thể bỏ qua nó và bấm Create. Do mình demo sẽ tốn phí nên mình chỉ giới thiệu và sẽ không bấm Create.
Sau khi bấm Create để tạo replication instance thì bạn hãy tạo các tác vụ cho nó.
Phần cấu hình Database Migration Tasks là nơi bạn cung cấp các thông tin cấu hình để chỉ định dữ liệu cần sao chép từ nguồn sang đích. Các thông tin này bao gồm:
- Source endpoint: Đây là nơi bạn cung cấp thông tin kết nối đến nguồn dữ liệu của bạn, bao gồm tên máy chủ, cổng, tên cơ sở dữ liệu, tên người dùng và mật khẩu. Đây chình là replication instance mà bạn vừa tạo ở trên.
- Target endpoint: Đây là nơi bạn cung cấp thông tin kết nối đến đích dữ liệu của bạn, bao gồm tên máy chủ, cổng, tên cơ sở dữ liệu, tên người dùng và mật khẩu. Target endpoint bạn xem tiếp ở dưới.
- Replication instance: Đây là nơi bạn chỉ định các thông số cấu hình cho instance sao chép, bao gồm loại instance, mức độ kết nối, mức độ hiệu suất, nơi lưu trữ nhật ký và nhiều hơn nữa.
- Migration type: Đây là nơi bạn chỉ định loại chuyển đổi dữ liệu (ví dụ: migration, replication hoặc both) và các tùy chọn liên quan đến chuyển đổi dữ liệu, bao gồm quyền truy cập, đồng bộ hóa dữ liệu và cấu trúc dữ liệu.
- Task settings: Đây là nơi bạn cung cấp các thông tin cấu hình để chỉ định các tùy chọn xử lý dữ liệu, bao gồm cách xử lý dữ liệu thất bại, đồng bộ hóa dữ liệu và xác thực đăng nhập.
Tất cả các thông tin này đều là quan trọng để thiết lập và thực hiện các tác vụ sao chép cơ sở dữ liệu một cách chính xác và hiệu quả.
Phần cấu hình Endpoints trong AWS DMS Resource Management được sử dụng để tạo các kết nối tới nguồn và đích cho quá trình sao chép cơ sở dữ liệu.
AWS DMS hỗ trợ nhiều loại endpoint để tương thích với các nguồn và đích khác nhau. Một số loại endpoint phổ biến bao gồm:
- Endpoint Database: dùng để kết nối tới cơ sở dữ liệu nguồn hoặc đích thông qua các thông tin như địa chỉ IP, cổng, tên đăng nhập, mật khẩu.
- Endpoint S3: dùng để kết nối tới Amazon S3 bucket để sao chép dữ liệu sang hoặc từ đó.
- Endpoint Kinesis: dùng để kết nối tới Kinesis Data Stream để sao chép dữ liệu vào hoặc ra khỏi stream.
Khi tạo endpoint, người dùng sẽ phải cung cấp các thông tin xác thực để kết nối tới nguồn hoặc đích, cũng như các thiết lập cho phép sao chép dữ liệu. Sau khi endpoint được tạo, nó có thể được sử dụng trong các Database Migration Tasks để thực hiện quá trình sao chép cơ sở dữ liệu.
Do phần này liên quan đến chi phí nên mình chỉ giới thiệu cho các bạn biết quy trình config thôi nhé.