AWS&Github Actions를 사용한 CI/CD A~Z까지
AWS&Github Actions를 사용한 CI/CD A~Z까지

AWS&Github Actions를 사용한 CI/CD A~Z까지

Tags
Node.js
Web Dev
Projects
CI/CD
AWS
Github Actions
Published
February 3, 2024
Author
gozneokhan
 

EC2 생성하기

AWS 홈페이지에 접속하여 회원가입을 진행 합니다.
AWS 홈페이지에 로그인 후 지역 설정을 합니다.(저는 서울로 진행했습니다.)
notion image
AWS 홈페이지 콘솔 홈 왼쪽 상단에 있는 검색 창에 EC2를 검색하여 추가해줍니다.
notion image
EC2를 선택 후 이동하여 왼쪽 네비게이션 바에서 인스턴스를 선택합니다.
notion image
처음엔 인스턴스가 없는게 정상입니다. 오른쪽 상단에 인스턴스 시작을 클릭합니다.
notion image
이름을 작성하고 Ubuntu 선택 > Ubuntu Server Type 프리티어 확인 > 64비트(x86) 순으로 진행합니다.
notion image
인스턴스 유형은 그냥 넘어가시면 됩니다.
notion image
 
이제 EC2 인스턴스에 접속할 때 인증에 필요한 keypair를 생성해줘야 합니다. (추가 클릭 시 화면)
notion image
 
notion image
키 페어 생성   keypair 다운로드 완료 후 추가로 권한 조정을 진행해야합니다. (일단 뒤로 미룹니다.)
notion image
Allow SSH traffic from 옆 내 IP로 설정합니다.
notion image
우측 하단에 있는 인스턴스 시작을 클릭합니다.
notion image
생성된 인스턴스를 확인해 줍니다.
notion image
IAM 역할을 만들고 연결할 때, 찾기 편하게 하기 위해 태그를 저장을 합니다.
notion image
새로운 태그 추가를 통해 키를 태그를 새로 지정하고 저장을 클릭합니다.
notion image

2. IAM 역할 추가하기

EC2 인스턴스에서 S3에 올려놓는 파일에 접근할 수 있도록 권한을 추가해줘야 합니다.
IAM 역할 페이지로 이동합니다.
notion image
우측 상단에 역할 생성을 클릭합니다.
notion image
AWS 서비스 체크 후 사용 사례는 EC2를 선택하고 다음을 클릭합니다.
notion image
권한 추가에서 S3에 있는 모든 역할을 가져오기 위해 AmazonS3FullAccess 선택 후 다음을 클릭합니다.
notion image
역할 이름을 지정하고 역할 생성을 클릭합니다.
notion image
notion image
EC2 인스턴스 관리 페이지로 이동해서 작업 > 보안 > IAM 역할 수정을 진행합니다.
notion image
IAM 역할 업데이트를 클릭하면 해당 인스턴스는 S3의 AmazonS3FullAccess 권한을 얻게 됩니다. 그래서 내부에서 접근하는 코드를 실행했을 때 접근할 수 있는 권한이 생긴 겁니다.
notion image
해당 인스턴스에 CodeDeploy Agent 설치을 위해 우측 상단에 있는 연결을 클릭합니다.
notion image
아래 ssh -i “” 쪽을 복사하고 터미널을 실행 > .pem key 위치로 이동 (따로 옮기지 않았다면 cd downloads 이동)> 복사한 ssh를 붙여 넣습니다.
notion image
notion image

해당 인스턴스에 CodeDeploy Agent 설치

$ sudo apt update $ sudo apt install ruby-full $ sudo apt install wget $ cd /home/ubuntu $ wget https://aws-codedeploy-ap-northeast-2.s3.ap-northeast-2.amazonaws.com/latest/install $ chmod +x ./install $ sudo ./install auto > /tmp/logfile $ sudo service codedeploy-agent status

3. AWS S3 생성