Mysql
 sql >> Database >  >> RDS >> Mysql

CloudFormation:modello RDS Mysql per creare database, tabelle, utenti o caricare schemi

La risposta breve è:non puoi, in questo momento, eseguire automaticamente query SQL alla creazione dell'istanza (in futuro, chissà...).

Userei il seguente modo per risolvere questo classico problema:

  • Usa un EC2 per eseguire il codice MySQL di cui hai bisogno (non sono sicuro che sia necessario inserire una clausola "DependsOn" in EC2, poiché dovrai fare riferimento all'endpoint RDS con un GetAtt, che probabilmente inserirà un implicito Dipende dalla clausola). Lo inserisci nei dati utente o in qualsiasi script che desideri, purché in qualche modo passi l'endpoint RDS. Ovviamente, avrai bisogno del pacchetto client MySQL installato sul tuo EC2.

Come hai scritto, CloudFormation ti consente di creare risorse AWS, ma il popolamento di tali risorse dipende da te. Ancora una volta, un client MySQL farà il trucco (dal momento che un dump MySQL non è altro che codice SQL in un file, come il tuo requisito iniziale).

L'uso di Chef o Puppet non risolverà il tuo problema da solo, poiché entrambi richiedono un agente installato su un EC2, non puoi eseguire il tuo agente nel server RDS. Quindi puoi avere un EC2 usando un agente Chef o Puppet, che a sua volta avvierà lo script MySQL, ma questo non ti darà molto di più della soluzione precedente