기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
동기 프로비저닝을 사용하여 인스턴스 시작
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-namegroup-name\ --requested-capacitynumber\ [--availability-zoneszone-name] \ [--subnet-idssubnet-id] \ [--availability-zone-idszone-id] \ [--retry-strategynone|retry-with-group-configuration] \ [--client-tokentoken]
예제
특정 가용 영역에서 인스턴스 시작
aws autoscaling launch-instances \ --auto-scaling-group-namemy-asg\ --requested-capacity3\ --availability-zonesus-east-1a\ --retry-strategyretry-with-group-configuration
특정 서브넷에서 인스턴스 시작
aws autoscaling launch-instances \ --auto-scaling-group-namemy-asg\ --requested-capacity2\ --subnet-idssubnet-12345678\ --retry-strategynone\ --client-tokenmy-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시간 후 동일한 클라이언트 토큰이 새 시작 작업을 시작합니다.