7-1 정리 ( https://mo-i-programmers.tistory.com/16?category=1053538 )
7-2 정리 ( https://mo-i-programmers.tistory.com/17 )
ElasticBeanstalk
(참고문서 https://docs.aws.amazon.com/elastic-beanstalk/?id=docs_gateway )
ELB + Auto Scaling + EC2 한번에 관리 할 수 있는 서비스로 앞서 2번 정리를 보면 하나하나 다 따로 관리하면 설정 값도 많고 무척 까다롭다.
그래서 AWS에서는 통합해서 관리할 수 있는 서비스인 ElasticBeanstalk를 제공 하는데
구글의 웹엔진이라는 서비스와 비슷하게 환경에는 신경 쓸 필요없이 간단한 옵션만 조절하고, 어플리케이션만 배포하면 되는 형태. 보통 EB라고 부른다
ㅡㅡ생성하기ㅡㅡ
1. 애플리케이션 이름
2. 플랫폼 선택(구축 하려는 서비스의 언어를 선택)
3. 생성하기
ELB, EC2, Auto Scaling 를 같이 생성하기 때문이 시간 소요
4. 브라우저에서 접속 -제공된 URL을 이용하여 접속
ㅡㅡ구성 변경해보기ㅡㅡ
-인스턴스 갯수 늘리기 (용량→편집버튼 클릭)
인스턴스 최소, 최대 갯수를 조절 할 수 있다.
GitHub Action을 이용한 자동배포 만들기
-다시한번 IAM을 이용해 권한 추가 (EB권한과 CloudFront권한)
-백엔드 코드를 Github에 업로드!
app.py가 아닌 application.py란 파일 이름을 사용한다.
인증키 코드는 보안상 위험하기 때문에 코드에 그대로 넣지 않고 서버에 환경변수로 설정하고 코드에 환경변수를 읽어드리는 부분을 넣는다.
import os
os.environ["AWS_ACCESS_KEY_ID"]
- github 리파지토리 settings > secrets 에서 AWS Key 저장
- 백엔드 코드를 Git hub에 업로드
.github/workflows/main.yml
-EB에 환경변수 설정 구성→소프트웨어 수정→환경속성
-EB배포를 위한 준비
EB 같이 클라우드에서 관리해주는 서비스들은 배포 규칙이 있다. 도큐먼트를 찾아보자
파이썬 파일은 EB에서 실행될 파이썬 파일명은 application.py이다
라이브러리 모음은 기존에 pip로 라이브러리를 설치했던 부분을 EB에서는 requirements.txt 파일을 만들어서 배포
( 참고문서 https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/create-deploy-python-flask.html )
- 파이썬 파일 - application.py
- 라이브러리 모음 파일 - requirements.txt
pip freeze > requirements.txt
-이후 프론트 코드를 변경해 하나의 파이프 라인을 만들어 프론트와 백엔드를 연동해보자
'정리' 카테고리의 다른 글
8-2 TIL 정리(AWS) (0) | 2022.04.28 |
---|---|
8-1 TIL 정리(AWS 3번째 ) (0) | 2022.04.27 |
7-2TIL 정리(AWS 기초) (0) | 2022.04.27 |
7-1TIL 정리(AWS기초) (0) | 2022.04.27 |
6-TIL 정리 (간단한 AWS-S3,IAM,CloudFront) (0) | 2022.04.25 |