CI/CD 배포 - 엘라스틱 빈스톡, RDS 생성

박선규's avatar
May 20, 2024
CI/CD 배포 - 엘라스틱 빈스톡, RDS 생성
 

1. 엘라스틱 빈스톡 생성하기

notion image
  • 웹서버 환경
    • notion image
  • 애플리케이션이름 : blog / cd할때 이 이름을 찾아서 전달함
  • 환경이름 자동 생성 / 이름 통일 시켜야함
notion image
notion image
 
  • 관련 플랫폼 : 자바
notion image
  • 샘플 애플리케이션
notion image
  • 사용자 지정 구성(배포할 때)
notion image
 

키페어

notion image
 
키페어가 없으므로 만들어야되는데 EC2검색 해서 이 화면들어오기
키페어가 없으므로 만들어야되는데 EC2검색 해서 이 화면들어오기
생성하기
생성하기
 
  • 키 다운받기
notion image
  • 다음
notion image
데이터 베이스는 따로 만들거라 신경 x
다음.
notion image
나중에 수정할거니까 체크하지 말자(엘라스틱빈스톡이 알아서 하나 만들어줄거기 때문에)
오토 스케일링 설정 2대 기본으로 돌다가 2대 꽉차면 자동으로 2대 더 생성
오토 스케일링 설정 2대 기본으로 돌다가 2대 꽉차면 자동으로 2대 더 생성
  • 로드 밸런서의 리스너 포트
notion image
리스너 포트의 역할 : 안바쁜 ec2에게 ‘/’를 때리는 역할
notion image
  • ‘/’는 인증이 필요없음
notion image
  • 팁 이러면 상태코드 무조건 200 그래서 디폴트를 ‘/health’로 하면 200이 뜰 것임 이거 실패한다고 배포 실패했다고는 할 수 없음
 
health
health
notion image
  • 다음
  • 블루 그린 정책으로 설정
  • 두개가 있는데 새로운 2개를 만들었는데 체크가 200이 아닌데 떨어지면 롤백도 안해주고 가만히 나둠
  • 한번에 모듈하면 두개를 서버를 내려버리고 씌워버리니까 무중단 배포가 안됨
notion image
  • 배포 정책
한 번에 모두 (All-at-once) : 게임 업데이트 / 서버 꺼버려야함 → 롤백이 힘듦
  • 새로운 버전을 배포할 때 모든 인스턴스를 한 번에 죽여버리고 새로운 버전으로 대체
  • 트래픽이 짧은 시간 동안 중단될 수 있으며, 롤백이 쉬움
  • 하지만, 모든 인스턴스를 동시에 중단시키므로 사용자에게는 서비스 중단이 느껴질 수 있음
롤링 (Rolling)
  • 일정량의 인스턴스를 차례로 중단하고 새로운 버전으로 업데이트
  • 사용자에게는 서비스 중단이 감소하지만, 롤백이 어려울 수 있음
  • 순차적으로 인스턴스를 업데이트하기 때문에 전체 시스템이 중단되지 않음
변경 불가 (Immutable) / 블루 그린 정책
  • 새로운 버전을 배포할 때 인스턴스를 변경하지 않고, 새로운 인스턴스를 생성하고 이전 버전의 인스턴스를 삭제
  • 롤백이 쉽고, 이전 버전과 새로운 버전이 완전히 분리되어 있어 변경 불가능
트래픽 분할 (Traffic Splitting)
  • 새로운 버전을 일부 인스턴스에 배포하고, 트래픽의 일부를 새로운 버전으로 라우팅
  • 사용자는 일부 트래픽을 새로운 버전에서 받게 되며, 롤백이 쉬움
  • 서비스 중단이 발생하지 않고, 사용자에게 새로운 기능을 안전하게 제공할 수 있음
  • 나중에 변수 DB변수 고쳐야 함
notion image
  • 변수 확실하게 적어야 함
notion image
notion image
  • 검토에서 제출
  • 시간이 꽤 지난 후 생성
notion image
 

2. RDS 생성

notion image

notion image
notion image
notion image
notion image
  • EC2가 RDS에 의존해야함
  • 보안 그룹은 나중에 한꺼번에 하기
 
notion image
notion image
  • 생성

퍼블릭 엑세스 설정 안했을 때

  • 퍼블릭 엑세스 설정 안했을 때의 문제점 → 수정 → 추가 구성 들어가서 설정해줘야 함
notion image
 
notion image
 
RDS의 엔드포인트 확인
RDS의 엔드포인트 확인
 
  • 외부에서 연결하기 위해 내 IP 포트를 열어 주어야한다.
 
RDS의 보안그룹으로 들어가기
RDS의 보안그룹으로 들어가기
 
보안그룹의 인바운드 규칙 들어가기
보안그룹의 인바운드 규칙 들어가기
 
규칙 추가를 누르고 내 IP와 3306 포트 허용해주기
규칙 추가를 누르고 내 IP와 3306 포트 허용해주기
Share article

p4rksk