사용 Capacity Blocks 기계 학습 워크로드용 - Amazon EC2 Auto Scaling

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

사용 Capacity Blocks 기계 학습 워크로드용

Capacity Blocks 는 단기 기계 학습(ML) 워크로드를 지원하기 위해 향후 날짜에 인기 있는 GPU 인스턴스를 예약하는 데 도움이 됩니다.

의 개요 Capacity Blocks 작동 방식 참조 Capacity Blocks Amazon 사용 설명서의 ML용 . EC2

사용을 시작하려면 Capacity Blocks에서 특정 가용 영역에 용량 예약을 생성합니다.Capacity Blocks 는 단일 가용 영역에서 targeted 용량 예약으로 전달됩니다. 시작 템플릿을 생성할 때 용량 블록의 예약 ID와 인스턴스 유형을 지정합니다. 그런 다음 생성한 시작 템플릿과 용량 블록의 가용 영역을 사용하도록 Auto Scaling 그룹을 업데이트합니다. 용량 블록 예약이 시작되면 예약된 조정을 사용하여 용량 블록 예약과 동일한 수의 인스턴스를 시작합니다.

중요

Capacity Blocks 는 특정 Amazon EC2 인스턴스 유형 및 에만 사용할 수 있습니다 AWS 리전. 자세한 내용은 Amazon EC2 사용 설명서사전 요구 사항을 참조하세요.

운영 지침

다음은 Auto Scaling 그룹에서 용량 블록을 사용할 때 따라야 하는 기본 운영 지침입니다.

  • 용량 블록 예약 종료 시간 30분 전까지 Auto Scaling 그룹을 0으로 스케일 인합니다. AmazonEC2은 용량 블록 종료 30분 전에 여전히 실행 중인 인스턴스를 종료합니다.

  • 예약된 크기 조정을 사용하여 적절한 예약 시간에 스케일 아웃(인스턴스 추가) 및 스케일 인(인스턴스 제거)하는 것이 좋습니다. 자세한 내용은 Amazon EC2 Auto Scaling을 위한 스케일링 예약 단원을 참조하십시오.

  • 스케일 인을 할 경우 인스턴스 내에서 애플리케이션을 정상적으로 종료할 수 있도록 필요에 따라 수명 주기 후크를 추가합니다. Amazon이 용량 블록 예약 종료 시간 30분 전에 인스턴스EC2를 강제로 종료하기 전에 수명 주기 작업을 완료할 수 있도록 충분한 시간을 둡니다. 자세한 내용은 Amazon EC2 Auto Scaling 수명 주기 후크 단원을 참조하십시오.

  • Auto Scaling 그룹이 전체 예약 기간 동안 올바른 버전의 시작 템플릿을 가리키는지 확인합니다. $Default 또는 $Latest 버전 대신 특정 버전의 시작 템플릿을 가리키는 것이 좋습니다.

참고

예약이 끝날 때까지 용량 블록 인스턴스를 실행 상태로 두고 Amazon이 EC2 이를 회수하는 경우, 용량 블록이 끝날 때 의도적으로 회수되었지만 Auto Scaling 그룹에 대한 스케일링 활동은 “taken out of service in response to an EC2 health check that indicated it had been terminated or stopped”로 표시됩니다. 마찬가지로 Amazon EC2 Auto Scaling은 상태 확인에 실패한 모든 인스턴스와 동일한 방식으로 인스턴스를 교체하려고 시도합니다. 자세한 내용은 Auto Scaling 그룹의 인스턴스에 대한 상태 확인 단원을 참조하십시오.

시작 템플릿에 용량 블록 지정

Auto Scaling 그룹의 특정 용량 블록을 대상으로 하는 시작 템플릿을 생성하려면 다음 방법 중 하나를 사용합니다.

Console
시작 템플릿에서 용량 블록을 지정하려면(콘솔)
  1. 에서 Amazon EC2 콘솔을 엽니다https://console.aws.amazon.com/ec2/.

  2. 상단 탐색 모음에서 용량 블록을 생성한 AWS 리전 를 선택합니다.

  3. 탐색 창의 Instances(인스턴스)에서 Launch Templates(시작 템플릿)을 선택합니다.

  4. 시작 템플릿 생성을 선택하고 시작 템플릿을 생성합니다. 필요에 따라 Amazon Machine Image의 ID(AMI), 인스턴스 유형 및 기타 시작 템플릿 설정을 포함합니다.

  5. 고급 세부 정보 섹션을 펼쳐 고급 설정을 확인하세요.

  6. 구매 옵션에서 용량 블록을 선택합니다.

  7. 용량 예약의 경우 ID별 대상을 선택한 다음 용량 예약 - ID별 대상에서 기존 용량 블록의 용량 예약 ID를 선택합니다.

  8. 모두 마쳤으면 시작 템플릿 생성을 선택합니다.

    시작 템플릿을 사용하여 Auto Scaling 그룹을 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요시작 템플릿을 사용하여 Auto Scaling 그룹 생성.

AWS CLI
시작 템플릿에 용량 블록을 지정하려면(AWS CLI)

다음 create-launch-template 명령을 사용하여 기존 용량 블록 예약 ID를 지정하는 시작 템플릿을 생성합니다. 각각 바꾸기 user input placeholder 자신의 정보를 사용합니다.

aws ec2 create-launch-template --launch-template-name my-template-for-capacity-block \ --version-description AutoScalingVersion1 --region us-east-2 \ --launch-template-data file://config.json
작은 정보

이 명령으로 인해 오류가 발생하는 경우 AWS CLI 로컬에서 를 최신 버전으로 업데이트했는지 확인합니다.

config.json의 콘텐츠.

{ "ImageId": "ami-04d5cc9b88example", "InstanceType": "p4d.24xlarge", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-02168da1478b509e0" } } }

출력의 예시는 다음과 같습니다.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b724example", "LaunchTemplateName": "my-template-for-capacity-block", "CreateTime": "2023-10-27T15:12:44.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }

다음 describe-launch-template-versions 명령을 사용하여 시작 템플릿과 연결된 용량 블록 예약 ID를 확인할 수 있습니다.

aws ec2 describe-launch-template-versions --launch-template-names my-template-for-capacity-block \ --region us-east-2

다음은 용량 블록 예약을 지정하는 시작 템플릿에 대한 출력의 예입니다.

{ "LaunchTemplateVersions": [ { "LaunchTemplateId": "lt-068f72b724example", "LaunchTemplateName": "my-template-for-capacity-block", "VersionNumber": 1, "CreateTime": "2023-10-27T15:12:44.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersion": true, "LaunchTemplateData": { "ImageId": "ami-04d5cc9b88example", "InstanceType": "p5.48xlarge", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-02168da1478b509e0" } } } } ] }

제한 사항

  • 지원 Capacity Blocks 는 Auto Scaling 그룹에 호환 가능한 구성이 있는 경우에만 사용할 수 있습니다. 혼합 인스턴스 그룹과 웜 풀은 지원되지 않습니다.

  • 한 번에 하나의 용량 블록만 대상으로 지정할 수 있습니다.