Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách di chuyển MySQL từ Amazon EC2 sang Trung tâm dữ liệu tại chỗ của bạn mà không có thời gian ngừng hoạt động

Kể từ khi thành lập, số lượng di chuyển ngày càng tăng sang môi trường dựa trên đám mây. Xét cho cùng, điện toán đám mây có thể mang lại nhiều lợi ích cho các doanh nghiệp, đặc biệt là những doanh nghiệp làm việc với dữ liệu lớn.

Tuy nhiên, khi nhu cầu tăng lên, chi phí cũng tăng theo và bạn có thể rơi vào tình huống chi phí hàng tháng trên đám mây trở nên quá cao và những tiêu cực sớm vượt qua lợi ích của việc hoạt động trên đám mây. Hoặc có lẽ bạn có các yêu cầu về bảo mật hoặc tuân thủ yêu cầu bạn có quyền kiểm soát trực tiếp hơn đối với hệ thống của mình. Cuối cùng, điều này có thể khiến bạn phải di chuyển trở lại môi trường tại chỗ.

AWS cung cấp các công cụ giám sát và quản lý để chạy hệ thống của chúng tôi trên đám mây đồng thời có khả năng hiển thị và kiểm soát để tối ưu hóa. Tuy nhiên, khi chúng tôi thấy mình đã sẵn sàng cho một giải pháp tại chỗ, thì việc di chuyển dữ liệu và tạo lại tất cả các công cụ để quản lý hệ thống của chúng tôi đúng cách có thể là một thách thức.

Trong blog này, chúng tôi sẽ thảo luận về cách bạn có thể di chuyển hệ thống của mình từ AWS sang trung tâm dữ liệu tại chỗ và cách ClusterControl có thể giúp đơn giản hóa quy trình.

Khái niệm

Trước khi bắt đầu, hãy cùng tìm hiểu một số khái niệm cơ bản về Amazon Cloud và ClusterControl.

AWS

Amazon Web Services (AWS) là Cơ sở hạ tầng như một nền tảng Dịch vụ bao gồm một số lượng lớn các dịch vụ độc lập và bán độc lập. Mục đích của Cơ sở hạ tầng như một nền tảng Dịch vụ là cung cấp, trên cơ sở hàng hóa, các dịch vụ trước đây yêu cầu mua các thành phần cơ sở hạ tầng cần nhiều vốn như máy chủ cao cấp, bộ định tuyến mạng và thiết bị chuyển mạch, và cho các doanh nghiệp lớn hơn, thậm chí trung tâm dữ liệu riêng.

RDS

Amazon Relational Database Service (RDS) giúp dễ dàng thiết lập, vận hành và mở rộng quy mô cơ sở dữ liệu quan hệ trên đám mây. Nó cung cấp dung lượng hiệu quả về chi phí và có thể thay đổi kích thước trong khi tự động hóa các tác vụ quản trị tốn thời gian như cung cấp phần cứng, thiết lập cơ sở dữ liệu, vá lỗi và sao lưu.

Amazon RDS có sẵn trên một số loại phiên bản cơ sở dữ liệu và cung cấp cho bạn sáu hệ thống quản lý cơ sở dữ liệu quen thuộc để lựa chọn, bao gồm Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database và SQL Server.

EC2

Amazon Elastic Compute Cloud (EC2) là một dịch vụ cung cấp khả năng tính toán an toàn và có thể thay đổi kích thước trên đám mây. Nó được thiết kế để làm cho điện toán đám mây quy mô web trở nên dễ dàng hơn cho các nhà phát triển.

Giao diện web đơn giản của Amazon EC2 cho phép bạn có được và định cấu hình dung lượng với mức tối thiểu. Nó cung cấp cho bạn quyền kiểm soát hoàn toàn các tài nguyên máy tính của bạn và cho phép bạn chạy trên môi trường máy tính đã được chứng minh của Amazon.

ClusterControl

ClusterControl là một hệ thống quản lý toàn diện cho cơ sở dữ liệu mã nguồn mở tự động hóa việc triển khai, chức năng quản lý cũng như theo dõi sức khỏe và hiệu suất từ ​​một ô kính.

ClusterControl hỗ trợ triển khai, quản lý, giám sát và mở rộng cho các công nghệ cơ sở dữ liệu khác nhau trong mọi môi trường.

Tại sao nên chuyển sang On-Prem?

Như chúng tôi đã đề cập trước đây, các lý do phổ biến nhất để chuyển từ AWS sang môi trường tại chỗ là chi phí, bảo mật, tuân thủ hoặc chạy các ứng dụng cục bộ. Trong AWS, bạn không biết điều gì đang xảy ra bên dưới cơ sở hạ tầng. Bạn chỉ biết liệu mọi thứ có hoạt động hay không. Nếu bạn gặp phải tình trạng hoạt động kém hoặc bất thường, giải pháp duy nhất là liên hệ với bộ phận hỗ trợ của Amazon.

Ví dụ về Tình huống Di chuyển

Trong AWS, bạn có hai sản phẩm khác nhau liên quan đến blog này:EC2 và RDS.

Sự khác biệt chính giữa chúng là trong EC2, bạn có quyền truy cập SSH vào máy chủ và phải tự quản lý cơ sở dữ liệu. RDS là một dịch vụ cơ sở dữ liệu được lưu trữ và bạn chỉ có quyền truy cập vào phiên bản cơ sở dữ liệu.

Trong RDS, vì bạn không có quyền truy cập SSH, bạn cần tạo một kết xuất và nhập nó vào máy chủ mới hoặc định cấu hình sao chép và quảng bá bản sao thành bản chính mới. Đối với cả hai tùy chọn, quá trình này là thủ công. Bạn cũng có thể thêm bộ cân bằng tải để cải thiện quá trình này. Chúng tôi đã đề cập đến nhiệm vụ này trong các blog sau:Phần 1 và Phần 2.

Vì vậy, hãy tập trung vào việc di chuyển từ EC2.

Trong ví dụ của chúng tôi, hãy xem cách di chuyển MySQL từ AWS EC2 sang trung tâm dữ liệu tại chỗ. Chúng tôi sẽ sử dụng môi trường MySQL Replication, nhưng các bước này sẽ hoạt động đối với các công nghệ khác như PostgreSQL.

Chúng tôi sẽ giả định rằng bạn có cơ sở dữ liệu MySQL chính của mình đang chạy trên phiên bản EC2. Trong trung tâm dữ liệu tại chỗ, chúng tôi cũng sẽ giả sử bạn đã cài đặt ClusterControl và một máy chủ cơ sở dữ liệu mới để di chuyển sang.

Trong bảng điều khiển quản lý AWS, bạn sẽ có một cái gì đó như thế này trong EC2 phần phiên bản:

Trước tiên, bạn sẽ cần nhập nút chính hiện tại của mình đang chạy trên EC2 sang ClusterControl. Đối với quá trình nhập này, bạn cần mở cổng 3306 bằng cách chỉnh sửa Nhóm bảo mật được liên kết với phiên bản EC2.

Sau đó, trong ClusterControl, chuyển đến phần Nhập:

Tại đó, bạn có thể chọn công nghệ cơ sở dữ liệu, trong ví dụ này là MySQL Replication, và bạn phải chỉ định Người dùng, Khóa hoặc Mật khẩu và cổng để kết nối với máy chủ của mình qua SSH. Bạn cũng cần cung cấp tên của cụm mới của mình.

Sau khi thiết lập thông tin truy cập SSH, bạn phải xác định một số thông tin cơ sở dữ liệu như thông tin đăng nhập quản trị cơ sở dữ liệu, cổng và dựa trên. Ngoài ra, bạn có thể bật các tính năng Tự phục hồi nút ClusterControl Node và các tính năng Tự động phục hồi cụm cho cụm mới.

Sau đó, bạn cần thêm máy chủ của mình bằng cách sử dụng địa chỉ IP hoặc tên máy chủ và nhấn Nhập.

Sau khi hoàn tất, bạn có thể theo dõi trạng thái của công việc nhập từ Giám sát hoạt động ClusterControl.

Khi nhiệm vụ hoàn thành, bạn sẽ thấy nút cơ sở dữ liệu của mình trong chính Màn hình ClusterControl:

Đảm bảo bật tạo binlog trong cơ sở dữ liệu chính hiện tại của bạn.

Bây giờ, bạn có thể thêm nút chính mới trong tương lai của mình dưới dạng một bản sao mới từ cơ sở dữ liệu chính hiện tại của bạn. Đối với điều này, hãy đi tới ClusterControl -> Chọn Cluster -> Cluster Actions -> Thêm Replication Slave.

Tại đây, bạn cần thêm tên máy chủ hoặc địa chỉ IP của bản sao mới máy chủ và nếu bạn muốn ClusterControl cài đặt phần mềm cho bạn.

Đảm bảo rằng bạn có kết nối từ AWS đến các cổng 3306 và 9999 trong máy chủ tại chỗ.

ClusterControl giai đoạn sao chép dữ liệu bằng cách sao lưu nóng dữ liệu chính, truyền trực tuyến đến bản sao và khôi phục tại đó. Sau khi được khôi phục, nút bản sao được kết nối với nút chính để nó có thể bắt kịp các sự kiện và đồng bộ hóa. Lưu ý rằng đối với cơ sở dữ liệu lớn đang chạy với một số tải, bạn có thể muốn tránh tải thêm của hoạt động này trên nút chính. Trong trường hợp đó, có thể xây dựng nút bản sao trước từ bản sao lưu hiện có và sau đó kết nối bản sao để nó bắt kịp với nút chính.

Sau tác vụ này, bạn sẽ có một cái gì đó như sau:

Bạn cũng có thể xác minh cấu trúc liên kết của mình trên phần Cấu trúc liên kết ClusterControl.

Sau đó, bạn cần thăng cấp bản sao thành bản chính (ClusterControl -> Chọn Cluster -> Node Actions -> Thúc đẩy Slave) và thay đổi điểm cuối trong ứng dụng của bạn.

Để cải thiện cấu trúc liên kết này, bạn có thể thêm bộ cân bằng tải để quản lý lưu lượng từ máy chủ ứng dụng đến cơ sở dữ liệu. Khi sử dụng bộ cân bằng tải, bạn sẽ không cần phải thay đổi điểm cuối từ ứng dụng của mình trong quá trình di chuyển; bộ cân bằng tải sẽ thay đổi nút chính theo cách minh bạch.

Có nhiều cách để thực hiện tác vụ này và bạn có thể áp dụng một chiến lược như thế này cho môi trường của bạn, tùy thuộc vào cơ sở hạ tầng, bảo mật, v.v.

Vì lý do bảo mật, bạn nên cân nhắc sử dụng VPN giữa AWS và môi trường tại chỗ.

Trong trường hợp cấu trúc liên kết nhiều cái như Galera Cluster, bạn chỉ cần thêm các nút mà bạn muốn tại chỗ, nhưng hãy cẩn thận với độ trễ. Ví dụ:bạn có thể sử dụng các phân đoạn Galera khác nhau để giảm mức sử dụng mạng.

Cân nhắc khi Di chuyển

Cuối cùng, đây là một số cân nhắc cần lưu ý nếu bạn muốn rời AWS và bắt đầu sử dụng môi trường của riêng mình:

  • Giám sát:Đừng quên sử dụng hệ thống giám sát. Bạn cần biết những gì đang xảy ra trong hệ thống của bạn mọi lúc!
  • Chiến lược khôi phục sau thảm họa:Bạn nên cân nhắc một DRP tốt. Nói chung, bạn nên có thông tin ở ba nơi thực tế khác nhau:Chính, Bản sao và bản sao lưu.
  • Tính sẵn sàng cao:Ngày nay, tính khả dụng cao là điều bắt buộc trong hầu hết các môi trường sản xuất, vì vậy bạn cần nghĩ đến giải pháp tính khả dụng cao tốt nhất tùy thuộc vào cơ sở hạ tầng của bạn.
  • Chia tỷ lệ:Bạn có thể mở rộng quy mô nếu cần trong tương lai hoặc cho một sự kiện cụ thể.
  • Khôi phục:Nếu bạn muốn di chuyển từ AWS sang môi trường tại chỗ, hãy nhớ rằng có thể xảy ra sự cố (như trong bất kỳ loại di chuyển nào), vì vậy bạn nên có kế hoạch khôi phục.
  • Giả sử bạn đang theo đuổi một loại môi trường kết hợp nào đó, với các phiên bản chạy trên AWS và tại chỗ. Trong trường hợp đó, ClusterControl là một sự phù hợp tuyệt vời để theo dõi, quản lý tính khả dụng, sao lưu, mở rộng quy mô và hơn thế nữa. Hãy thử!

Kết thúc

Đôi khi, hoạt động trên đám mây không phải là cách phù hợp nhất và bạn có thể thấy mình cần phải chuyển trở lại giải pháp tại chỗ. Chúng tôi hy vọng blog này đã cung cấp cho bạn một số thông tin hữu ích về việc di chuyển dữ liệu dựa trên MySQL của bạn sang trung tâm dữ liệu tại chỗ của bạn từ AWS và cách ClusterControl cung cấp các công cụ bạn cần để quản lý hệ thống của mình đúng cách.

Khi bạn đã hoàn tất quá trình di chuyển thành công, hãy nâng cấp hệ thống giám sát của mình bằng các chiến lược chủ động như cảnh báo dự đoán. Hãy xem bài đăng được cập nhật gần đây của chúng tôi về Giám sát cơ sở dữ liệu với ClusterControl để tìm hiểu thêm.

Để biết thêm thông tin cập nhật về các mẹo quản lý cơ sở dữ liệu và các phương pháp hay nhất, hãy nhớ đăng ký blog, nguồn cấp dữ liệu RSS của chúng tôi và theo dõi chúng tôi trên LinkedIn và Twitter.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thứ tự MySQL trước khi Nhóm theo

  2. Cách tính Doanh thu trong MySQL

  3. Cách cấp tất cả các đặc quyền trên cơ sở dữ liệu trong MySQL

  4. cấp quyền truy cập từ xa cơ sở dữ liệu MySQL từ bất kỳ địa chỉ IP nào

  5. Sự kiện Cronjob hoặc MySQL?