Я пытаюсь создать функцию в python, которая создает новый экземпляр ec2 в указанной области c. Для работы функции мне нужно указать AMI этого нового экземпляра. Проблема в том, что один и тот же AMI (например, Amazon Linux) имеет разные идентификаторы в разных регионах, и я не могу использовать изображение одного региона в другом экземпляре региона.
и я не могу понять, как я могу получить этот идентификатор AMI в этом указанном c регионе
def create_instance(region):
ec2 = boto3.resource('ec2', region)
instances = ec2.create_instances(InstanceType='t2.micro',
MinCount=1, MaxCount=1,
ImageId='AMI-id') # What do I put here?
На данный момент не очень важно, что такое AMI, кроме того факта, что это Linux и свободный уровень, так что, возможно, будет работать поиск по указанному c известному свободному уровню Linux AMI.
Я знаю, что вы можете получить все AMI, используя функцию description_images (), но как это сделать? Я фильтрую только те из них, которые Linux (может быть указана c версия) и уровень бесплатного доступа
boto3.client('ec2').describe_images(Filters["""What do I write here to get only linux free-tier AMI"""])