Mysql
 sql >> Datenbank >  >> RDS >> Mysql

CloudFormation:Template RDS Mysql zum Erstellen von Datenbanken, Tabellen, Benutzern oder Ladeschemata

Kurze Antwort ist:Sie können derzeit keine SQL-Abfragen automatisch bei der Instanzerstellung ausführen (in Zukunft, wer weiß ...).

Ich würde dieses klassische Problem folgendermaßen lösen:

  • Verwenden Sie einen EC2, um den benötigten MySQL-Code auszuführen (nicht sicher, ob Sie eine "DependsOn"-Klausel in den EC2 einfügen müssen, da Sie mit einem GetAtt auf den RDS-Endpunkt verweisen müssen, was wahrscheinlich einen impliziten DependsOn-Klausel). Sie fügen dies in die Benutzerdaten oder ein beliebiges Skript ein, solange Sie den RDS-Endpunkt irgendwie passieren. Natürlich muss das MySQL-Client-Paket auf Ihrem EC2 installiert sein.

Wie Sie geschrieben haben, ermöglicht Ihnen CloudFormation das Erstellen von AWS-Ressourcen, aber das Auffüllen dieser Ressourcen liegt bei Ihnen. Auch hier reicht ein MySQL-Client aus (da ein MySQL-Dump nicht mehr als SQL-Code in einer Datei ist, genau wie Ihre ursprüngliche Anforderung).

Die Verwendung von Chef oder Puppet allein wird Ihr Problem nicht lösen, da beide einen auf einem EC2 installierten Agenten benötigen, können Sie Ihren Agenten nicht auf dem RDS-Server ausführen. Sie können also einen EC2 mit einem Chef- oder Puppet-Agenten haben, der wiederum das MySQL-Skript startet, aber das wird Ihnen nicht viel mehr geben als die vorherige Lösung