Djangoroidの奮闘記

python,django,angularJS1~三十路過ぎたプログラマーの奮闘記

Elastic Beanstalk で、django+s3に、RDSを追加する。

概要

前回の記事で作成した環境に、RDSを追加する。

pythonskywalker.hatenablog.com

参考サイト

pythonskywalker.hatenablog.com

やってみたこと

  • ElasticBeanstalkの環境内で、RDSを作成する。
  • settings.pyに、RDSを設定する。
  • postgreに必要なパッケージをinstallするように、Dockerfileに書き込む
  • imageをbuildして、ECRに登録する。(もしくは更新する)
  • Dockerrun.aws.jsonをアップする。(imageを新規で登録した場合は、そちらに差し替える)

ElasticBeanstalkの環境内で、RDSを作成する。

  • ElasticBeanstalk -> 環境 -> 設定 -> RDSを作成

settings.py にRDSの情報を設定する。

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': os.environ['RDS_DB_NAME'],
            'USER': os.environ['RDS_USERNAME'],
            'PASSWORD': os.environ['RDS_PASSWORD'],
            'HOST': os.environ['RDS_HOSTNAME'],
            'PORT': os.environ['RDS_PORT'],
        }
    }

postgreに必要なパッケージをinstallするように、Dockerfileに書き込む

※これは、errorが出なかったら、やらなくていいかも。

FROM python:2.7
RUN apt-get update \
    && apt-get -y upgrade \
    && apt-get install -y --no-install-recommends libpq-dev \
RUN groupadd -r uwsgi && useradd -r -g uwsgi uwsgi
COPY /myapp/requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
COPY /myapp /app
RUN chown -R uwsgi /app
COPY uwsgi.sh /uwsgi.sh
RUN chmod +x /uwsgi.sh
CMD ./uwsgi.sh

imageをbuildして、ECRに登録する。(もしくは更新する)

これは公式のpushの方法に従う。

Dockerrun.aws.jsonをアップする。(imageを新規で登録した場合は、そちらに差し替える)

できた〜〜!