티스토리 뷰
정중한 지적은 언제나 환영합니다!
댓글로 편히 남겨주세요
오늘은 약 3일 간의 삽질(?)을 통해 얻은 내 경험과 이를 기반한 지식을 공유해보려 한다.
먼저 아래 서버, aws 스펙등을 공유 한다. vpc 환경은 필요 시 각자 만들기를 바란다.
서버 : express (node)
vpc : default
security group : custom (db, express 등의 포트는 뚫어주세요)
ec2 : t2micro (연습용)
rds : db.t4g.micro (연습용)
1편의 목차는 아래와 같습니다.
IAM Role 생성, EB 생성
- IAM으로 이동
- 역할 이동 후 역할 생성 선택
- AWS 서비스 > EC2 선택
- 권한 주기
- 역할 생성
- 정책 편집
- 애플리케이션 생성
- 이름 입력
- 플랫폼 선택
- 사전 설정
- 키 페어 등록
- VPC
- 인스턴스 설정
- 루트 볼륨 설정
- 보안그룹 설정
- 환경 유형 설정
- 헬스 체크
- 배포 정책
- 환경 속성 추가
등이 있다. 시작 해보자.
1. IAM 으로 이동
AWS 계정 우측 상단에 계정을 클릭 > 보안 자격 증명 클릭

2. 역할 이동 후 역할 생성 선택
왼쪽 사이드 바 "역할" 클릭 > 역할 생성 클릭

3. AWS 서비스 > EC2 선택
AWS 서비스 선택 > 사용 사례는 EC2 선택

4. 권한주기
권한 정책 선택
- AWSElasticBeanstalkEnhancedHealth
- AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
5. 역할 생성
적절한 이름 작성 후 생성 (A 역할)

6. 정책 편집
생성한 역할 선택 > 신뢰 관계 > 신뢰 정책 편집 > 아래와 같이 수정

이어서 하나의 역할을 더 만들어야 한다. 따라와 보자.
다시 1~3번 까지 수행해서 4번 권한주기에서 아래 권한 선택
- AWSElasticBeanstalkMulticontainerDocker
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkWorkerTier
이 후 역할 생성까지 진행해준다. (6번 까지) (B 역할)
7. 애플리케이션 생성
여기서 부턴 Elastic Beanstalk 설정이다. 이어서 진행해보겠다.
Elastic Beanstalk 검색 > 애플리케이션 생성 클릭 > 이름 입력 후 생성


8. 이름 입력
이제는 환경 생성을 할 차례이다.
생성한 애플리케이션 클릭 > 새 환경 생성 클릭 > 환경 이름 작성


9. 플랫폼 선택
express 서버이니 node를 선택한다. spring이나 react등 다른 프레임워크를 사용한다면 이에 맞는 플랫폼을 선택한다.

10. 사전 설정
사전 설정 > [사용자 지정 구성] 선택

11. 키 페어 등록
기존 서비스 역할 : (A 역할)
키 페어 : EC2에 사용할 키 페어
EC2 인스턴스 프로파일 : (B 역할)

12. VPC
생성 혹은 디폴트 VPC 선택
13. 인스턴스 설정
1. 퍼블릭 IP 주소 활성화 (반드시)
2. 생성한 서브넷 중 퍼블릭 선택 혹은 디폴트 서브넷을 사용중일 시 디폴트 서브넷 선택
3. 데이터 베이스 또한 EC2와 동일한 방식으 서브넷 선택

14. 루트볼륨 설정
환경을 만들다 보면 경고가 하나 뜰 것 이다.

해석하면 2024년 10월 1일 자로 launch configuration을 허용하지 않는 다는 것. 이전 환경들은 해당 변경에 적용이 되지 않는다.
루트 볼륨을 설정해줘야 환경 생성 완료 후 에러가 안난다..!
필자는 루트 볼륨 유형 > 범용 3(SSD) 선택 해줬다.

15. 보안그룹 설정
생성한 보안 그룹을 선택한.
16. 환경 유형 설정
무 중단 배포를 구현할 것이기 때문에 밸런싱된 로드 선택
1 최솟값 / 2 최댓값 선택

이 후 인스턴스 유형에선 t3.small은 제외하자(비싸다)
ami는 기본을 권장한다.(여기에 이틀을 썼다! 회고는 마지막에)
17. 헬스 체크
프로세스 설정에서 본인이 헬스 체크 요청을 할 경로를 지정해준다.
필자는 /api/health 경로를 적어줬다.

18. 배포 정책
추가 배치를 사용한 롤링 선택 (롤링 배포)

19. 환경 속성 추가
DB 정보 혹은 추가 정보를 기입한다

이어서 2탄에 나머지 설정을 해보겠습니다
'AWS' 카테고리의 다른 글
EC2에 Github Action, AWS ECR 사용하여 node.js 프로젝트 배포해보기 (0) | 2024.12.16 |
---|---|
Elastic beanstalk + Git Action 무 중단 배포 구현(완) - 3 (feat. ECR) (0) | 2024.12.16 |
Elastic beanstalk + Git Action 무 중단 배포 구현 - 2 (feat. S3) (5) | 2024.12.10 |
EC2 모니터링- Slack 슬랙 연동 하여 알림 받기 (0) | 2024.08.24 |
- Total
- Today
- Yesterday
- 프로그래머스
- 백준 상자넣기
- 단지번호붙이기 자바
- 자바
- 단지번호붙이기 JAVA
- k8s object
- 백준
- 구간합구하기
- 백준 그림 자바
- ECR
- StatefulSet
- 백준 상자 넣기 자바
- AWS
- java
- EB
- 무중단배포
- dfs
- Java #코린이 #자바
- 백준 1965 풀이
- EC2
- java #스프링 #spring #server
- docker
- 행렬 테두리 회전하기 자바
- 쿠버네티스 개념
- 코딩테스트
- 마법사 상어와 비바라기 자바
- Java #객체 #자바기초 #자바
- 자료구조
- 쿠버네티스 오브젝트
- k8s
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |