codeDeploy 어플리케이션 실행을 aws cli로 한다

jinwook han·2020년 9월 30일
1

책 '서비스 운영이 쉬워지는 AWS 인프라 구축 가이드' 6장 내용에 aws cli 내용을 덧붙였습니다.

순서:

  1. ami를 만든다.
  2. launch template을 만든다.
  3. 2에서 만든 launch template을 auto scaling group에 붙인다.
  4. codeDeploy Application을 만든다.
  5. 배포 그룹을 만든다.
  6. 배포를 진행한다.(배포를 생성한다.)

aws cli 활용:

1. ami를 만든다.

aws ec2 create-image --instance-id codeDeploy_예시_인스턴스_id \
 --name "codeDeploy_예시_ami" --description "codeDeploy ami 예시"

이 때 codeDeploy예시인스턴스에는 codeDeploy agent가 깔려 있어야 합니다.

2. launch template을 만든다.

aws ec2 create-launch-template \
    --launch-template-name codedeploy-experiment-launch-template \
    --launch-template-data '{"ImageId": "codeDeploy_예시_ami_id","SecurityGroupIds":["알맞는_security_group_id"],"KeyName": "알맞는_key","InstanceType":"알맞는_인스턴스_타입","IamInstanceProfile": {"Arn":"알맞는_역할의_arn"}}'

launch template을 만드는데 필요한 securityGroup, Key, role은 이미 만들어져 있다고 가정합니다.(명령어로 만드는 과정은 생략합니다)

3. 2에서 만든 launch template을 auto scaling group에 붙인다.

aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name codeDeploy_예시_auto_scaling_group \
--launch-template '{"LaunchTemplateId": "codedeploy-experiment-launch-template_아이디"}'

4. codeDeploy application을 만든다.

aws deploy create-application --application-name code-deploy-example --compute-platform "Server"

5. 배포 그룹을 만든다.

aws deploy create-deployment-group \
--application-name code-deploy-example \
--auto-scaling-groups codeDeploy_예시_auto_scaling_group \
--deployment-group-name deploy-group-example \
--service-role-arn 알맞는_역할의_arn \
--deployment-style '{"deploymentType":"IN_PLACE","deploymentOption": "WITH_TRAFFIC_CONTROL"}' \
--load-balancer-info '{"targetGroupInfoList":[{"name":"target_group_예시"}]}'

6. 배포를 진행한다.

aws deploy create-deployment \
--application-name code-deploy-example \
--deployment-group-name deploy-group-example \
--revision '{"revisionType":"GitHub", "gitHubLocation":{"repository":"deopard/aws-exercise-a","commitId":"84f927f9598d0b821cf5e876e3bc7f61d040d8f4"}}'

0개의 댓글