/////
Search
Duplicate

cicd 과정

기록 날짜
2024/01/15
작성자
장규빈
주제
CI/CD

AWS 설정

1.
IAM 권한 만들기
3.
EC2 생성
ec2 내에 codedeploy-agent 설치
서버 세팅
이미지 만들기(작업 → 이미지 및 템플릿 → 이미지 생성)
4.
시작템플릿 생성
ec2 → 시작 템플릿 → 시작 템플릿 생성
내 AMI중 방금 생성한 이미지 선택
가용영역과 요금에 맞는 인스턴스 유형 선택 (현재 t3.micro)
네트워크 설정은 기존 보안그룹 선택(현재 ec2 보안그룹 →80,8080,22,443)
고급 세부정보에 IAM 인스턴스 프로파일을 선택(방금 만든 Auto Scaling Role)
5.
대상그룹 선택
대상유형은 인스턴스로 진행
HTTP 프로토콜에 8080 포트 입력
현재 사용되는 인스턴스가 있는 vpc 선택
상태검사***
프로토콜 → HTTP
상태 검사 경로 → /actuator/health
성공코드 → 200
고급 상태 검사 설정
간격과 정상 임계 값을 크게 잡으면 Blue Green 배포시 시간을 많이 소모
6.
로드 벨런서 생성
외부로 노출되기 위해 인터넷 경계 선택
네트워크 매핑시 사용할 영역 모두 선택(2a,2b,2c,2d )
리스너 및 라우팅
http → 80 → 그룹선택
리스너 추가
https → 443 → 그룹선택
보안 정책 선택
미리 만들어 놓은 ACM 인증서 선택
7.
Auto Scaling 그룹 생성
시작 템플릿 설정
VPC 설정(2a,2b,2c,2d )
기존 로드 벨런서에 연결 → 대상그룹 선택
Auto Scaling Group 정책 선택원하는 용량, 최소용량,최대 용량(1,1,3)
8.
CodeDeploy 생성
컴퓨팅 플렛폼 → ec2
9.
배포그룹 생성
역활 → CodeDeploy Auto Scaling Role
배포유형 → blue/green
환경 구성 → Amazon EC2 Atuo Scalling 그룹 자동 복사 → 생성한 그룹 선택
배포그룹의 원본 인스턴스 종료 (현재 5분)
배포구성 → CodeDeployDefault.AllAtOnce
로드 벨런서 → 생성된 대상그룹 선택
10.
ECR 생성
퍼블릭 레포지토리 생성

CICD 설정

1.
Dockerfile 작성
2.
appspec.yml 생성
3.
Github Actions 파일 작성

문제

배포 중 AllowTraffic단계에서 무한 로딩후 실패

해결방안

1.
타겟 그룹에서 ec2의 상태 체크가 unhealthy 상태
2.
ec2 도커 로그 확인
3.
환경변수값이 제대로 안들어가서 도커가 무한 재실행 상태
4.
도커 파일 수정
5.
코드 디플로이 파일 수정
6.
타겟 그룹에서 ec2의 상태 체크 확인
7.
재대로 연결 실행

문제

ECR에 파일이 올라가지 않음

해결방안

ECR 재생성후 실행