Câu trả lời ngắn gọn là:bạn không thể, ngay bây giờ, tự động chạy các truy vấn SQL khi tạo phiên bản (trong tương lai, ai biết được ...).
Tôi sẽ sử dụng cách sau để giải quyết vấn đề cổ điển này:
- Sử dụng EC2 để chạy mã MySQL mà bạn cần (không chắc bạn có cần đặt mệnh đề "DependsOn" trong EC2 hay không, vì bạn sẽ phải tham chiếu đến điểm cuối RDS bằng GetAtt, điều này có thể gây ẩn Mệnh đề phụ thuộc). Bạn đặt điều này vào dữ liệu người dùng hoặc bất kỳ tập lệnh nào bạn muốn, miễn là bạn vượt qua điểm cuối RDS bằng cách nào đó. Tất nhiên, bạn sẽ cần cài đặt gói ứng dụng khách MySQL trên EC2 của mình.
Như bạn đã viết, CloudFormation cho phép bạn tạo các tài nguyên AWS, nhưng việc phổ biến các tài nguyên đó hay không là tùy thuộc vào bạn. Một lần nữa, một ứng dụng khách MySQL sẽ thực hiện thủ thuật (vì kết xuất MySQL không nhiều hơn mã SQL trong một tệp, giống như yêu cầu ban đầu của bạn).
Sử dụng Chef hoặc Puppet sẽ không giải quyết được vấn đề của bạn một mình, vì cả hai đều cần một tác nhân được cài đặt trên EC2, bạn không thể chạy tác nhân của mình trong máy chủ RDS. Vì vậy, bạn có thể có EC2 bằng cách sử dụng tác nhân Chef hoặc Puppet, lần lượt sẽ khởi chạy tập lệnh MySQL, nhưng điều này sẽ không mang lại cho bạn nhiều hơn so với giải pháp trước đó