아마존(Amazon)에서 제공하는 클라우드 서비스 (클라우드 컴퓨팅 플랫폼)
다양한 사용자들이 사용하고 있으며(현재 소규모 법인(회사) 및 개인을 포함),
클라우드 컴퓨팅의 장점을 이용하기 위해 많은 거대 기업에서도 활용하고 있다.
사전 확약금이나 장기 약정 없이 저렴한 종량 과금제 방식으로 운영
확장형 글로벌 인프라를 구축 및 관리 + 더 저렴한 요금의 형태로 사용자에게 비용 절감 혜택을 돌려줌
데이터센터운영 및 유지관리에 비용투자 필요 X
몇 분만에 전세계에 배포 가능
언어 및 운영 체제에 구애받지 않는 플랫폼
오랫동안(몇 주 또는 몇 개월 동안) 물리적인 서버 구축을 기다리기 보다는 즉시 새로운 앱을 배포하고,
수요를 기준으로 축소할 수도 있다.
필요한 가상 서버의 수 or 서버가 필요한 시간과는 관계없이, 사용한 만큼만의 비용이 청구
쉽게 배포할 수 있도록 돕는 AWS의 서비스
해당 서비스가 없다면, 서버를 따로 사서 파일을 옮기고 등... 해야 할 일들이 많아진다.
FileZilla를 이용한 배포를 간소화시킨 것!
단, window 에서는 cmd 를 사용하기 위해서는 따로 설정이 필요하므로
Git Bash 를 이용하여 진행하면 된다.
참고: AWS 에서 액세스 키, 비밀 액세스 키 만들기
해당 명령어들을 터미널에 하나씩 입력해준다.
mkdir deploy
: 폴더 하나 만들어라
cp app.py deploy/application.py
: app.py 파일을 하위에 application.py 로 복사해라
cp -r templates deploy/templates
: templates 폴더를 통째로 복사해라
pip freeze > deploy/requirements.txt
: requirements.txt 파일에 지금까지 설치한 라이브러리를 적어둬라
cd deploy
: deploy 폴더로 이동하라
appication.py 로 이동해서 코드를 수정해준다.
from flask import Flask, render_template, request, jsonify
#app = Flask(__name__) 수정 전
application = app = Flask(__name__)
if __name__ == '__main__':
#app.run('0.0.0.0', port=5000, debug=True) 수정 전
app.run()
pip install awsebcli
보안 자격 증명을 위해 eb init
명령어를 입력하고, 서울인 '10'을 입력한다.
만약 이 과정에 에러가 발생한다면 참고하기
참고: 보안 자격증명 eb init 명령어 에러
주의!
ERROR: ServiceError - Configuration validation exception: Your region does not have a default VPC. You might have deleted it. When you create a load-balanced environment without a specified VPC, Elastic Beanstalk requires your region to have a default VPC.
이러한 에러가 발생할 경우원인 : default VPC 가 없기 때문
해결법
VCP 로 들어가기 > '기본 VPC 생성' > default VPC 를 확인할 수 있음
eb create myweb
해당 명령어(eb create 환경이름)를 터미널에 입력
약 5분 정도 소요된다.
Amazon Elastic Beanstalk 으로 접속.
'애플리케이션'
주의!
애플리케이션은 '하나'만 있어야 한다. 그렇지 않으면, 과금이 될 수도 있다.
해당 애플리케이션 선택 > 작업 > 애플리케이션 삭제 로 하나만 남겨두자.
'환경'
새 터미널을 켜서 확인해본다.
app.py
로 가서 python 실행
해서 웹페이지가 정상적으로 작동한는지 확인해본다.
정상 작동을 확인 후, index.html
에서 원하는 부분을 수정후, 해당 부분을 복사
deploy
> index.html
'index.html'에서 수정된 부분을 똑같이 수정
왜 deploy?
'deploy' 폴더가 인터넷에 배포된 부분이므로,
내 컴퓨터에 저장된 index.html과 동일하게 'deploy > index.html' 에서도 수정해주면 된다.
cd deploy
eb deploy myweb
eb 명령어 에러 : command not found
혹시나 이러한 에러가 뜬다면,pip install awsebcli
로 패키지 설치 시도해보고 다시 시도하기
웹페이지로 들어가, 해당 부분이 변경됐는지 확인한다.