1. IAM 생성
1. IAM으로 이동
2. 역할 이동 후 역할 생성 선택
3. AWS 서비스 > EC2 선택
2. 권한 정책 선택
- AWSElasticBeanstalkEnhancedHealth
- AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
3. 이름 입력 후 생성
4. 생성한 역할 선택 > 신뢰 관계 > 신뢰 정책 편집 > 아래와 같이 수정
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "elasticbeanstalk.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
5. 다시 역할 생성 > AWS 서비스 > EC2 선택
6. 권한 정책 선택
- AWSElasticBeanstalkMulticontainerDocker
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkWorkerTier
7. 이름 입력 후 생성 (ex. aws-elasticbeanstalk-ec2-role)
2. Beanstalk 생성
1. Elastic Beanstalk으로 이동 후 [애플리케이션 생성] 선택
2. 이름 입력
3. 플랫폼 > Node.js 선택
4. 사전 설정 > [사용자 지정 구성]으로 선택
5. 서비스 액세스에 하단 값 입력
- 기존 서비스 역할 : 아까 역할에서 만든 ~service-role 선택
- EC2 키 페어 : EC2에 사용할 키 페어 선택
- EC2 인스턴스 프로파일 : 아까 역할에서 만든 ~ec2-role 선택
6. 내가 만든 VPC 선택
7. 인스턴스 설정 선택
- 퍼블릭 IP 주소 활성화
- 만들었던 퍼블릭 서브넷 2개 선택
8. EC2 보안 그룹 > 내가 생성했던 보안그룹 선택
9. 환경 유형 설정
- 밸런싱된 로드 선택
- 인스턴스 최솟값 : 1, 최댓값 : 2 선택
10. (선택) 인스턴스 유형 > t3.small 삭제
- 안그러면 돈 많이 나감
11. 프로세스 편집 > 상태확인 > 경로 > /health로 수정
12. (선택) 관리형 업데이트 비활성화
13. 배포 정책 > [추가 배치를 사용한 롤링] 선택
14. 환경 속성 PORT 3000입력 후 생성
15. 5분 정도 뒤 환경 업데이트가 성공적으로 완료되었다고 뜬다.
16. 이때 위 사진 속 도메인을 클릭하면 기본 화면이 뜬다.
3. 사용자 생성
1. IAM으로 이동 > 사용자 > 사용자 생성
2. 이름 입력
3. 권한 옵션 > 직접 정책 연결 선택
4. 권한 정책 선택 후 생성
- AdministratorAccess-AWSElasticBeanstalk
5. 생성된 사용자 선택 > 보안 자격 증명 > 액세스 키 만들기
6. AWS 외부에서 실행되는 애플리케이션 선택 > 생성
- 키 값들 반드시 기억해두기
'Server > node.js' 카테고리의 다른 글
[AWS] S3 파일 업로드 - node.js (0) | 2024.08.29 |
---|---|
[CICD] Node.js + Github Action + Elastic Beanstalk 무중단 배포 (3-完) (0) | 2024.08.28 |
[CICD] Node.js + Github Action + Elastic Beanstalk 무중단 배포 (1) (0) | 2024.08.28 |
[aws] NGINX에서의 정적콘텐츠 호스팅 - vscode (0) | 2024.08.21 |
[AWS] EC2 구축 (3-完) - node.js (0) | 2024.08.20 |