AWS Elastic Beanstalk(EB) 기본 정리

j_6367·2022년 1월 4일
1

aws

목록 보기
5/6

기본개념

소스(or도커이미지) + 기본설정
-> 배포, 로드밸런싱, 오토스케일링, 모니터링 ...

어플리케이션

제목 설명만 있는 껍데기

환경

어플리케이션에 종속되며 하나의 어플리케이션에 여러개 생성 가능 (ex] dev, release, production)
소스부터 설정까지 여기에 다 있음


어플리케이션

이름 잘 지어서 생성


환경

티어

  • 웹 서버 환경
    일반적인 웹사이트
  • 작업자 환경
    크론 작업, queue 작업 같은거 처리

플랫폼

java, nodejs, dotnet, docker 등등 인기있는 언어들 많은데 도커만 써봤음

  • Docker running on 64bit Amazon linux 2
    이거 쓰면 됨
    Dockerrun.aws.json 사용할 경우 "AWSEBDockerrunVersion": "1"
  • 도커 멀티 컨테이너
    예전꺼임 AMI (AMI2 이전꺼) 사용함
    Dockerrun.aws.json 사용할 경우 "AWSEBDockerrunVersion": "2"

소스

도커(ami2)의 경우 docker-compose.yml 파일만 올리면 자동으로 실행함
ECR에 있는 이미지 사용할 경우 aws-elasticbeanstalk-ec2-role 역할에 AmazonEC2ContainerRegistryReadOnly 권한 필요함
그 외 참조 https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/tutorials.html


CLI 참조

eb cli

aws cli 대신 사용하는 elastic beanstalk 전용 cli

eb init

현재 디렉토리 프로젝트를 새로운 애플리케이션으로 생성하거나 기존 애플리케이션에 연결
대화형 인터페이스 다하면 .elastic~폴더 생기면서 연결됨
그 후 프로젝트 폴더에서 eb 사용 되는듯 함

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

배포

젠킨스에서는 eb 말고 그냥 aws cli 사용했음
환경 그대로 다시 업데이트 시켜서 배포함 (docker-compose.yml 이미지:latest)

aws elasticbeanstalk update-environment \
	--region ap-northeast-2 \
	--environment-name {env_name} \
	--version-label {label_name}

롤링 배포시 EC2 타겟그룹 헬스체크 시간/횟수 줄여서 배포속도 올리기

0개의 댓글