목표
AWS Elastic Beanstalk 를 이용하여 샘플 프로젝트를 생성한다.
구축하기
IAM 사용자 생성
Elastic Beanstalk IAM 사용자 생성
Elastic Beanstalk 에서 사용할 IAM 사용자를 생성한다. 아래 2개의 권한이 있어야한다.
- AWSElasticBeanstalkEnhancedHealth
- AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
Instance Profile 생성
EC2 인스턴스에 할당할 IAM 역할을 생성한다. 아래 3개의 권한이 있어야한다.
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkWorkerTier
- AWSElasticBeanstalkMulticontainerDocker
IAM > Roles 에서 Create Role 을 클릭한다.
AWS service 를 선택하고 Service or use case 에서 EC2 를 선택한다.
Role name 을 입력하고 위에 3개의 권한을 추가해준다.
Elastic Beanstalk 생성
Create Application 을 클릭한다.
Application name 을 입력한다.
environment 가 나오는데 여기서 Create new environment 를 클릭한다.
기본 설정은 그대로 두고 따로 설정한 부분은 Platform 을 선택하는 부분이다. 여기서 Platform 은 Node.js 를 선택하였다.
service role 은 처음에 언급한 IAM 사용자를 선택한다.
EC2 instance profile 은 위에서 생성한 Instance Profile 을 선택한다.
기본 VPC 를 선택하고 Subnet 을 선택한다.
이후 설정은 수정하지 않고 생성하였다. 조금 시간을 기다리면 배포가 완료되었다고 로그를 볼 수 있다.
URL 을 들어가보면 Elastic Beanstalk 의 화면이 나온다.
참고 문서
- Elastic Beanstalk instance profile https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-roles-instance.html