CICD를 구성하기전에 우선은 배포를 위한 서버 자원(S3, CloudFront, IAM)을 생성하고, AWS CLI를 사용해보자.
S3만들기
클라우드 프론트를 통해 OAC설정을 할것이기에 ACL비활성화, 퍼블릭 엑세스 차단설정을 해도된다.
CloudFront배포 만들기
원본 도메인으로 S3 버킷을 연결시켜주자.
OAC설정하기
클라우드 프론트로만 S3에 접근할 수 있도록 S3의 정책을 변경해주자
S3에 파일을 업로드 하기
웹 콘솔에서 업로드 버튼 누르기
사실 업로드하는 방법은 간단하다. AWS 콘솔에서 업로드 버튼을 누르면 된다 허허
그런데 git에 push 할때마다, 직접 빌드하고 빌드한 파일을 업로드 하기에는... 우리는 너무 할일이 많고, 충분히 자동화시킬 수 있는 부분이다.
그래서 github actions를 사용해줄 것이다.
AWS CLI이용하기
AWS에서는 CLI를 제공한다.
CLI란 Command Line Interface로, 웹에 접근할 필요없이 명령어를 한줄씩 입력시켜 일을 할 수 있게 만든 것이다.
따라서 이걸 활용하면 cli를 통해 s3로 자원을 업로드 할 수 있다. 이걸 조금 더활용하면 github actions에서 자원을 업로드 시킬 수 있는 것이다.
이해도를 높히기 위해서 github actions에서 바로 사용하기 전에 로컬환경에서 AWS CLI를 설치해서 먼저 사용해보는걸 추천한다. (나는 설치했다.)
https://aws.amazon.com/ko/cli/
공식 문서가 꽤나 친절해서 좋았다.
여기서부터는 로컬환경에 AWS CLI를 설치해서 진행했다.
AWS CLI세팅
configure설정하기
어떤 계정의 어떤 자원인지 AWS CLI는 모른다.
따라서 계정에 대한 설정을 해주어야한다.
IAM만들기
위처럼 CLI를 통해 자원(S3, Cloudfront등)에 설정하기 위해서는 Access key와 Secret Access Key가 필요하다.
이는 IAM계정에 접근할 수 있는 키이다. 그러려면 IAM을 만들어야한다.
IAM을 만들어주자. (Access Key와 Secret Access Key를 발급받아주자)
권한은 S3와 CloudFront에 대한 권한을 주었다.
IAM을 생성한 후에, 보안자격 증명 탭에서 Access Key와 Secret Access Key를 발급받으면 된다.
이제 만들어준 IAM계정에 대한 Access key와 Secret Access key를 사용해서 AWS configure로 설정해줄 수 있다.
Cli로 S3에 업로드
이렇게 사용하면 S3버킷에 자원을 업로드할 수 있다.
이걸로 S3에 자원을 직접 업로드해보자.
잘 업로드 된 것을 볼 수 있다.
이제 이걸 활용해서 CICD를 구성해보자.