CRA로 만든 리액트 앱을 빌드하고, CI/CD 파이프라인을 구축해 Github Actions을 통한 AWS 배포 자동화하기
서버는 보통 EC2 + LoadBalancing + Auto Scaling 을,
웹 프론트는 S3 + CloudFront 를 사용해 배포합니다.
저는 배포하는 과정을 IAM -> S3 -> Cloudfront -> github action 순서로 알려드리고자 합니다.
먼저 사용자가 액세스할 수 있는 AWS 리소스를 제어하기 위한 IAM 사용자 생성 후
사용자가 AWS 리소스에 접근할 수 있도록 액세스 키를 발급받아보겠습니다.
루트계정으로 로그인 후 왼쪽 상단바에 IAM 클릭
왼쪽 내브바에서
사용자클릭
우측 상단사용자 생성클릭
1단계. 사용자 세부 정보 지정
원하는 사용자 이름 작성 후
다음클릭
2단계. 권한 설정
직접 정책 연결선택
권한 정책에서AmazonS3FullAccess선택
CloudFront 사용 예정이면CloudFrontAllAccess도 선택
3단계. 검토 및 생성
사용자 생성클릭 후.csv 파일 다운로드
- 콘솔 로그인 URL에서 signin 앞에 숫자가 IAM 계정으로 로그인할때 쓰이는 계정 별칭
- csv 파일에서 콘솔 로그인 URL, 사용자 이름, 콘솔 암호 확인 가능
사용자 목록으로 돌아가기를 누르면 사용자가 생성되어 있음!
액세스 키는 AWS 계정에 액세스하기 위한 인증 정보 중 하나로
Access key ID, Secret access key 쌍으로 이루어집니다.
AWS 자원에 접근하거나, API를 호출할 때 사용하는 것입니다.
사용자 이름(eggplant-market)을 클릭하면 다음과 같은 화면이 나오고
액세스 키 만들기클릭
또는 아래 탭보안 자격 증명에서 액세스 키 만들기도 가능
로컬 코드 선택 후 다음
- S3 배포를 위해 IAM 계정을 생성했다면, 사용 사례는 주로 Command Line Interface(CLI)와 로컬 코드를 사용함 (본인의 프로젝트에 맞게 선택)
Access key ID, Secret access key 쌍을 얻을 수 있음
.csv 파일 다운로드를 통해 안전한 곳에 보관