Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. AWS
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS SDK 또는 CLI와 DescribeAutoScalingGroups 함께 사용
다음 코드 예시는 DescribeAutoScalingGroups의 사용 방법을 보여 줍니다.
작업 예시는 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 다음 코드 예제에서는 컨텍스트 내에서 이 작업을 확인할 수 있습니다.
- .NET
-
- SDK for .NET (v4)
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. /// <summary> /// Get data about the instances in an Amazon EC2 Auto Scaling group. /// </summary> /// <param name="groupName">The name of the Amazon EC2 Auto Scaling group.</param> /// <returns>A list of Amazon EC2 Auto Scaling details.</returns> public async Task<List<AutoScalingInstanceDetails>> DescribeAutoScalingInstancesAsync( string groupName) { var groups = await DescribeAutoScalingGroupsAsync(groupName); var instanceIds = new List<string>(); var instanceDetails = new List<AutoScalingInstanceDetails>(); if (groups != null) { groups.ForEach(group => { if (group.AutoScalingGroupName == groupName && group.Instances != null) { group.Instances.ForEach(instance => { instanceIds.Add(instance.InstanceId); }); } }); var scalingGroupsRequest = new DescribeAutoScalingInstancesRequest { MaxRecords = 10, InstanceIds = instanceIds, }; var response = await _amazonAutoScaling.DescribeAutoScalingInstancesAsync( scalingGroupsRequest); if (response.AutoScalingInstances != null) { instanceDetails = response.AutoScalingInstances; } } return instanceDetails; }-
API 세부 정보는 AWS SDK for .NET API 참조의 DescribeAutoScalingGroups을 참조하십시오.
-
- C++
-
- SDK for C++
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. Aws::Client::ClientConfiguration clientConfig; // Optional: Set to the AWS Region (overrides config file). // clientConfig.region = "us-east-1"; Aws::AutoScaling::AutoScalingClient autoScalingClient(clientConfig); Aws::AutoScaling::Model::DescribeAutoScalingGroupsRequest request; Aws::Vector<Aws::String> groupNames; groupNames.push_back(groupName); request.SetAutoScalingGroupNames(groupNames); Aws::AutoScaling::Model::DescribeAutoScalingGroupsOutcome outcome = client.DescribeAutoScalingGroups(request); if (outcome.IsSuccess()) { autoScalingGroup = outcome.GetResult().GetAutoScalingGroups(); } else { std::cerr << "Error with AutoScaling::DescribeAutoScalingGroups. " << outcome.GetError().GetMessage() << std::endl; }-
API에 대한 세부 정보는 AWS SDK for C++ API 참조의 DescribeAutoScalingGroups를 참조하세요.
-
- CLI
-
- AWS CLI
-
예 1: 지정된 Auto Scaling 그룹을 설명하는 방법
이 예시에서는 지정된 Auto Scaling 그룹을 설명합니다.
aws autoscaling describe-auto-scaling-groups \ --auto-scaling-group-namesmy-asg출력:
{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" }, "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2a", "HealthStatus": "Healthy", "LifecycleState": "InService", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" } } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ] }예 2: 처음 100개의 지정된 Auto Scaling 그룹을 설명하는 방법
이 예시에서는 지정된 Auto Scaling 그룹을 설명합니다. 최대 100개의 그룹 이름을 지정할 수 있습니다.
aws autoscaling describe-auto-scaling-groups \ --max-items100\ --auto-scaling-group-names"group1""group2""group3""group4"샘플 출력은 예 1을 참조하세요.
예 3: 지정된 리전에서 Auto Scaling 그룹을 설명하는 방법
이 예시에서는 지정된 리전의 Auto Scaling 그룹을 최대 75개까지 설명합니다.
aws autoscaling describe-auto-scaling-groups \ --max-items75\ --regionus-east-1샘플 출력은 예 1을 참조하세요.
예 4: 지정된 개수의 Auto Scaling 그룹을 설명하는 방법
특정 개수의 Auto Scaling 그룹을 반환하려면
--max-items옵션을 사용하세요.aws autoscaling describe-auto-scaling-groups \ --max-items1샘플 출력은 예 1을 참조하세요.
출력에
NextToken필드가 포함된 경우 그룹이 더 많습니다. 추가 그룹을 가져오려면 다음과 같이 후속 직접 호출에서 이 필드의 값을--starting-token옵션과 함께 사용하세요.aws autoscaling describe-auto-scaling-groups \ --starting-tokenZ3M3LMPEXAMPLE샘플 출력은 예 1을 참조하세요.
예제 5: 시작 구성을 사용하는 Auto Scaling 그룹을 설명하는 방법
이 예제에서는
--query옵션을 사용하여 시작 구성을 사용하는 Auto Scaling 그룹을 설명합니다.aws autoscaling describe-auto-scaling-groups \ --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`]'출력:
[ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchConfigurationName": "my-lc", "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2c", "HealthStatus": "Healthy", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ]자세한 내용은 AWS 명령줄 인터페이스 사용 설명서의 AWS CLI 출력 필터링을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeAutoScalingGroups
를 참조하세요.
-
- Java
-
- SDK for Java 2.x
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.autoscaling.AutoScalingClient; import software.amazon.awssdk.services.autoscaling.model.AutoScalingException; import software.amazon.awssdk.services.autoscaling.model.AutoScalingGroup; import software.amazon.awssdk.services.autoscaling.model.DescribeAutoScalingGroupsResponse; import software.amazon.awssdk.services.autoscaling.model.DescribeAutoScalingGroupsRequest; import software.amazon.awssdk.services.autoscaling.model.Instance; import java.util.List; /** * Before running this SDK for Java (v2) code example, set up your development * environment, including your credentials. * * For more information, see the following documentation: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class DescribeAutoScalingInstances { public static void main(String[] args) { final String usage = """ Usage: <groupName> Where: groupName - The name of the Auto Scaling group. """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String groupName = args[0]; AutoScalingClient autoScalingClient = AutoScalingClient.builder() .region(Region.US_EAST_1) .build(); String instanceId = getAutoScaling(autoScalingClient, groupName); System.out.println(instanceId); autoScalingClient.close(); } public static String getAutoScaling(AutoScalingClient autoScalingClient, String groupName) { try { String instanceId = ""; DescribeAutoScalingGroupsRequest scalingGroupsRequest = DescribeAutoScalingGroupsRequest.builder() .autoScalingGroupNames(groupName) .build(); DescribeAutoScalingGroupsResponse response = autoScalingClient .describeAutoScalingGroups(scalingGroupsRequest); List<AutoScalingGroup> groups = response.autoScalingGroups(); for (AutoScalingGroup group : groups) { System.out.println("The group name is " + group.autoScalingGroupName()); System.out.println("The group ARN is " + group.autoScalingGroupARN()); List<Instance> instances = group.instances(); for (Instance instance : instances) { instanceId = instance.instanceId(); } } return instanceId; } catch (AutoScalingException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; } }-
API 세부 정보는 AWS SDK for Java 2.x API 참조의 DescribeAutoScalingGroups을 참조하십시오.
-
- Kotlin
-
- SDK for Kotlin
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. suspend fun getAutoScalingGroups(groupName: String) { val scalingGroupsRequest = DescribeAutoScalingGroupsRequest { autoScalingGroupNames = listOf(groupName) } AutoScalingClient { region = "us-east-1" }.use { autoScalingClient -> val response = autoScalingClient.describeAutoScalingGroups(scalingGroupsRequest) response.autoScalingGroups?.forEach { group -> println("The group name is ${group.autoScalingGroupName}") println("The group ARN is ${group.autoScalingGroupArn}") group.instances?.forEach { instance -> println("The instance id is ${instance.instanceId}") println("The lifecycle state is " + instance.lifecycleState) } } } }-
API 세부 정보는 AWS SDK for Kotlin API 참조의 DescribeAutoScalingGroups
을 참조하십시오.
-
- PHP
-
- SDK for PHP
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. public function describeAutoScalingGroups($autoScalingGroupNames) { return $this->autoScalingClient->describeAutoScalingGroups([ 'AutoScalingGroupNames' => $autoScalingGroupNames ]); }-
API에 대한 세부 정보는 AWS SDK for PHP API 참조의 DescribeAutoScalingGroups를 참조하세요.
-
- PowerShell
-
- Tools for PowerShell V4
-
예제 1: 이 예제에서는 Auto Scaling 그룹의 이름을 나열합니다.
Get-ASAutoScalingGroup | format-table -property AutoScalingGroupName출력:
AutoScalingGroupName -------------------- my-asg-1 my-asg-2 my-asg-3 my-asg-4 my-asg-5 my-asg-6예제 2: 이 예제에서는 지정된 Auto Scaling 그룹을 설명합니다.
Get-ASAutoScalingGroup -AutoScalingGroupName my-asg-1출력:
AutoScalingGroupARN : arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480 f03:autoScalingGroupName/my-asg-1 AutoScalingGroupName : my-asg-1 AvailabilityZones : {us-west-2b, us-west-2a} CreatedTime : 3/1/2015 9:05:31 AM DefaultCooldown : 300 DesiredCapacity : 2 EnabledMetrics : {} HealthCheckGracePeriod : 300 HealthCheckType : EC2 Instances : {my-lc} LaunchConfigurationName : my-lc LoadBalancerNames : {} MaxSize : 0 MinSize : 0 PlacementGroup : Status : SuspendedProcesses : {} Tags : {} TerminationPolicies : {Default} VPCZoneIdentifier : subnet-e4f33493,subnet-5264e837예제 3: 이 예제에서는 지정된 두 개의 Auto Scaling 그룹을 설명합니다.
Get-ASAutoScalingGroup -AutoScalingGroupName @("my-asg-1", "my-asg-2")예제 4: 이 예제에서는 지정된 Auto Scaling 그룹에 대한 Auto Scaling 인스턴스를 설명합니다.
(Get-ASAutoScalingGroup -AutoScalingGroupName my-asg-1).Instances예제 5: 이 예제에서는 모든 Auto Scaling 그룹을 설명합니다.
Get-ASAutoScalingGroup예제 6: 이 예제에서는 지정된 Auto Scaling 그룹의 LaunchTemplate를 설명합니다. 이 예제에서는 "인스턴스 구매 옵션"이 "시작 템플릿 준수"로 설정되어 있다고 가정합니다. 이 옵션이 "구매 옵션 및 인스턴스 유형 결합"으로 설정된 경우 "MixedInstancesPolicy.LaunchTemplate" 속성을 사용하여 LaunchTemplate에 액세스할 수 있습니다.
(Get-ASAutoScalingGroup -AutoScalingGroupName my-ag-1).LaunchTemplate출력:
LaunchTemplateId LaunchTemplateName Version ---------------- ------------------ ------- lt-06095fd619cb40371 test-launch-template $Default-
API 세부 정보는 Cmdlet 참조(V4)의 DescribeAutoScalingGroups를 참조하세요. AWS Tools for PowerShell
-
- Tools for PowerShell V5
-
예제 1: 이 예제에서는 Auto Scaling 그룹의 이름을 나열합니다.
Get-ASAutoScalingGroup | format-table -property AutoScalingGroupName출력:
AutoScalingGroupName -------------------- my-asg-1 my-asg-2 my-asg-3 my-asg-4 my-asg-5 my-asg-6예제 2: 이 예제에서는 지정된 Auto Scaling 그룹을 설명합니다.
Get-ASAutoScalingGroup -AutoScalingGroupName my-asg-1출력:
AutoScalingGroupARN : arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480 f03:autoScalingGroupName/my-asg-1 AutoScalingGroupName : my-asg-1 AvailabilityZones : {us-west-2b, us-west-2a} CreatedTime : 3/1/2015 9:05:31 AM DefaultCooldown : 300 DesiredCapacity : 2 EnabledMetrics : {} HealthCheckGracePeriod : 300 HealthCheckType : EC2 Instances : {my-lc} LaunchConfigurationName : my-lc LoadBalancerNames : {} MaxSize : 0 MinSize : 0 PlacementGroup : Status : SuspendedProcesses : {} Tags : {} TerminationPolicies : {Default} VPCZoneIdentifier : subnet-e4f33493,subnet-5264e837예제 3: 이 예제에서는 지정된 두 개의 Auto Scaling 그룹을 설명합니다.
Get-ASAutoScalingGroup -AutoScalingGroupName @("my-asg-1", "my-asg-2")예제 4: 이 예제에서는 지정된 Auto Scaling 그룹에 대한 Auto Scaling 인스턴스를 설명합니다.
(Get-ASAutoScalingGroup -AutoScalingGroupName my-asg-1).Instances예제 5: 이 예제에서는 모든 Auto Scaling 그룹을 설명합니다.
Get-ASAutoScalingGroup예제 6: 이 예제에서는 지정된 Auto Scaling 그룹의 LaunchTemplate를 설명합니다. 이 예제에서는 "인스턴스 구매 옵션"이 "시작 템플릿 준수"로 설정되어 있다고 가정합니다. 이 옵션이 "구매 옵션 및 인스턴스 유형 결합"으로 설정된 경우 "MixedInstancesPolicy.LaunchTemplate" 속성을 사용하여 LaunchTemplate에 액세스할 수 있습니다.
(Get-ASAutoScalingGroup -AutoScalingGroupName my-ag-1).LaunchTemplate출력:
LaunchTemplateId LaunchTemplateName Version ---------------- ------------------ ------- lt-06095fd619cb40371 test-launch-template $Default-
API 세부 정보는 Cmdlet 참조(V5)의 DescribeAutoScalingGroups를 참조하세요. AWS Tools for PowerShell
-
- Python
-
- SDK for Python (Boto3)
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. class AutoScalingWrapper: """Encapsulates Amazon EC2 Auto Scaling actions.""" def __init__(self, autoscaling_client): """ :param autoscaling_client: A Boto3 Amazon EC2 Auto Scaling client. """ self.autoscaling_client = autoscaling_client def describe_group(self, group_name: str) -> Optional[Dict[str, Any]]: """ Gets information about an Auto Scaling group. :param group_name: The name of the group to look up. :return: A dictionary with information about the group if found, otherwise None. :raises ClientError: If there is an error describing the Auto Scaling group. """ try: paginator = self.autoscaling_client.get_paginator( "describe_auto_scaling_groups" ) response_iterator = paginator.paginate(AutoScalingGroupNames=[group_name]) groups = [] for response in response_iterator: groups.extend(response.get("AutoScalingGroups", [])) logger.info( f"Successfully retrieved information for Auto Scaling group {group_name}." ) except ClientError as err: error_code = err.response["Error"]["Code"] logger.error(f"Failed to describe Auto Scaling group {group_name}.") if error_code == "ResourceContentionFault": logger.error( "There is a conflict with another operation that is modifying the " f"Auto Scaling group '{group_name}' Please try again later." ) logger.error(f"Full error:\n\t{err}") raise else: return groups[0] if len(groups) > 0 else None-
API 세부 정보는 AWS SDK for Python (Boto3) API 참조의 DescribeAutoScalingGroups을 참조하십시오.
-
- Rust
-
- SDK for Rust
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. async fn list_groups(client: &Client) -> Result<(), Error> { let resp = client.describe_auto_scaling_groups().send().await?; println!("Groups:"); let groups = resp.auto_scaling_groups(); for group in groups { println!( "Name: {}", group.auto_scaling_group_name().unwrap_or("Unknown") ); println!( "Arn: {}", group.auto_scaling_group_arn().unwrap_or("unknown"), ); println!("Zones: {:?}", group.availability_zones(),); println!(); } println!("Found {} group(s)", groups.len()); Ok(()) }-
API 세부 정보는 AWS SDK for Rust API 참조의 DescribeAutoScalingGroups
을 참조하십시오.
-