2단계: Auto Scaling 그룹에 애플리케이션 배포 - AWS CodeDeploy

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

2단계: Auto Scaling 그룹에 애플리케이션 배포

이 단계에서는 Auto Scaling 그룹의 단일 Amazon EC2 인스턴스에 수정 버전을 배포합니다.

배포를 만들려면(CLI)

  1. create-application 명령을 호출하여 SimpleDemoApp이라는 애플리케이션을 생성합니다.

    aws deploy create-application --application-name SimpleDemoApp
  2. 2단계: CodeDeploy에 대한 서비스 역할 생성의 지침에 따라 이미 서비스 역할을 만들었을 것입니다. 서비스 역할은 CodeDeploy에 Amazon EC2 인스턴스에 액세스하여 태그를 확장할(읽을) 수 있는 권한을 부여합니다. 서비스 역할 ARN이 필요합니다. 서비스 역할 ARN을 확인하려면 서비스 역할 ARN 확인(CLI) 의 지침을 따르십시오.

  3. 이제 서비스 역할 ARN이 있으므로 지정된 서비스 역할 ARN으로 create-deployment-group 명령을 호출하고 CodeDeployDemo-AS-Group이라는 Auto Scaling 그룹과 CodeDeployDefault.OneAtATime이라는 배포 구성을 사용하여 SimpleDemoDG라는 배포 그룹을 생성하고 SimpleDemoApp이라는 애플리케이션에 연결합니다.

    참고

    create-deployment-group 명령은 배포 및 인스턴스의 지정된 이벤트에 대해 주제의 구독자에게 Amazon SNS 알림을 전송하게 하는 트리거를 생성합니다. 또한 해당 명령은 Amazon CloudWatch 경보 모니터링 임계값에 도달한 경우 자동으로 배포를 롤백하고 배포를 중지하도록 경보를 설정하는 옵션을 지원합니다. 이 작업에 대한 명령은 이 자습서에 포함되지 않습니다.

    로컬 Linux, macOS 또는 Unix 머신의 경우

    aws deploy create-deployment-group \ --application-name SimpleDemoApp \ --auto-scaling-groups CodeDeployDemo-AS-Group \ --deployment-group-name SimpleDemoDG \ --deployment-config-name CodeDeployDefault.OneAtATime \ --service-role-arn service-role-arn

    로컬 Windows 머신의 경우

    aws deploy create-deployment-group --application-name SimpleDemoApp --auto-scaling-groups CodeDeployDemo-AS-Group --deployment-group-name SimpleDemoDG --deployment-config-name CodeDeployDefault.OneAtATime --service-role-arn service-role-arn
  4. create-deployment 명령을 호출하고 지정된 위치의 수정을 사용하여 SimpleDemoApp이라는 애플리케이션, CodeDeployDefault.OneAtATime이라는 배포 구성 및 SimpleDemoDG라는 배포 그룹과 연결된 배포를 만듭니다.

    Amazon Linux 및 RHEL Amazon EC2 인스턴스의 경우 로컬 Linux, macOS 또는 Unix 시스템에서 호출

    aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Linux.zip

    bucket-name은 해당 리전의 CodeDeploy 리소스 키트 파일이 포함되어 있는 Amazon S3 버킷의 이름입니다. 예를 들어 미국 동부(오하이오) 리전의 경우 bucket-nameaws-codedeploy-us-east-2로 바꿉니다. 버킷 이름 목록은 리전별 리소스 키트 버킷 이름 단원을 참조하세요.

    Amazon Linux 및 RHEL Amazon EC2 인스턴스의 경우 로컬 Windows 시스템에서 호출

    aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Linux.zip

    bucket-name은 해당 리전의 CodeDeploy 리소스 키트 파일이 포함되어 있는 Amazon S3 버킷의 이름입니다. 예를 들어 미국 동부(오하이오) 리전의 경우 bucket-nameaws-codedeploy-us-east-2로 바꿉니다. 버킷 이름 목록은 리전별 리소스 키트 버킷 이름 단원을 참조하세요.

    Windows Server Amazon EC2 인스턴스의 경우 로컬 Linux, macOS 또는 Unix 시스템에서 호출

    aws deploy create-deployment \ --application-name SimpleDemoApp \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name SimpleDemoDG \ --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Windows.zip

    bucket-name은 해당 리전의 CodeDeploy 리소스 키트 파일이 포함되어 있는 Amazon S3 버킷의 이름입니다. 예를 들어 미국 동부(오하이오) 리전의 경우 bucket-nameaws-codedeploy-us-east-2로 바꿉니다. 버킷 이름 목록은 리전별 리소스 키트 버킷 이름 단원을 참조하세요.

    Windows Server Amazon EC2 인스턴스의 경우 로컬 Windows 시스템에서 호출

    aws deploy create-deployment --application-name SimpleDemoApp --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name SimpleDemoDG --s3-location bucket=bucket-name,bundleType=zip,key=samples/latest/SampleApp_Windows.zip

    bucket-name은 해당 리전의 CodeDeploy 리소스 키트 파일이 포함되어 있는 Amazon S3 버킷의 이름입니다. 예를 들어 미국 동부(오하이오) 리전의 경우 bucket-nameaws-codedeploy-us-east-2로 바꿉니다. 버킷 이름 목록은 리전별 리소스 키트 버킷 이름 단원을 참조하세요.

    참고

    현재 CodeDeploy 는 Ubuntu Server Amazon EC2 인스턴스를 배포하기 위한 샘플 수정 버전을 제공하지 않습니다. 수정을 직접 만들려면 CodeDeploy의 애플리케이션 개정 작업 단원을 참조하세요.

  5. get-deployment 명령을 호출하여 배포에 성공했는지 확인합니다.

    이 명령을 호출하기 전에 배포 ID가 필요합니다. 이 ID는 create-deployment 명령에 대한 호출로 반환되어야 합니다. 배포 ID를 다시 가져와야 할 경우 list-deployments이라는 애플리케이션 및 SimpleDemoApp라는 배포 그룹에 대해 SimpleDemoDG 명령을 호출하세요.

    aws deploy list-deployments --application-name SimpleDemoApp --deployment-group-name SimpleDemoDG --query "deployments" --output text

    이제 배포 ID를 사용하여 get-deployment 명령을 호출합니다.

    aws deploy get-deployment --deployment-id deployment-id --query "deploymentInfo.status" --output text

    반환된 값이 Succeeded일 때까지 계속하지 마십시오.

배포를 만들려면(콘솔)

  1. 2단계: CodeDeploy에 대한 서비스 역할 생성의 지침에 따라 이미 서비스 역할을 만들었을 것입니다. 서비스 역할은 CodeDeploy에 인스턴스에 액세스하여 태그를 확장할(읽을) 수 있는 권한을 부여합니다. CodeDeploy 콘솔을 사용하여 애플리케이션 수정을 배포하기 전에 서비스 역할 ARN이 필요합니다. 서비스 역할 ARN을 확인하려면 서비스 역할 ARN 확인(콘솔) 의 지침을 따르십시오.

  2. 이제 서비스 역할 ARN이 있으므로 CodeDeploy 콘솔을 사용하여 애플리케이션 수정을 배포할 수 있습니다.

    AWS Management Console에 로그인한 후 https://console.aws.amazon.com/codedeploy에서 CodeDeploy 콘솔을 엽니다.

    참고

    CodeDeploy 시작하기에서 설정한 사용자와 동일한 사용자로 로그인합니다.

  3. 탐색 창에서 배포를 확장하고 애플리케이션을 선택합니다.

  4. 애플리케이션 생성을 선택합니다.

  5. 사용자 지정 애플리케이션을 선택합니다.

  6. 애플리케이션 이름SimpleDemoApp을 입력합니다.

  7. 컴퓨팅 플랫폼에서 EC2/온프레미스를 선택합니다.

  8. 애플리케이션 생성을 선택합니다.

  9. 배포 그룹 탭에서 Create deployment group(배포 그룹 생성)을 선택합니다.

  10. Deployment group name(배포 그룹 이름)SimpleDemoDG을 입력합니다.

  11. 서비스 역할에서 서비스 역할의 이름을 선택합니다.

  12. 배포 유형에서 In-place(현재 위치)를 선택합니다.

  13. 환경 구성(Environment configuration)에서 Auto Scaling 그룹(Auto Scaling groups)을 선택한 다음 CodeDeployDemo-AS-Group을 선택합니다.

  14. 배포 구성에서 CodeDeployDefault.OneAtATime을 선택합니다.

  15. 로드 밸런싱 활성화의 선택을 취소합니다.

  16. [Create deployment group]을 선택합니다.

  17. 배포 그룹 페이지에서 배포 생성을 선택합니다.

  18. 수정 유형에서 내 애플리케이션은 Amazon S3에 저장됨을 선택합니다.

  19. 수정 위치에 운영 체제 및 리전에 적합한 샘플 애플리케이션의 위치를 입력합니다.

    Amazon Linux 및 RHEL Amazon EC2 인스턴스의 경우

    리전(Region) 샘플 애플리케이션의 위치
    미국 동부(오하이오) 리전 http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/samples/latest/SampleApp_Linux.zip
    리전 - 미국 동부(버지니아 북부) http://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Linux.zip
    미국 서부(캘리포니아 북부) 리전 http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/samples/latest/SampleApp_Linux.zip
    미국 서부(오레곤) 리전 http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/samples/latest/SampleApp_Linux.zip
    캐나다(중부) 리전 http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/samples/latest/SampleApp_Linux.zip
    Europe (Ireland) Region http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/samples/latest/SampleApp_Linux.zip
    유럽(런던) 리전 http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/samples/latest/SampleApp_Linux.zip
    유럽(파리) 리전 http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/samples/latest/SampleApp_Linux.zip
    유럽(프랑크푸르트) 리전 http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/samples/latest/SampleApp_Linux.zip
    이스라엘(텔아비브) 리전 https://aws-codedeploy-il-central-1.s3.il-central-1.amazonaws.com/samples/latest/SampleApp_Linux.zip
    아시아 태평양(홍콩) 리전 https://aws-codedeploy-ap-east-1.s3.ap-east-1.amazonaws.com/samples/latest/SampleApp_Linux.zip
    Asia Pacific (Tokyo) Region http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/samples/latest/SampleApp_Linux.zip
    아시아 태평양(서울) 리전 http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/samples/latest/SampleApp_Linux.zip
    Asia Pacific (Singapore) Region http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/samples/latest/SampleApp_Linux.zip
    Asia Pacific (Sydney) Region http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/samples/latest/SampleApp_Linux.zip
    아시아 태평양(멜버른) 리전 https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/samples/latest/SampleApp_Linux.zip
    아시아 태평양(뭄바이) 리전 http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/samples/latest/SampleApp_Linux.zip
    남아메리카(상파울루) 리전 http://s3-sa-east-1.amazonaws.com/aws-codedeploy-sa-east-1/samples/latest/SampleApp_Linux.zip

    Windows Server Amazon EC2 인스턴스의 경우

    리전(Region) 샘플 애플리케이션의 위치
    미국 동부(오하이오) 리전 http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/samples/latest/SampleApp_Windows.zip
    리전 - 미국 동부(버지니아 북부) http://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Windows.zip
    미국 서부(캘리포니아 북부) 리전 http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/samples/latest/SampleApp_Windows.zip
    미국 서부(오레곤) 리전 http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/samples/latest/SampleApp_Windows.zip
    캐나다(중부) 리전 http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/samples/latest/SampleApp_Windows.zip
    Europe (Ireland) Region http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/samples/latest/SampleApp_Windows.zip
    유럽(런던) 리전 http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/samples/latest/SampleApp_Windows.zip
    유럽(파리) 리전 http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/samples/latest/SampleApp_Windows.zip
    유럽(프랑크푸르트) 리전 http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/samples/latest/SampleApp_Windows.zip
    이스라엘(텔아비브) 리전 https://aws-codedeploy-il-central-1.s3.il-central-1.amazonaws.com/samples/latest/SampleApp_Windows.zip
    아시아 태평양(홍콩) 리전 https://aws-codedeploy-ap-east-1.s3.ap-east-1.amazonaws.com/samples/latest/SampleApp_Windows.zip
    아시아 태평양(서울) 리전 http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/samples/latest/SampleApp_Windows.zip
    Asia Pacific (Singapore) Region http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/samples/latest/SampleApp_Windows.zip
    Asia Pacific (Sydney) Region http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/samples/latest/SampleApp_Windows.zip
    아시아 태평양(멜버른) 리전 https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/samples/latest/SampleApp_Windows.zip
    아시아 태평양(뭄바이) 리전 http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/samples/latest/SampleApp_Windows.zip
    남아메리카(상파울루) 리전 http://s3-sa-east-1.amazonaws.com/aws-codedeploy-sa-east-1/samples/latest/SampleApp_Windows.zip

    Ubuntu Server Amazon EC2 인스턴스의 경우

    Amazon S3에 저장된 사용자 지정 애플리케이션 수정의 위치를 입력합니다.

  20. 배포 설명은 비워 둡니다.

  21. 고급을 확장합니다.

  22. 배포 만들기를 선택합니다.

    참고

    성공(Succeeded) 대신 실패(Failed)가 나타난 경우 배포 모니터링 및 문제 해결(애플리케이션 이름 SimpleDemoApp, 배포 그룹 이름 SimpleDemoDG를 사용하여)에서 몇 가지 기술을 시도할 수 있습니다.