Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use UpdateAutoScalingGroup
com um AWS SDK ou CLI
Os exemplos de código a seguir mostram como usar o UpdateAutoScalingGroup
.
Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação em contexto nos seguintes exemplos de código:
- .NET
-
- AWS SDK for .NET
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. /// <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; } }
-
Para API obter detalhes, consulte UpdateAutoScalingGroupem AWS SDK for .NET APIReferência.
-
- C++
-
- SDKpara C++
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da 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::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; }
-
Para API obter detalhes, consulte UpdateAutoScalingGroupem AWS SDK for C++ APIReferência.
-
- CLI
-
- AWS CLI
-
Exemplo 1: como atualizar os limites de tamanho de um grupo do Auto Scaling
Este exemplo atualiza o grupo do Auto Scaling especificado com um tamanho mínimo de 2 e máximo de 10.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --min-size2
\ --max-size10
Este comando não produz saída.
Para obter mais informações, consulte Definindo limites de capacidade para seu grupo de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.
Exemplo 2: como adicionar verificações de integridade do Elastic Load Balancing e especificar quais zonas de disponibilidade e sub-redes usar
Este exemplo atualiza o grupo do Auto Scaling especificado para adicionar verificações de integridade do Elastic Load Balancing. Esse comando também atualiza o valor de
--vpc-zone-identifier
com uma lista de sub-redes IDs em várias zonas de disponibilidade.aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --health-check-typeELB
\ --health-check-grace-period600
\ --vpc-zone-identifier"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
Este comando não produz saída.
Para obter mais informações, consulte Elastic Load Balancing e Amazon Auto EC2 Scaling no Guia do usuário do Amazon Auto EC2 Scaling.
Exemplo 3: como atualizar o grupo de posicionamento e a política de encerramento
Este exemplo atualiza o grupo de posicionamento e a política de encerramento que devem ser usados.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --placement-groupmy-placement-group
\ --termination-policies"OldestInstance"
Este comando não produz saída.
Para obter mais informações, consulte Grupos de Auto Scaling no Guia do usuário do Amazon Auto EC2 Scaling.
Exemplo 4: como usar a versão mais recente do modelo de execução
Este exemplo atualiza o grupo do Auto Scaling especificado para que use a versão mais recente do modelo de execução especificado.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest'Este comando não produz saída.
Para obter mais informações, consulte Modelos de lançamento no Guia do usuário do Amazon EC2 Auto Scaling.
Exemplo 5: como usar uma versão específica do modelo de execução
Este exemplo atualiza o grupo do Auto Scaling especificado para que use uma versão específica do modelo de execução em vez da versão mais recente ou padrão.
aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name
my-asg
\ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'Este comando não produz saída.
Para obter mais informações, consulte Modelos de lançamento no Guia do usuário do Amazon EC2 Auto Scaling.
Exemplo 6: como definir uma política de instâncias mistas e habilitar o rebalanceamento de capacidade
Este exemplo atualiza o grupo do Auto Scaling especificado para que use uma política de instâncias mistas e permita o rebalanceamento de capacidade. Essa estrutura permite especificar grupos com capacidades spot e sob demanda e usar modelos de execução diferentes para arquiteturas diferentes.
aws autoscaling update-auto-scaling-group \ --cli-input-json
file://~/config.json
Conteúdo de
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" } } }
Este comando não produz saída.
Para obter mais informações, consulte Grupos de Auto Scaling com vários tipos de instância e opções de compra no Guia do usuário do Amazon Auto EC2 Scaling.
-
Para API obter detalhes, consulte UpdateAutoScalingGroup
na Referência de AWS CLI Comandos.
-
- Java
-
- SDKpara Java 2.x
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. 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); } }
-
Para API obter detalhes, consulte UpdateAutoScalingGroupem AWS SDK for Java 2.x APIReferência.
-
- Kotlin
-
- SDKpara Kotlin
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. 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") } }
-
Para API obter detalhes, consulte a UpdateAutoScalingGroup
referência AWS SDKdo Kotlin API.
-
- PHP
-
- SDK para PHP
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. 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); }
-
Para API obter detalhes, consulte UpdateAutoScalingGroupem AWS SDK for PHP APIReferência.
-
- PowerShell
-
- Ferramentas para PowerShell
-
Exemplo 1: Este exemplo atualiza o tamanho mínimo e máximo do grupo de Auto Scaling especificado.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -MaxSize 5 -MinSize 1
Exemplo 2: Este exemplo atualiza o período de espera padrão do grupo de Auto Scaling especificado.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -DefaultCooldown 10
Exemplo 3: Este exemplo atualiza as zonas de disponibilidade do grupo de Auto Scaling especificado.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -AvailabilityZone @("us-west-2a", "us-west-2b")
Exemplo 4: Este exemplo atualiza o grupo de Auto Scaling especificado para usar as verificações de saúde do Elastic Load Balancing.
Update-ASAutoScalingGroup -AutoScalingGroupName my-asg -HealthCheckType ELB -HealthCheckGracePeriod 60
-
Para API obter detalhes, consulte UpdateAutoScalingGroupem Referência de AWS Tools for PowerShell cmdlet.
-
- Python
-
- SDKpara Python (Boto3)
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da 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 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
-
Para API obter detalhes, consulte a UpdateAutoScalingGroupReferência AWS SDK do Python (Boto3). API
-
- Rust
-
- SDKpara Rust
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da AWS
. 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(()) }
-
Para API obter detalhes, consulte UpdateAutoScalingGroup
a AWS SDKAPIreferência do Rust.
-