1. elastic beanstalk 기초 설정
차근차근 무중단 cicd 위해 맞춤 구성해보자!
사전 설정은 맞춤 구성으로 하자
여기서..! 서비스 역할을 만들어야 한다. (IAM)\
IAM은 일차적 방어막(최소한의 기능)으로, 사용자 (계정) S3, 역할, 정책의 기능을 한다.
Elastic Beanstalk이 정상적으로 작동하려면 두가지 역할이 필요하다.
- ELB 자체의 권한 & S3에 올림!
- EC2 권한
2. IAM 만들기
1. Elastic beanstalk 위한 IAM
2. ec2 위한 IAM
=> IAM 최종 결과물
3. 남은 Elastic beanstalk 설정
이렇게 만든걸 아까 하다 말단 elastic beanstalk 설정에 넣어주자!
key pair은 나는 원래 있던거 썼다. 없다면, 새로 만들어주자!
이렇게하면, ec2가 elasticbeanstalk에게 나 잘 만들어졌다고 알려줄 수가 있다
문제상황을 대비하여 꼭 서브넷 2개를 요구하는데, 두개 모두 public이어야 한다. 그래야 인터넷에 연결될 수가 있다.
인스턴스 2개까지 작동되게 하여 머지될 때 무중단 배포되도록 한다.
한개가 죽고 하나가 새로 만들어지는게 아니라, 하나가 새로 만들어지고 나서 기존에 있던 인스턴스가 죽는 것이다.
비싼 돈 내기 싫으니 small은 지워주자.
t3 관련된 내용은 여기 참고: https://aws.amazon.com/ko/ec2/instance-types/t3/
4. health check 설정
이는 ec2 web server(WAS)가 잘 동작하는가?를 확인해주는 역할을 한다.
즉, get 요청을 다음과 같이 보내어 ex) GET /health → 응답이 오는지 확인한다.
그래서 아래와 같이 api 구현도 해놔야 한다.
5. 프로세스, 모니터링, 환경변수 설정
action의 edit으로 들어가서 다음과 같이 수정해주자.
/ 는 홈화면이든 뭐든 사용할 수 있으니, /health로 변경해주자. /health를 사용한다면, 다른 path로 변경해도 된다.
여기 enhanced는 cicd에 문제가 생기면 어디서 어떻게 문제가 생겼는지 알려준다.
그래서 cloudwatch는 공부하고 사용하는거 추천하고, 엄청 유용하다! 난 일단 해당 기능 빼고 진행하겠다.
뭐.. 필요하다면 쓰지만, 난 안쓰겠다.
추가 배치를 사용한 롤링이 무중단 배포이다.
로드 밸런싱DMS 뒤에 여러가지 서버에게 트래픽을 골고루 주는 것이다.
ELB 로드밸런서가 ELB의 WAS가 5000번 포트에 있을거임!이라고 한다.
그런데 보통 8080, 3000에 있기에 이처럼 포트 번호를 지정해줘야 한다.
그리고, 사용하는 환경변수들을 추가로 넣어주자.
Review 보고 Submit까지 해주면..!
이렇게 pending하다가..!
성공!!! 시간은 좀 걸렸당!
그리고 configuration으로 가면 환경변수 등 설정을 바꿀 수도 있다.
6. IAM 에서 사용자 설정하자
우선 이렇게 MFA 설정을 해두면 보안에 좋다.
유저를 만들어 보자.
이렇게 해주면, 사용자는 elasticbeanstalk에 모든 권한이 있게 된다.
여기 나오는 console-sign-in으로 IAM 로그인도 가능하다.
7. Access Key 발급, github action설정
만든 action에서 아래로 내려가다보면 access key 만드는 곳이 보인다.
이렇게 뿅하고 생기는데, 해당 화면에서 나가면, 다시는 볼 수 없으니 꼬옥 따로 저장해두자!!!
이렇게..ㅋㅋ
깃허브의 setting에 들어가서
이렇게 설정해주자
그럼 이젠..! 코드를 작성해야 한다!!
코드 작성하는 부분은 요기
https://persi0815.tistory.com/39
'DevOps > AWS' 카테고리의 다른 글
[DevOps] CICD 추가 과정 1-2. Swagger에서 HTTPS 요청(springdoc) & HTTP로 요청시 HTTPS로 리디렉션 (2) | 2024.07.17 |
---|---|
[DevOps] CICD 추가 과정 2. dev, release db 만들기 (0) | 2024.07.10 |
[DevOps] CICD 추가 과정 1. HTTPS 설정 (0) | 2024.07.09 |
[DevOps] CICD 구축 전과정 3. 코드 작성, PR, Merge + 도메인 설정 (0) | 2024.07.09 |
[DevOps] CICD 구축 전과정 1. VPC 만들기 (0) | 2024.07.09 |