Есть ли способ увидеть, сколько экземпляров находится в зоне доступности для AWS? Я хочу использовать runInstances api для вызова экземпляров, но вызывать его в наименее загруженной зоне, в которой я не вижу очевидного решения. Благодарю.Посмотрите, сколько экземпляров aws находится в каждой зоне доступности
ответ
Насколько я знаю, нет способа проверить количество экземпляров в AZ. Вы можете использовать группу Autoscaling и указать AZ, которые вы хотите создать при создании. Автомасштабирование будет рассеивать нагрузку экземпляра равномерно среди перечисленных АЦК
AZ = Наличие зоны
Очевидное решение, кажется, это было бы назвать DescribeInstances и использовать availability-zone
фильтр, чтобы запросить подробную информацию о случаях в каждой зоне вы хотите для проверки и подсчета экземпляров, возвращаемых в ответ.
Или не используйте фильтр, который получит все из них для региона, а затем просмотрите записи, чтобы увидеть, где находится каждый из них, поскольку эта информация возвращается в ответ.
<instancesSet>
<item>
<instanceId>i-1a2b3c4d</instanceId>
...
<placement>
<availabilityZone>us-west-2a</availabilityZone>
<groupName/>
<tenancy>default</tenancy>
</placement>
У меня была та же проблема. Я решил это с помощью aws cli:
aws cloudformation describe-stack-resources --stack-name STACKNAME\
--output text | grep 'AWS::AutoScaling::AutoScalingGroup' | cut -f3 > /tmp/tmpfile
ASGNAME="`cat /tmp/tmpfile`"
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names $ASGNAME \
--output text | egrep -e 'INSTANCES.*InService'