как запросить последнюю версию beanstalk ami для конкретной платформы c для использования в упаковщике? - PullRequest
0 голосов
/ 14 февраля 2020

Я не создаю "пользовательскую платформу" для beanstalk. Я просто хочу создать пользовательский ami из последней версии beanstalk ami для моей платформы. это было очень неприятно, потому что я не могу найти хорошую документацию для этого.

Я могу получить последнюю версию ami arn, например:

aws elasticbeanstalk describe-platform-version \
    --platform-arn "arn:aws:elasticbeanstalk:us-east-2::platform/IIS 10.0 running on 64bit Windows Server 2019/2.5.0" \
    --query 'PlatformDescription.CustomAmiList[?VirtualizationType==`hvm`].ImageId'

Но я хочу сделать это в пакере следующим образом:

"source_ami_filter": {
  "filters": {
    "virtualization-type": "hvm",
    "name": "*Windows_Server-2012-R2*English-64Bit-Base*",
    "root-device-type": "ebs"
  },
  "most_recent": true,
  "owners": "amazon"
},

Каков правильный source_ami_filter для получения последней версии IIS 10.0, работающей на 64-битном Windows Сервере 2019? Похоже, это вызов метода description-images, но я не могу понять hwo, чтобы получить beanstalk ami с этим

Это ничего не возвращает, например:

aws ec2 describe-images --filters Name=name,Values='IIS 10.0 running on 64bit Windows Server 2019*'

EDIT

Использование awsasticbeanstalk description-platform-version Я получаю это

aws elasticbeanstalk describe-platform-version --region us-east-1 --platform-arn "arn:aws:elasticbeanstalk:us-east-1::platform/IIS 10.0 running on 64bit Windows Server 2019/2.5.0" --query 'PlatformDescription.CustomAmiList[?VirtualizationType==`hvm`].ImageId'

Возвращает: ami-0fd1bbf3adf035706

, но описания изображений показывают, что последнее изображение - это нечто другое. Я хочу указать конкретную c платформу и версию ("arn: aws :asticbeanstalk: us-east-2 :: platform / IIS 10.0, работающий на 64-битном Windows сервере 2019 / 2.5.0")

Использование description-images в строке имени показывает нечто иное:

1 Ответ

1 голос
/ 25 февраля 2020

Попробуйте с aws-elasticbeanstalk-amzn-??????????.x86_64-WindowsServer2019-V2-hvm-*.

В качестве примера, следующая команда cli получит все текущие доступные образы для IIS 10.0, работающего на 64-битном Windows сервере 2019, отсортирует по дате обратного создания и возьмет первый идентификатор AMI из списка, который тот, на который вы нацелены.

aws ec2 describe-images --owners amazon --filters 'Name=name,Values=aws-elasticbeanstalk-amzn-??????????.x86_64-WindowsServer2019-V2-hvm-*' 'Name=state,Values=available' --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' --output text --region=us-east-2

Вывод:

ami-0e76ecdeebe63dc5 c

...