Code Deploy가 다른 AWS Resource에 접근하려면 권한이 필요하다. 그 권한을 부여해주는 기능이 IAM의 역할(Role)이다.


CodeDeploy선택 - [다음]






code-deploy-role을 선택한다.
Amazone EC2 인스턴스 선택 -> ${인스턴스 명}(cicd-ex) 선택

EC2가 빌드된 파일을 S3로부터 다운받아야 한다. 이 때, EC2가 S3에 접근하려면 권한(정책)이 필요하다. 그 권한을 부여해주는 기능이 IAM의 역할(Role)이다. 역할은 여러 정책을 가질 수 있다.



{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:Get*",
"s3:List*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}

[정책 이름] 작성



EC2선택 - [다음]



[EC2] 인스턴스에서 [작업] - [보안] - [IAM 역할 수정]

방금 만든 역할인 [code-deploy-ec2-role] 선택

참고) 혹시나 Code Deploy Agent를 먼저 설치한 뒤에 EC2에 IAM 역할을 부여했다면 EC2에서 아래 명령어로 codedeploy-agent를 재시작시켜주어야 한다.
$ sudo systemctl restart codedeploy-agent
EC2에 설치하는 프로그램으로, CodeDeploy에서 해당 ec2를 사용할 수 있도록 하는 프로그램.
공식문서
$ sudo apt update && \
sudo apt install -y ruby-full wget && \
cd /home/ubuntu && \
wget https://aws-codedeploy-ap-northeast-2.s3.ap-northeast-2.amazonaws.com/latestv2/install
chmod +x ./install
sudo ./install auto

$ systemctl status codedeploy-agent



AWSCodeDeployFullAccess, AmazonS3FullAccess)[권한 옵션] - [직접 정책 연결]

AWSCodeDeployFullAccess 와 AmazonS3FullAccess 선택 - [다음]

[사용자 생성]






참고로 이 화면 이후에는 확인할 수 없다!!

Github Actions의 Secrets 값을 잘 저장해둔다.



