티스토리 뷰
eb(elastic beanstalk)를 cli를 통해 사용하려면 eb cli를 설치해주세요
설치를 완료했으면 손쉽게 콘솔상에서 eb 어플리케이션을 생성하여 배포할수 있습니다
(디테일한 세부설정은 아무래도 cli를 이용하는 것보다 GUI 화면상에서 설정하는게 더 쉬울수도 있습니다)
$ eb init
현재 소스코드의 루트 디렉토리에서 해당 명령어를 입력하면 eb세팅을 위한 질문이 진행됩니다
이 질문들은 해당프로젝트 내에 .elasticbeanstalk/config.yml 파일을 생성하기 위한 질문일뿐
실제 계정에 eb를 생성하지 않습니다
- region 선택
- 어플리케이션 이름 생성(기본적으로는 폴더이름)
- 도커파일이 있는지, 아니면 다른 확장자의 파일이 있는지 검색하여 플랫폼을 지정(java, nodejs, php 등)
- 도커인경우 도커가 실행될 플랫폼 선택
- 도커가 아닌 경우 해당 플랫폼의 버전 선택
- codecommit을 사용할지 여부(codecommit에 소스코드가 저장됩니다)
- 외부에서 인스턴스에 ssh접속 여부 선택(보안그룹설정에 22번 포트가 개방됩니다)
- 여러개의 키페어가 있는 경우 어떤 키페어를 사용할지 선택
$ eb create
마찬가지로 몇가지 질문을 합니다
어플리케이션 이름과 cname prefix를 지정하면 기본적인 세팅으로 진행이 시작됩니다
세부 옵션을 조정하고 싶다면 eb create의 옵션 파라메터를 참고해주세요
이 단계에서
* eb어플리케이션 생성
* 생성된 어플리케이션 내에 환경 생성
* git archive 하여 s3에 소스코드 업로드(app-d204-220202_091946.zip 커밋id와 날짜를 포함한 파일명으로 s3에 업로드 됩니다)
* 로드밸런서 생성(보안그룹 생성, 타겟그룹, 리스너 생성 등)
등등의 실제적인 작업이 진행됩니다
세부 입력을 하지 않는 값들은 기본 세팅값으로 진행이 됩니다
(classic load balancer를 이용하여
NetworkOut auto scaling 조건으로
t2.micro 인스턴스로 최소 1, 최대 4 생성되며
타겟그룹을 80포트로 바로 연결하는 리스너가 탑재됩니다
docker플랫폼을 선택한 경우 EXPOSE된 포트를 80번포트로 연결하는것 같네요)
"Successfully launched environment" 메시지와 함께 모든 셋업이 완료되었습니다
이렇게 생성된 eb 어플리케이션은 당연히 aws 웹사이트 접속해서 확인이 가능합니다
생성된 어플리케이션의 URL을 입력했는데 웹사이트가 정상적으로 보여지지 않는 경우도 발생할 수 있습니다
아니면 아마도 어플리케이션이 성공적으로 생성은 되었으나 상태가 "정상"이 아닌 경우일거예요
기본 생성된 로드밸런서는 80번포트를 리스닝하는 리스너가 탑재되어있습니다
그래서 만약 여러분이 만든 어플리케이션이 80번 포트가 아닌 다른 포트를 리스닝하고 있다면
여러분의 어플리케이션에 해당 하는 포트에 맞게 타겟그룹의 포트를 변경해야 합니다
한가지더, 로드밸런서가 ec2에 접근할수 있도록 보안그룹의 인바운드 포트도 열어주어야 합니다
이런식으로 말이죠
위 두가지를 꼭 참고하세요!
eb create 명령어에는 이러한 값들을 조정할수 있는 옵션이 없고
대신에 루트 디렉토리에 .ebextensions 폴더와 환경설정파일을 생성하여 내가 원하는 세팅값으로 eb가 구성되도록 할 수 있습니다
$ eb terminate --all
위의 명령어로 방금까지 생성한 모든 eb 설정이 계정내에서 삭제됩니다
그리고 내 프로젝트폴더의 .elasticbeanstalk/config.yml 파일까지 모두 삭제됩니다
이렇게 elastic beanstalk의 초기 세팅이 끝났습니다
새로운 코드를 업데이트하여 배포할때는 여러가지 방법이 있습니다
그중에서 가장 쉬운방법은 현재 어플리케이션의 repository를 그대로 업로드 하는 방법인데요
$ eb deploy
git archive 명령을 사용하여 최신 .zip 명령의 내용에서 git commit 파일을 생성하여 배포합니다
생성된 zip 파일은 지정된 s3 버킷에 app-d204-220202_091946.zip 커밋id와 날짜를 포함한 이러한 이름으로 업로드가 되어 배포할때 사용됩니다
'AWS' 카테고리의 다른 글
aws ecs fargate 사용하기 (0) | 2022.02.07 |
---|---|
docker 파일 하나로 단일 컨테이너 elastic beanstalk에 배포하기 (0) | 2022.02.05 |
nodejs elastic beanstalk 에 codepipeline 배포하기 (0) | 2022.02.04 |
codepipeline으로 푸시부터 빌드를 지나 배포까지 완성 (0) | 2022.02.03 |
천리 배포길도 한걸음 codebuild 부터 (0) | 2022.02.02 |
- Total
- Today
- Yesterday
- 아이폰
- 소프트웨어
- 안드로이드
- 앱스토어
- AWS
- android
- 자바스크립트
- 게임
- 창업
- 애플
- Apple
- 공모전
- CSS
- 앱
- 트위터
- 벤처
- 네이버
- 웹표준
- 구글
- 스마트폰
- 모바일
- JavaScript
- 어플리케이션
- iPhone
- 대학생
- 경진대회
- 아이디어
- php
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |