Pour le bénéfice des utilisateurs qui visitent cette réponse à l'avenir, voici une explication plus élaborée:
EC2 vous permet de définir/modifiez manuellement la capacité de votre groupe de mise à l'échelle automatique, en fonction du planning ou de la demande, comme indiqué dans the docs. Cependant, le terme «mise à l'échelle manuelle» peut être un peu trompeur car, comme presque tous les aspects d'AWS, tout ce que vous pouvez faire manuellement peut être scripté via l'interface CLI ou via les SDK.
Dans le cas d'un groupe de mise à l'échelle automatique EC2, la capacité est configurable et peut être modifiée dynamiquement pendant l'exécution - le changement de capacité entraîne l'ajout ou le retrait automatique d'instances. Dans ce cas, une solution consisterait à détecter les événements de cycle de vie spécifiques à votre application dans votre code d'application. En réponse à ces événements, utilisez le kit AWS SDK approprié pour modifier la capacité de votre groupe de mise à l'échelle automatique.
En ruby cela peut se faire comme suit (exemples tirés de AWS API documentation):
autoscaling = Aws::AutoScaling::Client.new(
region: region_name,
credentials: credentials
)
resp = autoscaling.set_desired_capacity(
# required
auto_scaling_group_name: "ResourceName",
# required
desired_capacity: 1,
honor_cooldown: true,
)