-
Notifications
You must be signed in to change notification settings - Fork 0
Build CICD pipeline with Github Action ‐2 : AWS settings (EC2,S3,IAM,codeDeploy)
HaileyKim edited this page Aug 13, 2023
·
3 revisions
Written by Dayeon Kim
앞장에서는 그림만 넣어두었다면 이번 위키에서는 약간의 설명을 덧붙여놓겠음
- main branch에 pull 발생
- Github Action의
deploy.yml
코드 빌드 - AWS code deploy 실행
- 프로젝트 빌드 후 압축하여 s3에 push
- code deploy 실행
- ec2에 배포 명령
appspec.yml
파일 참조 - s3에서 파일 가져와 쉘 스크립트 실행
AWS EC2 인스턴스는 서버를 중지하고 다시 실행시키면 퍼블릭 IP 가 변경되기 때문에 클라이언트가 사용할 수 있는 변하지 않는 IP 가 필요
탄력적 IP란 외부에서 인스턴스에 접근 가능한 고정 IP
ssh mykeyhost
으로 바로 접속 가능하도록 config 파일 세팅
인바운드 : 외부 → ec2 인스턴스 내부 허용
아웃바운드 : ec2 인스턴스 내부 → 외부 허용
인바운드 규칙 추가 - 로컬 PC에서 서버에 접속 가능하도록 ssh 추가하고 소스를 내 IP로 설정
자동화말고 일단 그냥 뜨는지부터 확인
컴파일러 버전 에러가 떳지만 나머지는 문제 없으므로 바로 CICD로 넘어갔음
Code Deploy에서 인스턴스를 연결해주기 위해서 tag 등록
- AmazonS3FullAccess EC2에서 S3에 접근할 수 있도록 권한 만들고 인스턴스에 연결해준다
EC2 인스턴스 열고 공식문서 링크를 따라치면 됨. 공식문서 굿
사용사례에서 codeDeploy를 선택하고 그대로 만들면 됨
ec2/온프레미스 옵션으로 선택
방금 만든 application에서 배포그룹 생성
3-1에서 만든 IAM 선택해주고, 아까 Ec2에 달아준 tag와도 연결시켜주면 끝
버킷 생성
앞에서 한건 S3,EC2에게 권한 부여, 지금은 사용자 추가
- AWSCodeDeployFullAccess
- AmazonS3FullAccess
Access Key발급받아서 꼭 저장해두기 (Github의 Secret에 저장해놓았음)