[英]Increase the count of instances in an autoscaling group using AWS CLI or Python
[英]Stop all instances in AWS Autoscaling Group at once using CLI
我正在使用此代碼從Auto Scaling組中分離實例
import os, subprocess
CMD = "aws autoscaling --region us-east-1 describe-auto-scaling-groups --query 'AutoScalingGroups[?contains(Tags[?Key==`Test_Tag_1`].Value,`SBX_Min_Det`)].Instances[*].[InstanceId]' --output text"
output = subprocess.check_output(CMD, shell=True)
lst = []
for char in output:
lst.append(char)
lst = ''.join(lst).split('\n')
lst.remove("")
print (lst)
for l in lst:
l = '"'+str(l)+'"'
new_cmd = "aws autoscaling --region us-east-1 detach-instances --auto-scaling-group-name Test_Group --should-decrement-desired-capacity --instance-ids "+l
subprocess.check_output(new_cmd, shell=True)
但是,我希望能夠使用一個腳本從多個組中分離多個實例。 我是Python和AWS CLI命令的新手。 任何幫助將不勝感激。 謝謝。
我對以前的腳本做了一些更改,如下所示,目前停留在這里。
import os, subprocess
CMD = "aws autoscaling --region us-east-1 describe-auto-scaling-groups --query 'AutoScalingGroups[?contains(Tags[?Key==`Name`].Value,`test_asg`)].[AutoScalingGroupName]' --output text"
output = subprocess.check_output(CMD, shell=True)
lst = []
for char in output:
lst.append(char)
lst = ''.join(lst).split('\n')
lst.remove("")
print (lst)
for l in lst:
l = '"'+str(l)+'"'
new_cmd = "aws autoscaling --region us-east-1 describe-auto-scaling-groups --query 'AutoScalingGroups[].Instances[*].[InstanceId]' --output text --auto-scaling-group-name "+l
output2 = subprocess.check_output(new_cmd, shell=True)
lst2 = []
for char in output2:
lst2.append(char)
lst2 = ''.join(lst2).split('\n')
lst2.remove("")
print(lst2)
for l2 in lst2:
l2 = '"'+str(l2)+'"'
new_cmd_2 = "aws autoscaling --region us-east-1 detach-instances --auto-scaling-group-name $CMD --should-decrement-desired-capacity --instance-ids "+l
subprocess.check_output(new_cmd_2, shell=True)
Amazon EC2 Auto Scaling組可用於根據需要自動置備許多Amazon EC2實例。
例如,當實例繁忙時, 擴展策略可以自動啟動其他實例(“向外擴展”)。 然后,在晚上,當實例未得到充分利用時,Auto Scaling可以自動刪除實例(“放大”)。
Auto Scaling還監視Auto Scaling組中實例的運行狀況,並自動替換任何失敗的實例。
這是通過指定定義如何啟動新實例的啟動配置來完成的,包括實例類型,AMI和安全組。
縮放類型包括:
Amazon EC2 Auto Scaling的動態擴展-Amazon EC2 Auto Scaling可以通過以下方式控制:
最簡單的方法是對Amazon EC2 Auto Scaling使用目標跟蹤擴展策略 :
使用目標跟蹤擴展策略,您可以選擇擴展指標並設置目標值。 Amazon EC2 Auto Scaling創建和管理CloudWatch警報,這些警報觸發縮放策略並根據指標和目標值計算縮放調整。 擴展策略根據需要添加或刪除容量,以使度量標准保持在指定目標值或接近指定目標值。 除了使度量保持接近目標值外,目標跟蹤縮放策略還根據負載模式的變化來適應度量的變化。
底線:你不應該分離和附加實例的自動縮放組。 相反,您應該基於指定的指標(例如,CPU利用率,用戶數,工作積壓等)配置擴展策略以使其自動發生。
請注意,Auto Scaling會啟動新實例或終止實例 。 它不會啟動/停止實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.