본문 바로가기
Azure | AWS

AWS Elastic beanstalk

by 자유코딩 2020. 2. 13.

요즘 흔히 알려진 [스프링 부트로 웹서비스 출시하기] 라는 글이 있다.

여기서는 ec2인스턴스를 사용해서 배포한다.

만약 초심자가 그 글만 봤다면 ec2 밖에 모른다.

그런데 ec2는 사실 그렇게 편한 배포 방식이 아니다.

필요에 따라서 서버의 많은 부분을 개인적으로 설정하고 싶다면 ec2는 좋은 방법이다.

하지만 간단히 배포하고 싶은데 ec2를 쓰는건 굉장히 비효율적이다.

 

아래 글에서는 aws 서비스를 잘 비교해놓았다.

https://medium.com/harrythegreat/%EB%82%B4%EA%B2%8C-%EC%95%8C%EB%A7%9E%EB%8A%94-aws-%EC%BB%B4%ED%93%A8%ED%8C%85-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%B0%BE%EA%B8%B0-bfd2c409273c

 

내게 알맞는 AWS 컴퓨팅 서비스 찾기

AWS의 컴퓨팅 서비스하면 가장 먼저 떠오르는건 EC2입니다. AWS를 대표하는 서비스이며 가장 기본적인 서비스이기도합니다. EC2 출시 이후로 AWS에서는 이외에 사용자에게 특화된 다양한 컴퓨팅 서비스를 더 출시를했고 이제는 구지 EC2를…

medium.com

그래서 이번에 Elastic beanstalk 를 써서 배포한 과정에서 참고한 글을 올린다.

 

1. eb cli 설치

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

 

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

 

docs.aws.amazon.com

2. eb 구성

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

 

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

 

docs.aws.amazon.com

firebase cli를 사용해서 배포 하는 것과 비슷하다.

 

 eb init -i 
Select a default region
1) us-east-1 : US East (N. Virginia)
2) us-west-1 : US West (N. California)
3) us-west-2 : US West (Oregon)
4) eu-west-1 : EU (Ireland)
5) eu-central-1 : EU (Frankfurt)
6) ap-south-1 : Asia Pacific (Mumbai)
7) ap-southeast-1 : Asia Pacific (Singapore)
8) ap-southeast-2 : Asia Pacific (Sydney)
9) ap-northeast-1 : Asia Pacific (Tokyo)
10) ap-northeast-2 : Asia Pacific (Seoul)
11) sa-east-1 : South America (Sao Paulo)
12) cn-north-1 : China (Beijing)
13) cn-northwest-1 : China (Ningxia)
14) us-east-2 : US East (Ohio)
15) ca-central-1 : Canada (Central)
16) eu-west-2 : EU (London)
17) eu-west-3 : EU (Paris)
18) eu-north-1 : EU (Stockholm)
19) ap-east-1 : Asia Pacific (Hong Kong)
20) me-south-1 : Middle East (Bahrain)
(default is 3): 10

Enter Application Name
(default is "bookmark"): 
Application bookmark has been created.

It appears you are using Python. Is this correct?
(Y/n): y

Select a platform version.
1) Python 3.6
2) Python 3.4
3) Python 3.4 (Preconfigured - Docker)
4) Python 2.7
5) Python
(default is 1): 1
Do you wish to continue with CodeCommit? (y/N) (default is n): 
Do you want to set up SSH for your instances?
(Y/n): y

Select a keypair.
1) jswoo
2) jswookey
3) [ Create new KeyPair ]
(default is 2): 1

 

eb create bookmark
Creating application version archive "app-fd27-200403_150848".
Uploading: [##################################################] 100% Done...

 

eb status를 해서 도메인 이름을 찾는다.

CNAME 에 있는 주소를 settings.py 의 Allow host 에 작성한다.

ALLOWED_HOSTS = [

'bookmark-app.eba-h4tgxhhr.ap-northeast-2.elasticbeanstalk.com', '127.0.0.1', '0.0.0.0', ]

 

git 에 커밋하고 push 한다.

 

배포한다.

eb deploy

 

 

댓글