Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs
Verwendung von UpdateAutoScalingGroup mit einem AWS-SDK oder CLI
Die folgenden Code-Beispiele zeigen, wie UpdateAutoScalingGroup verwendet wird.
Beispiele für Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Sie können diese Aktion in den folgenden Codebeispielen im Kontext sehen:
- .NET
-
- SDK für .NET (v4)
-
Anmerkung
Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel-
einrichten und ausführen. /// <summary> /// Update the capacity of an Auto Scaling group. /// </summary> /// <param name="groupName">The name of the Auto Scaling group.</param> /// <param name="launchTemplateName">The name of the EC2 launch template.</param> /// <param name="maxSize">The maximum number of instances that can be /// created for the Auto Scaling group.</param> /// <returns>A Boolean value indicating the success of the action.</returns> public async Task<bool> UpdateAutoScalingGroupAsync( string groupName, string launchTemplateName, int maxSize) { var templateSpecification = new LaunchTemplateSpecification { LaunchTemplateName = launchTemplateName, }; var groupRequest = new UpdateAutoScalingGroupRequest { MaxSize = maxSize, AutoScalingGroupName = groupName, LaunchTemplate = templateSpecification, }; var response = await _amazonAutoScaling.UpdateAutoScalingGroupAsync(groupRequest); if (response.HttpStatusCode == System.Net.HttpStatusCode.OK) { Console.WriteLine($"You successfully updated the Auto Scaling group {groupName}."); return true; } else { return false; } }-
Weitere API-Informationen finden Sie unter UpdateAutoScalingGroup in der AWS SDK für .NET API-Referenz.
-
- C++
-
- SDK für C++
-
Anmerkung
Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel-
einrichten und ausführen. 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::UpdateAutoScalingGroupRequest request; request.SetAutoScalingGroupName(groupName); request.SetMaxSize(3); Aws::AutoScaling::Model::UpdateAutoScalingGroupOutcome outcome = autoScalingClient.UpdateAutoScalingGroup(request); if (!outcome.IsSuccess()) { std::cerr << "Error with AutoScaling::UpdateAutoScalingGroup. " << outcome.GetError().GetMessage() << std::endl; }-
Weitere API-Informationen finden Sie unter UpdateAutoScalingGroup in der AWS SDK für C++ API-Referenz.
-
- CLI
-
- AWS CLI
-
Beispiel 1: So aktualisieren Sie die Größenbeschränkungen einer Auto-Scaling-Gruppe
In diesem Beispiel wird die angegebene Auto-Scaling-Gruppe mit einer Mindestgröße von 2 und einer Höchstgröße von 10 aktualisiert.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-namemy-asg\ --min-size2\ --max-size10Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Festlegen der Größenbeschränkungen für Ihre Auto-Scaling-Gruppe im Benutzerhandbuch zu Amazon EC2 Auto Scaling.
Beispiel 2: So fügen Sie Zustandsprüfungen für Elastic Load Balancing hinzu und legen fest, welche Availability Zones und Subnetze verwendet werden sollen
In diesem Beispiel wird die angegebene Auto-Scaling-Gruppe aktualisiert, um Zustandsprüfungen für Elastic Load Balancing-hinzuzufügen. Dieser Befehl aktualisiert auch den Wert von
--vpc-zone-identifiermit einer Liste von Subnetz-IDs in mehreren Availability Zones.aws autoscaling update-auto-scaling-group \ --auto-scaling-group-namemy-asg\ --health-check-typeELB\ --health-check-grace-period600\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Elastic Load Balancing und Amazon EC2 Auto Scaling im Amazon EC2 Auto Scaling-Benutzerhandbuch.
Beispiel 3: So aktualisieren Sie die Platzierungsgruppe und die Beendigungsrichtlinie
In diesem Beispiel werden die zu verwendende Platzierungsgruppe und die Beendigungsrichtlinie aktualisiert.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-namemy-asg\ --placement-groupmy-placement-group\ --termination-policies"OldestInstance"Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen zu Auto-Scaling-Gruppen finden Sie im Benutzerhandbuch für Amazon EC2 Auto Scaling.
Beispiel 4: So verwenden Sie die neueste Version der Startvorlage
In diesem Beispiel wird die angegebene Auto-Scaling-Gruppe aktualisiert, um die neueste Version der angegebenen Startvorlage zu verwenden.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest'Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Startvorlagen im Benutzerhandbuch für Amazon EC2 Auto Scaling.
Beispiel 5: So verwenden Sie eine bestimmte Version der Startvorlage
In diesem Beispiel wird die angegebene Auto-Scaling-Gruppe aktualisiert, um eine bestimmte Version einer Startvorlage anstelle der neuesten oder der Standardversion zu verwenden.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Startvorlagen im Benutzerhandbuch für Amazon EC2 Auto Scaling.
Beispiel 6: So definieren Sie eine Richtlinie für gemischte Instances und aktivieren den Kapazitätsausgleich
In diesem Beispiel wird die angegebene Auto-Scaling-Gruppe aktualisiert, um eine Richtlinie für gemischte Instances zu verwenden, gleichzeitig wird die Kapazitätsanpassung aktiviert. Mit dieser Struktur können Sie Gruppen mit Spot- und On-Demand-Kapazitäten angeben und verschiedene Startvorlagen für unterschiedliche Architekturen verwenden.
aws autoscaling update-auto-scaling-group \ --cli-input-jsonfile://~/config.jsonInhalt von
config.json:{ "AutoScalingGroupName": "my-asg", "CapacityRebalance": true, "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-x86", "Version": "$Latest" }, "Overrides": [ { "InstanceType": "c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType": "c5.large" }, { "InstanceType": "c5a.large" } ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "capacity-optimized" } } }Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Auto-Scaling-Gruppen mit mehreren Instance-Typen und Kaufoptionen im Amazon EC2 Auto Scaling-Benutzerhandbuch.
-
Weitere API-Informationen finden Sie unter UpdateAutoScalingGroup
in der AWS CLI-Befehlsreferenz.
-
- Java
-
- SDK für Java 2.x
-
Anmerkung
Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel-
einrichten und ausführen. public static void updateAutoScalingGroup(AutoScalingClient autoScalingClient, String groupName, String launchTemplateName) { try { AutoScalingWaiter waiter = autoScalingClient.waiter(); LaunchTemplateSpecification templateSpecification = LaunchTemplateSpecification.builder() .launchTemplateName(launchTemplateName) .build(); UpdateAutoScalingGroupRequest groupRequest = UpdateAutoScalingGroupRequest.builder() .maxSize(3) .autoScalingGroupName(groupName) .launchTemplate(templateSpecification) .build(); autoScalingClient.updateAutoScalingGroup(groupRequest); DescribeAutoScalingGroupsRequest groupsRequest = DescribeAutoScalingGroupsRequest.builder() .autoScalingGroupNames(groupName) .build(); WaiterResponse<DescribeAutoScalingGroupsResponse> waiterResponse = waiter .waitUntilGroupInService(groupsRequest); waiterResponse.matched().response().ifPresent(System.out::println); System.out.println("You successfully updated the auto scaling group " + groupName); } catch (AutoScalingException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }-
Weitere API-Informationen finden Sie unter UpdateAutoScalingGroup in der AWS SDK for Java 2.x-API-Referenz.
-
- Kotlin
-
- SDK für Kotlin
-
Anmerkung
Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel-
einrichten und ausführen. suspend fun updateAutoScalingGroup( groupName: String, launchTemplateNameVal: String, serviceLinkedRoleARNVal: String, ) { val templateSpecification = LaunchTemplateSpecification { launchTemplateName = launchTemplateNameVal } val groupRequest = UpdateAutoScalingGroupRequest { maxSize = 3 serviceLinkedRoleArn = serviceLinkedRoleARNVal autoScalingGroupName = groupName launchTemplate = templateSpecification } val groupsRequestWaiter = DescribeAutoScalingGroupsRequest { autoScalingGroupNames = listOf(groupName) } AutoScalingClient { region = "us-east-1" }.use { autoScalingClient -> autoScalingClient.updateAutoScalingGroup(groupRequest) autoScalingClient.waitUntilGroupExists(groupsRequestWaiter) println("You successfully updated the Auto Scaling group $groupName") } }-
Weitere API-Informationen finden Sie unter UpdateAutoScalingGroup
in der API-Referenz zum AWS SDK für Kotlin.
-
- PHP
-
- SDK für PHP
-
Anmerkung
Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel-
einrichten und ausführen. public function updateAutoScalingGroup($autoScalingGroupName, $args) { if (array_key_exists('MaxSize', $args)) { $maxSize = ['MaxSize' => $args['MaxSize']]; } else { $maxSize = []; } if (array_key_exists('MinSize', $args)) { $minSize = ['MinSize' => $args['MinSize']]; } else { $minSize = []; } $parameters = ['AutoScalingGroupName' => $autoScalingGroupName]; $parameters = array_merge($parameters, $minSize, $maxSize); return $this->autoScalingClient->updateAutoScalingGroup($parameters); }-
Weitere API-Informationen finden Sie unter UpdateAutoScalingGroup in der AWS SDK für PHP-API-Referenz.
-
- PowerShell
-
- Tools für PowerShell V4
-
Beispiel 1: In diesem Beispiel werden die minimale und maximale Größe der angegebenen Auto-Scaling-Gruppe aktualisiert.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -MaxSize 5 -MinSize 1Beispiel 2: In diesem Beispiel wird die standardmäßige Ruhephase der angegebenen Auto-Scaling-Gruppe aktualisiert.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -DefaultCooldown 10Beispiel 3: In diesem Beispiel werden die Availability Zones der angegebenen Auto-Scaling-Gruppe aktualisiert.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -AvailabilityZone @("us-west-2a", "us-west-2b")Beispiel 4: In diesem Beispiel wird die angegebene Auto-Scaling-Gruppe aktualisiert, um Zustandsprüfungen mit Elastic Load Balancing zu verwenden.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -HealthCheckType ELB -HealthCheckGracePeriod 60-
Weitere API-Informationen finden Sie unter UpdateAutoScalingGroup in der AWS -Tools für PowerShell-Cmdlet-Referenz (V4).
-
- Tools für PowerShell V5
-
Beispiel 1: In diesem Beispiel werden die minimale und maximale Größe der angegebenen Auto-Scaling-Gruppe aktualisiert.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -MaxSize 5 -MinSize 1Beispiel 2: In diesem Beispiel wird die standardmäßige Ruhephase der angegebenen Auto-Scaling-Gruppe aktualisiert.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -DefaultCooldown 10Beispiel 3: In diesem Beispiel werden die Availability Zones der angegebenen Auto-Scaling-Gruppe aktualisiert.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -AvailabilityZone @("us-west-2a", "us-west-2b")Beispiel 4: In diesem Beispiel wird die angegebene Auto-Scaling-Gruppe aktualisiert, um Zustandsprüfungen mit Elastic Load Balancing zu verwenden.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -HealthCheckType ELB -HealthCheckGracePeriod 60-
Weitere API-Informationen finden Sie unter UpdateAutoScalingGroup in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).
-
- Python
-
- SDK für Python (Boto3)
-
Anmerkung
Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel-
einrichten und ausführen. 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 update_group(self, group_name: str, **kwargs: Any) -> None: """ Updates an Auto Scaling group. :param group_name: The name of the group to update. :param kwargs: Keyword arguments to pass through to the service. :return: None :raises ClientError: If there is an error updating the Auto Scaling group. """ try: self.autoscaling_client.update_auto_scaling_group( AutoScalingGroupName=group_name, **kwargs ) logger.info(f"Successfully updated Auto Scaling group {group_name}.") except ClientError as err: error_code = err.response["Error"]["Code"] logger.error(f"Failed to update Auto Scaling group {group_name}.") if error_code == "ResourceInUse": logger.error( "The Auto Scaling group '%s' is currently in use and cannot be modified. Please try again later.", group_name, ) elif error_code == "ScalingActivityInProgress": logger.error( f"A scaling activity is currently in progress for the Auto Scaling group '{group_name}'." "Please wait for the activity to complete before attempting to update the group." ) logger.error(f"Full error:\n\t{err}") raise-
Weitere API-Informationen finden Sie unter UpdateAutoScalingGroup in der API-Referenz zum AWS SDK für Python (Boto3).
-
- Rust
-
- SDK für Rust
-
Anmerkung
Auf GitHub finden Sie noch mehr. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS-Code-Beispiel-
einrichten und ausführen. async fn update_group(client: &Client, name: &str, size: i32) -> Result<(), Error> { client .update_auto_scaling_group() .auto_scaling_group_name(name) .max_size(size) .send() .await?; println!("Updated AutoScaling group"); Ok(()) }-
Weitere API-Informationen finden Sie unter UpdateAutoScalingGroup
in der API-Referenz zum AWS SDK für Rust.
-