AWS의 EC2 배포를 연습하는 프로젝트입니다.
.secrets
폴더내의 파일로 비밀 키를 관리합니다.
DB로 PostgreSQL을 사용하며, local
환경에서는 localhost
의 DB, dev
환경과 production
환경에서는 AWS RDS
의 DB를 사용합니다.
외부 서비스 접근 없이 개발 환경만을 사용 (DB와 Storage를 전부 로컬환경에서 구성)
DB, Storage에 외부 서비스 (AWS RDS, S3)를 사용
실제 배포 환경
- Python (3.6)
- PostgreSQL
pip install -r requirements.txt
.secrets/base.json
RAVEN_DSN
: Sentry의 SecurityToken
{
"SECRET_KEY": "<Django settings SECRET_KEY value>",
"RAVEN_DSN": "https://73c1acd56bc84e5d8f1f042f7e2757b1:[email protected]/298200"
}
.secrets/local.json
{
"DATABASES": {
"default": {
"ENGINE": "django.db.backends.postgresql",
"HOST": "localhost",
"NAME": "<DB name>",
"USER": "<DB username>",
"PASSWORD": "<DB user password>",
"PORT": <Port number, default:5432>
}
}
}
.secrets/dev.json
{
"DATABASES": {
"default": {
"ENGINE": "django.db.backends.postgresql",
"HOST": "<자신의 RDS주소. ex)instance-name.###.region.rds.amazonaws.com>",
"NAME": "<DB name>",
"USER": "<DB username>",
"PASSWORD": "<DB user password>",
"PORT": <Port number, default:5432>
}
}
}
.secrets/production.json
{
"DATABASES": {
"default": {
"ENGINE": "django.db.backends.postgresql",
"HOST": "<자신의 RDS주소. ex)instance-name.###.region.rds.amazonaws.com>",
"NAME": "<DB name>",
"USER": "<DB username>",
"PASSWORD": "<DB user password>",
"PORT": <Port number, default:5432>
}
}
}