A maneira mais fácil e mais limpa que encontrei, presumindo que você está usando a CLI do Elastic Beanstalk eb
:
-
Crie uma instância (siga os passos):
eb init
Isto irá criar uma instância com o MySQL.
-
Uma vez criado, pare com isso.
eb stop
Isso interromperá sua instância e excluirá o banco de dados MySQL que foi criado pela configuração inicial.
-
Edite seu arquivo de configuração de instância no diretório
.elasticbeanstalk
na raiz do seu projeto, substitua a entrada DBEngine na seção[aws:rds:dbinstance]
por postgres .vi .elasticbeanstalk/optionsettings.<my-app>-env [aws:rds:dbinstance] DBDeletionPolicy=Delete DBEngine=postgres DBInstanceClass=db.t1.micro DBSnapshotIdentifier= DBUser=<dbrootuser>
-
Reinicie a instância:
eb start Starting application ".<my-app>". Waiting for environment "<my-app>-env" to launch. 2014-07-17 17:53:15 INFO createEnvironment is starting. 2014-07-17 17:53:21 INFO Using elasticbeanstalk-us-east-1-xxxxxxx as Amazon S3 storage bucket for environment data. 2014-07-17 17:53:52 INFO Created EIP: nn.nnn.nnn.nnn 2014-07-17 17:53:58 INFO Created security group named: awseb-e-xxx 2014-07-17 17:54:10 INFO Creating RDS database named: <db name>. This may take a few minutes. 2014-07-17 18:06:09 INFO Created RDS database named: <db name> 2014-07-17 18:07:07 INFO Waiting for EC2 instances to launch. This may take a few minutes.
-
Verifique o status. Assim que ficar verde, você terá agora um banco de dados postgres.
eb status --verbose URL : <my-app>-env-xxxxx.elasticbeanstalk.com Status : Ready Health : Green RDS Database: YYYYDatabase | <db name>.zzzzzz.us-east-1.rds.amazonaws.com:5432 Database Engine: postgres 9.3.3 Allocated Storage: 10 Instance Class: db.t1.micro Multi AZ: False Master Username: <dbrootuser> Creation Time: 2014-07-17 18:02:28 DB Instance Status: available