[AWS] Elastic Beanstalk - Intro (awsebcli)
Elastic Beanstalk (EB)
IAM Account
Elastic Beanstalk 를 사용하기 위해서는
아래 두가지 권한이있는 IAM 계정이 필요하다.
-
AWSElasticBeanstalkFullAccess
Provides full access to AWS Elastic Beanstalk and underlying services that it requires such as S3 and EC2. -
ElasticLoadBalancingFullAccess
Provides full access to Amazon ElasticLoadBalancing, and limited access to other services necessary to provide ElasticLoadBalancing features.
- 단일 인스턴스로 Elastic Beanstalk 를 사용할 계획이면
ElasticLoadBalancingFullAccess 권한은 필요하지 않다.- IAM 계정생성 관련해서는 [AWS] S3 - Using S3 With Boto3: IAM 을 참고
해당 권한이 있는 계정 생성 후
~/.aws/credentials
에 아래의 내용을 추가
[ProfileName]
aws_access_key_id = <YOUR_ACCESS_KEY>
aws_secret_access_key = <YOUR_SECRET_KEY>
<YOUR_ACCESS_KEY>
: IAM 사용자 추가 5단계에서의 액세스 키 ID
<YOUR_SECRET_KEY>
: IAM 사용자 추가 5단계에서의 비밀 액세스 키
~/.aws/config
에 아래의 내용을 추가
[default]
region = <YOUR_REGION>
<YOUR_REGION>
: ap-northeast-2 == 아시아 태평양(서울)
awsebcli
Install
$ pip install awsebcli
Command
eb init
$ eb init
-
해당 명령어를 실행하면
.elasticbeanstalk
디렉토리가 생성된다. -
명령어를 실행함에 따라 git 과 연동이 된다.
eb create
,eb deploy
명령어는 git 에서 commit 되어있는 파일을 기준으로 진행된다.
이러한 특징에 따라 ignored 된 파일 중 secret data를 관리해주어야 한다.
(배포시에는 추가, git commit 할 때는 ignore)
ignored 파일을 배포시마다 관리하기에는 번거로우므로 Shell Script 파일을 작성하여 자동화 할 수 있다.
Option
profile
$ eb init --profile <ProfileName>
-
~/.aws/crednetials
의 계정을 사용가능 -
ProfileName
은~/.aws/crednetials
의[]
안에있는 이름이다.
EB 를 사용할 권한이 있는 프로필이 들어가야만 한다.
eb create
$ eb create
새로운 환경을 만들고 해당 버전을 배포한다.
Option
-
--profile
: 위에 설명된 profile 옵션과 동일 -
--single
: 단일 인스턴스 사용
eb deploy
$ eb deploy
해당 디렉토리 환경으로 버전을 배포 (버전 업데이트시 사용)
Option
-
--profile
: 위에 설명된 profile 옵션과 동일 -
--staged
옵션을 주어서git commit
상태가 아닌,
staging area 에 올라와있는 파일(git add
상태)도 인식되도록 한다.
eb open
$ eb open
배포된 웹 사이트의 public URL 을 기본 브라우저로 연다.
RDS Security Group
Elastic Beanstalk 로 배포를 진행하면 해당 인스턴스의 보안그룹이 자동으로 추가된다.
만약 배포한 서버가 AWS 의 특정 RDS 를 사용한다면
해당 RDS 의 보안그룹에 Elastic Beanstalk 가 접근가능하도록 설정해주어야 하는데,
보안그룹에 인바운드 규칙을 추가하면 된다.
유형 및 프로토콜은 내용에 맞게 설정하고, 소스 부분은 Elastic Beanstalk 의 그룹 ID 로 지정한다.
(자동완성 목록이 나타난다.)
Leave a comment