IaaS/퍼블릭클라우드

(AWS) Code Deploy 대상의 다양한 타입들

armyost 2022. 1. 7. 16:59
728x90

1 On-Premise에 적용

우선 지원되는 OS는 다음과 같다.  

  • Amazon Linux 2018.03.x, 2017.03.x, 2016.09.x, 2016.03.x, 2014.09.x
  • Amazon Linux 2(ARM, x86)
  • Ubuntu Server 20.10, 20.04 LTS, 18.04 LTS, 16.04 LTS 및 14.04 LTS
  • Microsoft Windows Server 2019, 2016, 2012 R2 및 2008 R2
  • Red Hat Enterprise Linux(RHEL) 7.x

방법은 대체로 EC2에 Manual하게 수행하는 과정과 비슷하다. 

 

1) IAM User는 S3 Read-Only권한만 있는 사용자를 생성한다. 

 

2) AWS사용자 프로그래밍 방식 엑세스 키를 등록할 파일을 만듭니다 .

경로는 /etc/codedeploy-agent/conf 이며 conf.onpremises.yml 의 이름으로 만들고 다음을 입력합니다. 물론 생성한 사용자 정보도 입력해야겠죠. 

---
aws_access_key_id: ~~~~~~
aws_secret_access_key: AKA~~~
iam_user_arn: ~~~~
region: ~~~~

 

3) AWS CLI를 설치한다. 

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install

4) 이제 EC2인스턴스에 CodeDeploy를 설치하는 절차와 같습니다. 

 

 

2 Lambda Function에 적용

1) [Developer Tools]-[CodeDeploy]-[Applications]에서 Create Application으로 어플리케이션을 생성한다. 이때 Compute platform을 Lambda로 선택한다. 

 

2) Create Deployment Group을 눌러 그룹을 정의한다. 

여기서 Service Role은 IAM에서 CodeDeploy for Lambda Usecase로 정의한다. 

 

3) Deployment Settings의 Deployment configuration 은 LambdaAllAtOnce 외 수많은 방법을 가이드한다. 여기서 Lambda가 강점이 있다. 

 

※ Lambda의 경우 Hook의 내용도 간결하다.