본문으로 바로가기

AWS Elastic Beanstalk cli로 띄우기

category 분류없음 2018.03.23 16:58

AWS Elastic BeanStalk cli로 띄우기



AWS Elastic Beanstalk이란?

엘라스틱 빈스톡, 엔라스틱 빈스탁 등으로 읽는다. 이하 eb라고 쓴다.

JAVA, PYTHON, PHP등으로 만든 앱을 로드밸런싱, 연동 등 다른 것들을 크게 신경쓸 필요 없이 바로 띄울 수 있게 해주는 aws의 기능 중 하나이다.

이걸로 띄우면 ec2랑 그 관련된 서비스들이 세팅 된다.


이건 실제 사용자가 사용하는 서비스이기 때문에 배포, 롤백 등이 되어야 한다.


암튼 이런걸 할려면 백엔드 개발자 입장에서는 cli가 편하다.


aws cli말고 eb cli가 따로 있으니 이걸로 사용한다.


  • 일단 메뉴얼에 나와있는 대로 아래와 같이 하면 eb가 빡 뜬다.
  • $ mkdir HelloWorld
  • $ cd HelloWorld
  • $ eb init -p PHP
  • $ echo "Hello World" > index.html
  • $ eb create dev-env
  • $ eb open

  • java-tomcat으로 띄울려면 eb init -p tomcat-8-java-8 이 명령어를 사용한다.


    eb init -p tomcat-8-java-8

    eb init을 하면

    Select a default region

    1) us-east-1 : US East (N. Virginia)

    2) us-west-1 : US West (N. California)

    3) us-west-2 : US West (Oregon)

    4) eu-west-1 : EU (Ireland)

    5) eu-central-1 : EU (Frankfurt)

    6) ap-south-1 : Asia Pacific (Mumbai)

    7) ap-southeast-1 : Asia Pacific (Singapore)

    8) ap-southeast-2 : Asia Pacific (Sydney)

    9) ap-northeast-1 : Asia Pacific (Tokyo)

    10) ap-northeast-2 : Asia Pacific (Seoul)

    11) sa-east-1 : South America (Sao Paulo)

    12) cn-north-1 : China (Beijing)

    13) cn-northwest-1 : China (Ningxia)

    14) us-east-2 : US East (Ohio)

    15) ca-central-1 : Canada (Central)

    16) eu-west-2 : EU (London)

    17) eu-west-3 : EU (Paris)

    (default is 3):


    이렇게 리전을 고르라고 한다.



    (default is 3): 3

    Application hello-eb-02 has been created.


    골라주면 어플리케이션이 만들어진다.


    ➜  hello-eb-02 ll -a

    total 8

    drwxr-xr-x   4 mattheu  staff   128B  3 23 16:55 .

    drwxr-xr-x  13 mattheu  staff   416B  3 23 16:54 ..

    drwxr-xr-x   3 mattheu  staff    96B  3 23 16:55 .elasticbeanstalk

    -rw-r--r--   1 mattheu  staff   108B  3 23 16:55 .gitignore



    ll -a를 해주면 .elasticbeanstalk 이 폴더가 생긴다. 숨김 폴더이다.


    저 안에 들어가서 config.yml을 보면 아래와 같이 생겼다.


    branch-defaults:

      1   default:

      2     environment: null

      3     group_suffix: null

      4 global:

      5   application_name: hello-eb-02

      6   branch: null

      7   default_ec2_keyname: null

      8   default_platform: tomcat-8-java-8

      9   default_region: us-west-2

     10   include_git_submodules: true

     11   instance_profile: null

     12   platform_name: null

     13   platform_version: null

     14   profile: eb-cli

     15   repository: null

     16   sc: null

     17   workspace_type: Application


    여기에서 application_name을 수정해 주면 create 할 때 반영 된다.


    eb create eth-btc-matches-server-dev

    create명령어를 이용해 eb '환경(environment)'을 생성 할 수 있다.


    이 명령어를 실행하고 aws console - elastic beanstalk으로 가보면 환경이 생성된 것을 볼 수 있다.


    이런식으로 하나 생성된다.

    중요한 부분이 하나 있다.

    aws메뉴얼을 보다보면 environment_name이라는 필드가 있는데 여기에서 environment_name은 'events-server-dev'이거다.

    그 위에 'events-server'는 application_name이다.


    application안에 여러개의 environment가 있을 수 있다.


    뜨는데 시간이 꽤 걸린다.


    eb open

    잘 떴는지 확인 하는 명령어이다.


    위 명령어를 실행하면 이 화면이 나온다.



    vpc도 함께 setting하기

    eb create <environment_name> --vpc
    를 사용하면 어떤걸 넣어야 하는지 물어본다.



    end.





    댓글을 달아 주세요