[웹 개발] 5주차

thingzoo·2023년 5월 12일
0

웹 개발

목록 보기
5/5
post-thumbnail

오늘은 AWS Elastic Beanstalk으로 웹 서비스를 배포해보자

Amazon Web Service(AWS)

클라우드 컴퓨터 분야에서 압도적으로 세계 1위의 점유율을 차지하고 있는
아마존닷컴의 클라우드 컴퓨팅 서비스

AWS Elastic Beanstalk

애플리케이션 배포를 간편히 관리해주는 서비스

  • 쉬운 배포
  • 코드를 압축하여 업로드하고, AWS의 다양한 서비스를 알아서 연결해줌
  • 배포링크를 통해 쉽게 공유 가능
  • 코드 업데이트 기능 제공

Elastic Beanstalk를 이용한 배포 과정

0. AWS 가입

클라우드 서비스를 이용하려면 회원가입 필요

1. 액세스키 생성

  1. AWS 콘솔에 들어가 오른쪽 상단의 계정 이름 클릭
  2. 보안 자격 증명 클릭
  3. 액세스 키 만들기 클릭
  4. 액세스 키 ID와 보안 액세스 키.csv 파일 다운
  5. 잘 가지고 있기

2. 배포 폴더 및 파일 설정

  • mkdir deploy : deploy 폴더 생성
  • cp app.py deploy/application.py - app.py 파일을 deploy 폴더에 application.py라는 이름으로 바꿔서 복제
  • cp -r templates deploy/templates - templates 폴더를 deploy 폴더 안에 통째로 복제
  • cp -r static deploy/static - static 폴더를 deploy 폴더 안에 통째로 복제
  • pip freeze > deploy/requirements.txt - 설치한 라이브러리들의 목록을 deploy 폴더 안에 requirements.txt 파일에 기록
  • cd deploy - deploy 폴더 안으로 들어가기
  • 참고로 deploy 폴더안에 venv 폴더가 있으면 안됨
  • application.py 수정
    - application = app = Flask(__name__)
    - app.run()

4. awsebcli 패키지 설치

pip install awsebcli

5. awsebcli로 배포하기

  1. Elastic Beanstalk 초기 설정: eb init
Select a default region : 10 (seoul)

AWS Access Key ID [None]: 발급된 액세스 키 ID (복사 붙여넣기)
AWS Secret Access Key [None]: 발급된 비밀 액세스 키 (복사 붙여넣기)

Enter Application Name (default is "deploy") : enter
It appears you are using Python. Is this correct? : Y
Select a platform branch (default is 1) : enter

Do you want use Codecommit? : N
---
Cannot setup CodeCommit because there is no Source Control setup, continuing with initialization
Do you want to set up SSH for your instances? : Y

Select a keypair : [Create new Keypair]

Type a keypair name : enter
Enter passphrase : enter
Enter same passphrase again : enter
  1. 새로운 환경 생성: eb create 환경이름 (3~4분정도 소요)
  2. 배포환경 접속후 생성된 환경 상태확인 (OK면 성공)
  3. 코두 수정후 환경 업데이트: eb deploy 환경이름

🚨 주의사항 🚨

eb create를 할때 마다 서버를 구매한다 !
서버를 한 번에 두 개이상 구매하고 놔두면 요금이 발생한다는 사실
create를 여러번 해버렸다면 환경을 꼬-옥 종료해주기

profile
공부한 내용은 바로바로 기록하자!

0개의 댓글