Trong bài viết này, tôi sẽ thảo luận về cách thiết lập phiên bản MySQL trên AWS RDS bằng cách sử dụng các mẫu Cloud Formation. Trong bài viết trước của tôi, Cách định cấu hình môi trường Amazon RDS cho MySQL, tôi đã cung cấp hướng dẫn chi tiết về cách thiết lập phiên bản MySQL trên Amazon. Bạn có thể sử dụng bảng điều khiển AWS để cung cấp tất cả thông tin cần thiết cho việc thiết lập phiên bản và sau đó sử dụng nó. Tuy nhiên, trong bài viết này, chúng ta sẽ thảo luận về một cách tự động để đạt được các chức năng tương tự bằng cách sử dụng các mẫu Cloud Formation.
Mẫu CloudFormation là gì?
Để bắt đầu viết các mẫu, trước tiên chúng ta cần hiểu sự hình thành đám mây là gì. AWS cung cấp Cloud Formation dưới dạng dịch vụ đám mây cho phép khách hàng AWS viết trạng thái mong muốn của bất kỳ cơ sở hạ tầng nào dưới dạng mã và sau đó sử dụng nó để triển khai tài nguyên cho AWS. Nó cho phép chúng ta tạo một tài nguyên hoặc một nhóm tài nguyên bằng cách làm theo các mẫu cấu hình đơn giản. Ví dụ:nếu bạn muốn triển khai ứng dụng web trên phiên bản EC2 cũng sẽ sử dụng cơ sở dữ liệu RDS, bạn có thể chỉ cần kết hợp cả hai tài nguyên vào một ngăn xếp và viết mã để thiết lập phiên bản. Sau khi bạn chạy, nó sẽ tạo cả phiên bản EC2 và RDS, đồng thời triển khai ứng dụng web của bạn.
Hình 1 - Mẫu CloudFormation trên Bảng điều khiển AWS
Các thành phần của mẫu hình thành đám mây như sau:
- A JSON hoặc YAML tệp trong đó các tài nguyên sẽ được xác định dưới dạng mẫu
- Ngăn xếp có thể là sự kết hợp của nhiều tài nguyên cần được thiết lập như một phần của ứng dụng. Ví dụ:EC2 và RDS
- Một tập hợp các thay đổi có thể được sử dụng để xem danh sách các hoạt động sẽ được thực hiện bởi ngăn xếp
- Một tập hợp ngăn xếp cũng có thể được coi là một nhóm ngăn xếp được quản lý được sao chép hoặc tái tạo
Ngoài những điều trên, chúng tôi sẽ chủ yếu tập trung vào mẫu JSON / YAML và ngăn xếp trong bài viết này. Các mẫu hỗ trợ nhiều loại tài nguyên trên AWS. Để có được danh sách đầy đủ, vui lòng theo liên kết này.
Viết tệp mẫu JSON hoặc YAML
Một trong những thách thức chính mà chúng tôi phải đối mặt khi viết một mẫu lần đầu tiên là những nội dung nào nên được đưa vào trong đó. Để dễ dàng điều đó AWS cung cấp rất nhiều mẫu template có thể dễ dàng tìm thấy trên tài liệu chính thức. Khi bạn tìm thấy mẫu cần thiết để tạo tài nguyên cần thiết, bạn có thể sử dụng mẫu đó để tạo mẫu của riêng mình. Mẫu có thể được tạo bằng JSON hoặc YAML và cũng được chuyển đổi từ mẫu này sang mẫu khác. Trên một lưu ý cá nhân, tôi thích viết các mẫu bằng YAML hơn vì nó giúp tôi tránh xa các dấu ngoặc nhọn và dấu phẩy và giữ cho tài liệu sạch sẽ hơn. Tuy nhiên, bạn có thể tự do chọn bất kỳ tùy chọn nào giữa JSON và YAML.
Đối với bài tập này, chúng ta hãy thử quay một phiên bản MySQL trên RDS và chúng ta sẽ viết mã trong YAML. Để thiết lập cơ sở dữ liệu MySQL bằng cách sử dụng hình thức đám mây, chúng tôi cần các mục sau.
- Tên tài nguyên - Tên của tài nguyên bạn sẽ thiết lập.
- Loại tài nguyên - Loại tài nguyên.
- Thuộc tính tài nguyên - Tên cơ sở dữ liệu, tên người dùng và mật khẩu để kết nối.
- Công cụ cơ sở dữ liệu - MySQL, SQL Server, PostgreSQL, v.v.
- Loại Lưu trữ - Loại lưu trữ sẽ được sử dụng.
- Khả năng truy cập công khai - Thời tiết cơ sở dữ liệu có nên có quyền truy cập công khai hay không.
- Bộ nhớ được phân bổ - Bộ nhớ cần được cấp phát cho cá thể cơ sở dữ liệu.
- Khu vực AWS - Khu vực mà phiên bản sẽ được tạo.
Bây giờ chúng ta đã có một số điểm với chúng ta, hãy tiếp tục và bắt đầu bằng cách viết tệp mẫu.
https://gist.github.com/aveek22/a188b02abde65479bbba2deba5ec90d6
Hình 2 - Tệp mẫu để tạo phiên bản MySQL trên RDS
Như bạn thấy trong hình trên, cấu trúc của tệp được chia thành hai phần. Trong phần đầu tiên, chúng tôi đã xác định một số tham số sẽ được sử dụng bởi các định nghĩa tài nguyên trong phần thứ hai trong khi tạo tài nguyên trên AWS. Bạn có thể sử dụng cùng một tập lệnh trên máy của mình để tạo một phiên bản trên tài khoản AWS của bạn.
Thiết lập ngăn xếp trên bảng điều khiển
Bây giờ chúng tôi đã tạo mẫu cho MySQL, đã đến lúc chúng tôi thiết lập mẫu để xem mọi thứ có chạy tốt hay không. Đi tới bảng điều khiển AWS và tìm kiếm Cloud Formation trên thanh tìm kiếm. Nhấp vào Tạo ngăn xếp và tải lên tệp mẫu từ cục bộ của bạn. Nhấp vào Tiếp theo sau khi hoàn thành.
Hình 3 - Tạo ngăn xếp từ mẫu
Trên trang tiếp theo, bạn sẽ được yêu cầu cung cấp các tham số đã được xác định trong mẫu hình thành đám mây. Tiếp tục và cung cấp các chi tiết cần thiết và nhấp vào Tiếp theo .
Hình 4 - Tham số ngăn xếp được cung cấp
Xem lại các thông số và thay đổi ngăn xếp và nhấp vào Tạo ngăn xếp trên trang cuối cùng. Việc tạo ngăn xếp sẽ bắt đầu. Có thể mất một khoảng thời gian để tạo tất cả các tài nguyên trước khi chúng có sẵn để sử dụng. Trong thời gian chờ đợi, bạn có thể nhấp vào nút Tải lại để kiểm tra xem tất cả các sự kiện đã được tạo thành công chưa.
Hình 5 - Đang tạo ngăn xếp
Như bạn có thể thấy trên dấu thời gian, tôi mất khoảng 6 phút sau đó các tài nguyên đã có sẵn và cũng hiển thị trên bảng điều khiển. Điều hướng đến Tài nguyên và nhấp vào ID vật lý của tài nguyên. Thao tác này sẽ đưa bạn đến bảng điều khiển RDS.
Hình 6 - Đã tạo thành công ngăn xếp
Kết nối cơ sở dữ liệu MySQL
Khi bạn ở trong bảng điều khiển RDS, bạn có thể lấy tên máy chủ cho phiên bản cơ sở dữ liệu và sử dụng nó để kết nối với cơ sở dữ liệu. Lấy điểm cuối từ bảng điều khiển và sử dụng nó để kết nối.
Hình 7 - Chi tiết phiên bản MySQL trên RDS
Bây giờ chúng ta hãy truy cập MySQL Workbench và thử kết nối với tên máy chủ bằng thông tin đăng nhập mà chúng tôi đã cung cấp trước đó. Sử dụng tên máy chủ, tên người dùng và mật khẩu để kết nối với phiên bản.
Hình 8 - Kết nối với phiên bản MySQL bằng MySQL Workbench
Như bạn có thể thấy trong hình trên, chúng ta đã kết nối thành công với phiên bản cơ sở dữ liệu trên RDS. Bây giờ chúng ta hãy chạy một số truy vấn và xem nó có hoạt động không.
Hình 9 - Thực thi các tập lệnh trong MySQL Workbench
Như bạn có thể thấy trong hình trên, chúng tôi đã có thể kết nối với cá thể cơ sở dữ liệu và thực thi các truy vấn. Với điều này, bạn có thể viết mẫu hình thành đám mây của riêng mình và tạo ra bất kỳ tài nguyên nào khác như cơ sở dữ liệu SQL Server hoặc PostgreSQL.
Xóa tài nguyên
Nếu bạn đang thực hiện việc này như một bài tập, tôi khuyên bạn nên xóa các tài nguyên mà chúng tôi đã tạo vì nó sẽ phải chịu một số khoản phí. Bạn có thể điều hướng đến bảng điều khiển RDS, sau đó chọn phiên bản và nhấp vào Xóa để xóa tài nguyên vĩnh viễn.
Hình 10 - Xóa tài nguyên đã tạo
Khi tài nguyên đã được xóa thành công, bạn có thể kiểm tra lại bảng điều khiển một lần nữa nếu có bất kỳ phiên bản nào đang chạy chỉ để tránh thêm chi phí thanh toán không cần thiết.
Kết luận
Trong bài viết này, chúng tôi đã thảo luận chi tiết về cách thiết lập phiên bản cơ sở dữ liệu MySQL trong môi trường AWS RDS và tự động hóa nó bằng cách sử dụng mẫu Cloud Formation. Bằng cách này nếu thiết lập tài nguyên trên đám mây còn được gọi là dịch vụ cơ sở hạ tầng dưới dạng mã, nơi bạn có thể thiết lập toàn bộ cơ sở hạ tầng dưới dạng mã và sau đó sử dụng nó trong các môi trường khác nhau. Các mẫu này có thể được sử dụng không chỉ để triển khai các phiên bản cơ sở dữ liệu mà còn các cơ sở hạ tầng khác trong AWS như EC2, Lambda, RedShift, v.v. Để tìm hiểu thêm về các mẫu hình thành đám mây, bạn có thể xem các mẫu mẫu có sẵn trên trang web chính thức.