인프라 업데이트 수행 - AWS Batch

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

인프라 업데이트 수행

인프라 업데이트는 컴퓨팅 환경의 인스턴스를 설정을 업데이트한 새 인스턴스로 대체합니다. 이 업데이트 전략은 업데이트 규모 조정보다 오래 걸리며 특정 서비스 역할 및 할당 전략 설정이 필요합니다. 인프라 업데이트는 서비스 가용성을 유지하면서 기본 컴퓨팅 환경 구성을 수정하는 방법을 제공합니다.

중요

인프라 업데이트에는 AWSServiceRoleForBatch 서비스 연결 역할과 BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED또는의 할당 전략이 필요합니다SPOT_PRICE_CAPACITY_OPTIMIZED. 환경이 이러한 요구 사항을 충족하지 않는 경우 대신 블루/그린 업데이트를 사용합니다.

인프라 업데이트를 트리거하는 변경 사항

다음 설정 중 하나를 수정하면가 인프라 업데이트를 AWS Batch 수행합니다. 인프라 업데이트는 조정 업데이트 설정과 함께 이러한 설정을 수정할 때도 발생합니다.

다음 설정은 인프라 업데이트를 트리거합니다.

컴퓨팅 구성

  • allocationStrategy -가 인스턴스 유형을 AWS Batch 선택하는 방법을 결정합니다.

  • instanceTypes - 사용할 EC2 인스턴스 유형을 지정합니다.

  • bidPercentage - 스팟 인스턴스에 대한 온디맨드 가격의 최대 백분율입니다.

  • type - 컴퓨팅 환경 유형(EC2 또는 SPOT).

AMI 및 시작 구성

  • imageId - 인스턴스에 사용할 특정 AMI입니다.

  • ec2Configuration -를 포함한 EC2 구성입니다imageIdOverride.

  • launchTemplate - EC2 시작 템플릿 설정입니다.

  • ec2KeyPair - 인스턴스 액세스를 위한 SSH 키 페어입니다.

  • updateToLatestImageVersion - 자동 AMI 업데이트 설정입니다.

네트워킹 및 보안

  • subnets - 인스턴스가 시작되는 VPC 서브넷(EC2 컴퓨팅 환경용).

  • securityGroupIds - 인스턴스의 보안 그룹(EC2 컴퓨팅 환경의 경우).

  • placementGroup - EC2 배치 그룹 구성입니다.

기타 설정

  • instanceRole - EC2 인스턴스에 대한 IAM 역할입니다.

  • tags - EC2 인스턴스에 적용된 태그입니다.

중요

인프라 업데이트 설정을 조정 업데이트 설정(예: desiredvCpus, maxvCpus또는 minvCpus)과 함께 수정하면가 인프라 업데이트를 AWS Batch 수행합니다. 인프라 업데이트는 규모 조정 업데이트보다 오래 걸립니다.

인프라 업데이트 중 AMI 선택

인프라 업데이트 중에 AMI가 이 세 가지 설정 중 어디에 설정되었는지에 따라 컴퓨팅 환경의 AMI ID가 변경될 수 있습니다. AMI는 imageId(computeResources에서), imageIdOverride(ec2Configuration에서)에서 지정되거나 아니면 시작 템플릿이 launchTemplate에 지정됩니다. AMI ID가 아무런 설정에도 지정되어 있지 않고 updateToLatestImageVersion 설정이 true라고 가정해 보겠습니다. 그런 다음에서 지원하는 최신 Amazon ECS 최적화 AMI AWS Batch 가 모든 인프라 업데이트에 사용됩니다.

AMI ID가 이러한 설정 중 하나 중에 지정되면 업데이트 전에 사용한 AMI ID 제공 설정에 따라 업데이트가 달라집니다. 컴퓨팅 환경을 생성할 때 AMI ID 선택 우선 순위는 가장 먼저 시작 템플릿, 그리고 imageId 설정, 마지막으로 imageIdOverride 설정입니다. 하지만 사용한 AMI ID를 시작 템플릿에서 가져오면 imageId 또는 imageIdOverride 설정은 AMI ID를 업데이트하지 않습니다. 시작 템플릿에 선택된 AMI ID를 업데이트하는 유일한 방법은 시작 템플릿을 업데이트하는 것입니다. 시작 템플릿의 버전 파라미터가 $Default 혹은 $Latest인 경우 지정된 시작 템플릿의 기본 버전 또는 최신 버전이 평가됩니다. 기본적으로 다른 AMI ID를 선택하거나 시작 템플릿의 최신 버전을 선택한 경우 해당 AMI ID가 업데이트에 사용됩니다.

시작 템플릿에 AMI ID를 선택하지 않은 경우 imageId 또는 imageIdOverride 파라미터에 지정된 AMI ID가 사용됩니다. 둘 다 지정된 경우 imageIdOverride 파라미터에 지정된 AMI ID가 사용됩니다.

컴퓨팅 환경에 또는 imageId, imageIdOverride, 혹은 launchTemplate 파라미터로 지정한 AMI ID를 사용하고 AWS Batch에서 지원하는 최신 Amazon ECS 최적화 AMI를 사용하기를 원한다고 가정해 보겠습니다. 그러면 업데이트는 AMI ID를 제공한 설정을 제거해야 합니다. imageId의 경우, 해당 파라미터에 빈 문자열을 지정해야 합니다. imageIdOverride의 경우 ec2Configuration 파라미터에 빈 문자열을 지정해야 합니다.

AMI ID가 시작 템플릿에서 가져온 경우 다음 방법 중 하나를 사용하여에서 지원하는 최신 Amazon ECS 최적화 AMI AWS Batch 로 변경할 수 있습니다.

  • launchTemplateId 또는 launchTemplateName 파라미터에 빈 문자열을 지정하여 시작 템플릿을 제거합니다. 그러면 AMI ID만 제거되는 것이 아니라 전체 시작 템플릿이 제거됩니다.

  • 업데이트된 버전의 시작 템플릿에 AMI ID가 지정되지 않은 경우 updateToLatestImageVersion 파라미터를 true로 설정해야 합니.

업데이트 중 작업 처리

업데이트 정책을 사용하여 인프라 업데이트 중에 실행 중인 작업을 처리하는 방법을 구성합니다. 를 설정하면 terminateJobsOnUpdate=true실행 중인 작업이 즉시 종료되고 jobExecutionTimeoutMinutes 설정이 무시되며 인스턴스를 교체할 수 있는 즉시 업데이트가 진행됩니다. 를 설정하면 실행 terminateJobsOnUpdate=false중인 작업이 지정된 제한 시간 동안 계속되고 기본 제한 시간은 30분이며, 제한 시간을 초과하면 작업이 종료됩니다.

참고

업데이트 중에 종료된 작업을 재시도하려면 작업 재시도 전략을 구성합니다. 자세한 내용은 작업 자동 재시도 단원을 참조하십시오.

Performing infrastructure updates using the AWS Management Console
  1. https://console.aws.amazon.com/batch/ AWS Batch 콘솔을 엽니다.

  2. 탐색 창에서 환경을 선택한 다음 컴퓨팅 환경 탭을 선택합니다.

  3. 업데이트할 컴퓨팅 환경을 선택합니다.

  4. 작업을 선택하고 편집을 선택합니다.

  5. 동작 업데이트 섹션에서 실행 중인 작업을 처리하는 방법을 구성합니다.

    • AMI를 최신 버전으로 업데이트를 선택하여 AMI를 최신 버전으로 업데이트합니다.

    • 업데이트 즉시 작업 종료를 선택하여 업데이트 프로세스가 실행될 때 작업을 종료합니다.

    • 작업 실행 제한 시간에 업데이트 프로세스를 시작하기 전에 대기할 분 수를 입력합니다.

  6. 인프라 업데이트가 필요한 설정을 하나 이상 수정합니다. 예:

    • 인스턴스 역할

    • EC2 스팟 인스턴스 사용

    • 허용되는 인스턴스 유형

    • 배치 그룹

    • EC2 키 페어

    • EC2 구성

    • 시작 템플릿

    • 서브넷

    • 보안 그룹

  7. 변경 사항 저장을 선택합니다.

  8. 컴퓨팅 환경 상태를 모니터링합니다. 업데이트 프로세스 UPDATING 중에 환경이 표시됩니다.

Performing infrastructure updates using the AWS CLI

명령을 사용하여 인프라 업데이트update-compute-environment가 필요한 하나 이상의 설정을 변경합니다. 인프라 업데이트를 트리거하는 변경 사항 다음 세 가지 예는 일반적인 인프라 작업입니다.

  • 이 예제에서는 인스턴스 유형을 업데이트하고 업데이트 정책을 구성합니다.

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources instanceTypes=default_x86_64 \ --update-policy terminateJobsOnUpdate=false,jobExecutionTimeoutMinutes=30
  • 이 예시에서는 VPC 서브넷 및 보안 그룹을 업데이트합니다.

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources subnets=subnet-abcd1234,subnet-efgh5678 securityGroupIds=sg-abcd1234 \ --update-policy terminateJobsOnUpdate=true
  • 이 예시에서는 최신 Amazon ECS 최적화 AMI에 대한 자동 업데이트를 활성화합니다.

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources updateToLatestImageVersion=true \ --update-policy terminateJobsOnUpdate=false,jobExecutionTimeoutMinutes=60

인프라 업데이트 모니터링

AWS Batch 콘솔을 사용하여 인프라 업데이트를 모니터링하여에 대한 컴퓨팅 환경 상태 변경을 모니터링하고UPDATING, 인스턴스 교체 진행 상황을 모니터링하고, 실패한 업데이트가 있는지 확인합니다. 컴퓨팅 환경 상태가 이면 업데이트가 성공한 것입니다VAILD. CloudWatch를 사용하여 인스턴스 종료 이벤트를 추적하고 업데이트 중에 작업 상태를 모니터링할 수도 있습니다. 에서 describe-compute-environments 명령을 AWS CLI사용하여 상태를 확인하고 인스턴스 수명 주기 이벤트를 모니터링합니다.