codedeploy-setup-and-iam-configuration
✅ 1. CodeDeploy 역할(Role) 생성하기
🧑🏻
Code Deploy가 다른 AWS Resource에 접근하려면 권한이 필요하다. 그 권한을 부여해주는 기능이 IAM의 역할(Role)이다.
✅ 2. CodeDeploy 생성하기
- CodeDeploy 애플리케이션 생성
- CodeDeploy 배포그룹 생성
✅ 3. EC2 역할(Role) 생성하기
🧑🏻
EC2가 빌드된 파일을 S3로부터 다운받아야 한다. 이 때, EC2가 S3에 접근하려면 권한이 필요하다. 그 권한을 부여해주는 기능이 IAM의 역할(Role)이다.
- 정책 생성
- 권한 지정하기
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:Get*",
"s3:List*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
- 정책 세부 설정
- 역할 생성
- EC2에 생성한 IAM 역할 연결하기
- 참고) 혹시나 Code Deploy Agent를 먼저 설치한 뒤에 EC2에 IAM 역할을 부여했다면 EC2에서 아래 명령어로 codedeploy-agent를 재시작시켜주어야 한다.
$ sudo systemctl restart codedeploy-agent
참고
✅ 4. Code Deploy Agent 설치하기
🧑🏻
Code Deploy Agent가 다른 AWS Resource에 접근하려면 권한이 필요하다. 그 권한을 부여해주는 기능이 IAM의 역할(Role)이다.
[Ubuntu 22.04. 기준]
$ 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/latest/install && \
chmod +x ./install && \
sudo ./install auto
[Code Deploy Agent가 정상적으로 실행되고 있는 지 확인]
$ systemctl status codedeploy-agent
✅ 5. Github Actions가 CodeDeploy, S3에 접근할 수 있게 IAM 발급
- IAM 사용자 생성
- 직접 정책 연결 (
AWSCodeDeployFullAccess, AmazonS3FullAccess)
보안 자격 증명에 들어가서 액세스 키 만들기
액세스 키와 비밀 액세스 키 잘 보관해두기
✅ 6. Github Actions의 Secret Key에 저장해두기
✅ 7. 배포 전에 프로젝트 파일 저장할 S3 만들기