반응형
EB 서비스 페이지에서 '새 애플리케이션 생성' 클릭한 뒤 생성한다. (CLI가 편하다면 그걸로)
작업 > 환경 생성을 클릭해 애플리케이션의 환경을 생성한다.
1. '웹 서버 환경' 클릭
2. 환경 이름 입력 (ex. staging-env, prod-env)
3. 플랫폼에서 Python 선택
(Django 리퍼지토리가 있다는 가정 하에), Django 프로젝트를 배포한다. (자습서)
1. 기본 환경 구성
- 가상환경 활성화
- requirements.txt 파일 생성
2. eb 환경 구성
- 루트 디렉터리 아래에 .ebextensions이라는 디렉터리 생성
$ mkdir .ebextensions
3. .ebextensions 내 django.config라는 구성 파일을 추가한다.
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: config/wsgi.py
container_commands:
01_wsgipass:
command: 'echo "WSGIPassAuthorization On" >> ../wsgi.conf'
4. DB 마이그레이션을 위해 .ebextensions 내 db-migrate.config라는 구성 파일을 추가한다.
container_commands:
01_migrate:
command: "python manage.py migrate"
leader_only: true
option_settings:
aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: config.settings.staging
* DJANGO_SETTINGS_MODULE은 환경에 따라 구분해서 입력해야 한다.
5. EB 환경 적용
Django 프로젝트 디렉토리 아래서 eb init 후 생성한 애플리케이션, 환경 차례로 선택한다.
$ eb init
6. 자동으로 생성된 .elasticbeanstalk 아래 config.yml 적절히 수정한다. (필요 없다면 안 해도 됨)
branch-defaults:
master:
environment: master-env
develop:
environment: development-env
global:
application_name: my-application-name
branch: null
default_ec2_keyname: null
default_platform: Python 3.6
default_region: ap-northeast-2
include_git_submodules: true
instance_profile: null
platform_name: null
platform_version: null
profile: eb-cli
repository: null
sc: git
workspace_type: Application
7. 배포한다.
$ eb deploy
주의
- 배포된 URL로 들어가면 당연히 `Not Found`가 뜬다. 유효한 URL로 체크하도록.
반응형
'개발 > AWS' 카테고리의 다른 글
[AWS] AWS Lambda + API Gateway와 카카오 오픈빌더로 급식 메뉴 챗봇 만들기 (15) | 2019.05.26 |
---|---|
[AWS] Lambda 프록시 통합을 사용하여 API Gateway로 간단한 곱셈 API 만들기 (5) | 2019.04.21 |
[AWS] CCP 요약 - 2) 핵심 서비스 (4) | 2019.03.27 |
[AWS] CCP 요약 - 1) 클라우드 소개 (4) | 2019.03.26 |
[AWS] AWS Lambda 메모리 설정에 따른 시간 비교 (2) | 2019.03.12 |
댓글