ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] Elasticbeastalk (elb) 커맨드라인으로 배포하기
    카테고리 없음 2018. 10. 20. 18:57

    사전조건

    • PC 에 파이썬이 설치되어있어야 한다. https://www.python.org/
    • 키젠을 사용할 수 있어야 합니다. ( 보통 putty 를 설치하면 키젠이 같이 설치되는데 이부분은 어떤시점에서 설치되는지 잘 모르겠습니다. )

    터미널을 엽니다.

    $ pip install awscli

    파이썬 3.x 으로 설치됫을 경우 위 커맨드라인이 작동 하지 않을 수 있습니다. 그럴경우 pip3 로 실행하면 됩니다.

    $ pip3 install awscli

    아! 반드시 파이썬 환경변수 설정이 되어야 합니다.


    위 설정을 하게 되면 aws cli 를 커맨드라인에서 사용 할 수 있습니다.

    그럼 두번째로 aws 글로벌 크리덴셜 등록을  해야합니다.

    $ aws configure
    AWS Access Key ID [********************]: **********
    AWS Secret Access Key [********************]: *********
    Default region name [*************]: ap-northeast-2
    Default output format [None]:


    아마존 IAM 에서 발급받은  (권한 있는) access key 와 secret key 를 등록하면됩니다.

    현재 api 서버는 application.yml 에서 확인 할 수 있습니다.

    region name 은 보통 서울리전이면 ap-northeast-2 로 생성됩니다.


    사실상 여기까지가 aws 커맨드라인 인터페이스를 사용 할 수 있는 초기설정이 끝납니다.

    하지만, 현재 delex api 서버는 elasticbeanstalk ( 이하 elb ) 에서 개발되어지고 있기 때문에 추가적인 설정이 필요합니다.

    elb는 커맨드라인 인터페이스를 따로 제공하기 때문에 추가적인 설치가 필요합니다

    이유는 aws cli 문서에 대충 다음과 같이 써져있습니다.


    사실 aws 커맨드라인 인터페이스로도 사용 할 수 있지만 사용하기 굉장히 불편합니다. 다음을 비교 해보세요.

    eb cli 로 실행$ eb create my-env

    aws cli로 실행 $ aws elasticbeanstalk check-dns-availability --cname-prefix my-cname ~$ aws elasticbeanstalk create-application-version --application-name my-application --version-label v1 --source-bundle S3Bucket=my-bucket,S3Key=php-proxy-sample.zip ~$ aws elasticbeanstalk create-environment --cname-prefix my-cname --application-name my-app --version-label v1 --environment-name my-env --solution-stack-name "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Passenger Standalone)"


    aws ebcli 를 설치합니다.

    $ pip install awsebcli --upgrade --user

    이렇게 하면 커맨드라인에서 eb 라는 키워드를 사용 할 수 있습니다.


    프로젝트 폴더에서다음 명령어를 실행하여 현재 프로젝트 폴더를 elb 가 인식할 수 있도록합니다.

    $ eb init


    C:\workspace-deltaon\delex_new\server>eb init

    이렇게 하면 화면 처음 리전 목록이 나오고 그다음엔 앱을 선택하는 화면이 나오는데 

    서울리전이면 10 입력하고,

    application 은 사용 할 어플리케이션을 선택하면 됩니다.


    profile 명령어에 대해서는 추후에 설명하겠습니다.



    .elasticbeanstalk/ 라는 폴더가 보이실껍니다.

    그럼 이제 준비단계는 끝났습니다.

    이제 커맨드라인 에서 eb deploy 명령어를 실행하시면 어플리케이션이 elb 에 배포됩니다.


    자바나 노드같이 아티팩트를 따로 생성해서 업로드 하는경우 다음줄을 config.yml 에 추가하면 됩니다.

    deploy:

    artifact: target/application.jar



    모두 끝났습니다.

    이제 deploy 명령어로 앱을 배포하면 됩니다.

    $ eb deploy




    댓글

Designed by Tistory.