본문으로 바로가기

eb-cli을 이용한 EB 배포하기

category AWS/☁️ AWS 2020. 8. 15. 00:23

콘솔에서 express로 만든 node 서버를 배포하는 것은 다음 게시물을 참고하자

(http://pyrasis.com/book/TheArtOfAmazonWebServices/Chapter23/02)

 

eb-cli를 통해서 웹콘솔에 직접 접속하지 않아도 빈스톡에 새로운 어플리케이션을 생성하고 로컬에서 작업중인 프로그램을 명령어 한줄로 아마존에 배포할수 있다! 무엇보다 만든 파일을 수작업으로zip으로 묶고 업로드하는 번거로운 방식을 하지 않아도 된다는 큰 장점이 있다. EB CLI를 통해 작업하면 git에 커밋된 내용을 자동으로 zip으로 압축하여 올려준다.

 

 

EB CLI 설치 (v3.x)

https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/eb-cli3-install.html

 

공식 문서에 따르면 EB CLI를 설치하는 가장 쉽고 권장되는 방법은 GitHub에 제공되는 EB CLI 설치 스크립트를 사용하는 것입니다.

(2021.3월 기준으론 약간 의문이 듭니다만, 네...)

 

스크립트는 github에있습니다. git clone한 후에 aws-elastic-beanstalk-cli-setup 폴더가 생깁니다. 해당 폴더의 scripts/bundled_installer를 실행해주면 됩니다. 문서에서 알려준대로 차근차근 해봅시다.

 

https://github.com/aws/aws-elastic-beanstalk-cli-setup

git clone https://github.com/aws/aws-elastic-beanstalk-cli-setup.git

On Bash and Zsh on macOS and Linux:
./aws-elastic-beanstalk-cli-setup/scripts/bundled_installer

In PowerShell or in a Command Prompt window:
.\aws-elastic-beanstalk-cli-setup\scripts\bundled_installer

 

인스톨러가 진행되는 모습입니다. Python이 필요합니다. 없다면 알아서 인스톨러가 파이썬까지 설치하도록 도와줍니다.

저는 3.7.7 버전의 python을 사용하고 있는데 여기는 3.7.3 사용을 강제하더군요....? 이 부분은 나중에 다른 버전의 python을 이용할 수는 없는 지 알아봐야할 것 같습니다.

 

또, 설치중 가상 환경을 제대로 인스톨러가 구성했더라도 ModuleNotFoundError: No module named 'virtualenv' Exiting due to failure 오류가 난다면 다음 글을 참고해 해결합시다. 

https://stackoverflow.com/questions/56153387/modulenotfounderror-no-module-named-virtualenv-exiting-due-to-failure-even-a

 

ModuleNotFoundError: No module named 'virtualenv' Exiting due to failure, even after virtual environment is successfully install

I had installed AWS EB cli and I am trying to run the bundled installer using "$ .\aws-elastic-beanstalk-cli-setup\scripts\bundled_installer" below is the error I am getting not sure of addressing ...

stackoverflow.com

pip install virtualenv
python .\aws-elastic-beanstalk-cli-setup\scripts\ebcli_installer.py

 

설치가 완료되면 다음과 같은 출력 결과를 보실 수 있습니다.

환경 변수에 위 경로는 자동으로 들어가있습니다. (들어가 있지 않다면 추가해줍시다)

 

 

EB CLI 구성

 

EB CLI 구성 - AWS Elastic Beanstalk

Windows에서 .ebignore 파일을 추가하면 EB CLI가 심볼 링크를 따라가서 소스 번들을 만들 때 연결된 파일을 포함시킵니다. 이는 알려진 문제로 향후 업데이트에서 수정될 예정입니다.

docs.aws.amazon.com

 

 

eb init

 

EB 배포를 하기 위해 가장 먼저 해야 할 일은 git commit입니다. EB는 가장 최근에 git commit된 코드를 기준으로 압축파일을 생성해 배포합니다. 

 

EB 배포를 하고 싶은 프로젝트 경로로 이동하여 git을 커밋 한 다음 eb init으로 어플리케이션을 생성합니다.

(참고로 eb cli 설치 이후 곧바로 eb 명령어를 사용할 수 없습니다. cmd를 재시작합시다)

eb init

 

 

설정 중 username/password를 요구하기도 하는데 입력해주시면 됩니다.

init의 결과로 다음과 같은 설정 파일이 생겼습니다.

 

 

 

eb create

 

eb create로 애플리케이션을 배포할 환경을 생성해줍니다.

eb create

 

진행되는 내용을 살펴보시면 알겠지만 웹 콘솔에서 보았던 문구가 cmd에서도 생성되는 것을 보실 수 있습니다.

 

 

 

eb deploy

 

배포합니다.

 

 

 

참고한 글)

 

정리하다보니 전부 김정환님 블로그였다

http://jeonghwan-kim.github.io/eb-cli-%ED%88%B4-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%A0%95%EB%A6%AC/

 

http://jeonghwan-kim.github.io/elastic-beanstalk/

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체