View a markdown version of this page

동기 프로비저닝을 사용하여 인스턴스 시작 - Amazon EC2 Auto Scaling

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

동기 프로비저닝을 사용하여 인스턴스 시작

LaunchInstances API를 사용하여 Auto Scaling 그룹에서 특정 수의 인스턴스를 동기식으로 시작할 수 있습니다. API는 지정한 가용 영역 또는 서브넷에서 인스턴스를 시작하고 인스턴스 IDs 또는 오류 정보를 즉시 반환합니다.

사전 조건

LaunchInstances API를 사용하려면 먼저 다음이 필요합니다.

  • 시작 템플릿을 사용하는 Auto Scaling 그룹(시작 구성은 지원되지 않음)

  • 다음 IAM 작업에 대한 권한이 있어야 합니다.

    • autoscaling:LaunchInstances

    • ec2:CreateFleet

    • ec2:DescribeLaunchTemplateVersions

동기 프로비저닝을 사용하여 인스턴스 시작

를 통해 동기 프로비저닝으로 인스턴스를 시작할 수 있습니다 AWS CLI.

AWS CLI

동기 프로비저닝을 사용하여 인스턴스를 시작하려면:

aws autoscaling launch-instances \ --auto-scaling-group-name group-name \ --requested-capacity number \ [--availability-zones zone-name] \ [--subnet-ids subnet-id] \ [--availability-zone-ids zone-id] \ [--retry-strategy none|retry-with-group-configuration] \ [--client-token token]

예제

특정 가용 영역에서 인스턴스 시작

aws autoscaling launch-instances \ --auto-scaling-group-name my-asg \ --requested-capacity 3 \ --availability-zones us-east-1a \ --retry-strategy retry-with-group-configuration

특정 서브넷에서 인스턴스 시작

aws autoscaling launch-instances \ --auto-scaling-group-name my-asg \ --requested-capacity 2 \ --subnet-ids subnet-12345678 \ --retry-strategy none \ --client-token my-unique-token-123

응답 처리

성공적인 응답의 예:

{ "AutoScalingGroupName": "my-asg", "ClientToken": "my-unique-token-123", "Instances": [ { "InstanceType": "m5.xlarge", "AvailabilityZone": "us-east-1a", "AvailabilityZoneId": "use1-az1", "SubnetId": "subnet-12345678", "MarketType": "OnDemand", "InstanceIds": ["i-0123456789abcdef0", "i-0fedcba9876543210"] } ], "Errors": [] }

오류가 있는 응답의 예

{ "AutoScalingGroupName": "my-asg", "ClientToken": "my-unique-token-123", "Instances": [], "Errors": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "AvailabilityZoneId": "use1-az1", "SubnetId": "subnet-12345678", "MarketType": "OnDemand", "ErrorCode": "InsufficientInstanceCapacity", "ErrorMessage": "There is not enough capacity to fulfill your request for instance type 'm5.large' in 'us-east-1a'" } ] }

시작 실패 및 재시도 처리

LaunchInstances API에 장애가 발생하면 멱등성 토큰과 적절한 재시도 정책을 사용하여 재시도 전략을 구현할 수 있습니다.

클라이언트 토큰 파라미터를 사용하여 요청을 재시도할 수 있습니다. 다음 재시도 전략을 사용할 수도 있습니다.

  • RetryStrategy: none (기본값) - API 호출이 실패하면 Auto Scaling 그룹의 원하는 용량은 변경되지 않고 자동 재시도가 발생하지 않습니다.

  • RetryStrategy: retry-with-group-configuration - API 호출이 실패하면 Auto Scaling 그룹의 원하는 용량이 요청된 양만큼 증가하며 Auto Scaling은 그룹의 표준 구성 및 프로세스를 사용하여 인스턴스 시작을 자동으로 재시도합니다.

에 대한 재시도 동작RetryStrategy: retry-with-group-configuration은 실패 유형에 따라 다릅니다.

  • 검증 오류: 작업을 진행할 수 없으므로 원하는 용량이 증가하지 않습니다. 예를 들어 잘못된 파라미터 또는 지원되지 않는 구성입니다.

  • 용량 오류: 원하는 용량이 증가하고 Auto Scaling은 그룹의 일반 조정 프로세스를 사용하여 인스턴스 시작을 비동기적으로 재시도합니다.

멱등성을 위한 클라이언트 토큰 사용

client-token 파라미터는 멱등성 작업을 보장하고 시작 요청의 안전한 재시도를 활성화합니다.

주요 동작:

  • 클라이언트 토큰의 수명은 초기 요청부터 8시간입니다.

  • 8시간 이내에 동일한 클라이언트 토큰으로 재시도하면 새 인스턴스를 시작하는 대신 캐시된 응답이 반환됩니다.

  • 8시간 후 동일한 클라이언트 토큰이 새 시작 작업을 시작합니다.