Как получить список зон, действительных для данного типа экземпляра? - PullRequest
1 голос
/ 07 июня 2019

В некоторых случаях требуется запуск в определенной зоне, но не все экземпляры есть во всех зонах.В частности, p3dn.24xlarge экземпляры присутствуют только в 2 зонах Вирджинии.

Может кто-нибудь порекомендовать способ получить действительные зоны для типа экземпляра с использованием boto3?

При запуске через пользовательский интерфейс яиспользовал график «История точечных экземпляров», чтобы определить, какие зоны разрешены

enter image description here

1 Ответ

2 голосов
/ 08 июня 2019

Этот фрагмент дает мне список AZ, которые поддерживают тип пятна экземпляра (вместе с ценой):

import boto3

instanceType = 'p3dn.24xlarge'
product = 'Linux/UNIX (Amazon VPC)'

for region in boto3.client('ec2').describe_regions()['Regions']:
    client = boto3.client('ec2', region_name=region['RegionName'])
    for zone in [z['ZoneName'] for z in client.describe_availability_zones()['AvailabilityZones'] if z['State'] == 'available']:
        try:
            price = client.describe_spot_price_history(InstanceTypes=[instanceType],
                                                       MaxResults=1,
                                                       ProductDescriptions=[product],
                                                       AvailabilityZone=zone)['SpotPriceHistory'][0]['SpotPrice']
            print("%s: %s" % (zone, price))
        except IndexError: pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...