Como configurar o Elastic Beanstalk para usar o Rails com o Postgres?

4

O Elastic Beanstalk criou suporte para o RDS. Mas, eu quero usar o Postgresql com o Elastic Beanstalk. Qual será a melhor abordagem para fazer isso?

    
por rohitmishra 08.12.2012 / 14:22

2 respostas

5

A maneira mais fácil e mais limpa que encontrei, presumindo que você está usando a CLI do Elastic Beanstalk eb :

  1. Crie uma instância (siga os passos):

    eb init
    

    Isto irá criar uma instância com o MySQL.

  2. 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.

  3. 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>
    
  4. 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.
    
  5. 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
    
por 18.07.2014 / 00:34
1

Você pode configurar seu banco de dados postgres personalizado executando em qualquer lugar e fazer seu aplicativo rails usá-lo a partir das configurações do arquivo database.yml.

Por exemplo,

Você pode obter uma instância postgres hospedada no Heroku Postgres - fornece detalhes de configuração muito bem formatados para o ActiveRecord. Você apenas tem que pegá-los em seu arquivo database.yml.

    
por 16.01.2013 / 21:47