본문 바로가기

WebDev/Backend

ElasticBeanstalk Deploy

eb deploy

Elastic beanstalk를 사용한 어플리케이션 배포를 할 경우 eb-clideploy명령을 사용해 쉽게 배포할 수 있다.

문제는, 공식 문서에서 deploy가 어떻게 이루어지는지 자세히 알려주지 않아 에러 메시지를 봐도, 뭘 어떻게 해야할지 모른다는 것이다. 그래서 직접 deploy의 시퀀스를 알아냈고, 여기에 정리한다.

deploy가 이루어지는 과정

  1. elastic beanstalk 프로젝트인지 확인한다. .elasticbeanstalk디렉토리가 있다면 문제 없다.
  2. 프로젝트가 git을 사용하는지 확인한다. 만약 git을 사용한 프로젝트라면 .elasticbeanstalk/configuration.ymlsrc부분이 git으로 지정된다.
    1. 이떄부터 deploy는 git에 의존성을 가지게 된다.
    2. 프로젝트 형상은 git을 통해서만 얻는다!!! git commit이나 git add를 사용해 프로젝트 형상을 넣어야 한다. 현재 프로젝트 아무리 수정해도 git에 넣지 않으면 eb-cli도 모른다.
  3. git의 HEAD로부터 프로젝트 통쨰로 소스를 가져오고, 가져온 소스를 {label}.zip으로 압축한다.
  4. 압축한 프로젝트 파일을 s3에 업로드한다.
  5. 4의 파일을 각 ec2 instance에 배포한다.
  6. 4의 파일이 모든 ec2 instance에 배포될 때까지 상태를 감시한다.
  7. 모든 배포가 문제없이 끝나면 배포가 성공되었음을 알린다.

이다.

나의 경우 Single Docker Application형태로 배포하므로, Dockerfile이나 Dockerrun.aws.json파일 중 적어도 하나는 eb-cli가 찾을 수 있어야 했었다.

'WebDev > Backend' 카테고리의 다른 글

AWS EC2 New SSH User  (0) 2016.03.28
Dynamodb Index  (0) 2016.01.25
DynamoDB Operator  (0) 2016.01.24
django deploy with sqlite3  (0) 2016.01.22
Cross Domain AJAX  (0) 2016.01.21