簡體   English   中英

如何查詢特定平台的最新 Beanstalk ami 以在打包程序中使用?

[英]How do I query for the latest Beanstalk ami of a specific platform to use in packer?

我不是在為 Beanstalk 創建一個“自定義平台”,我只是想從最新的 Beanstalk ami 為我的平台構建一個自定義 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"
},

在 64 位 Windows Server 2019 上運行最新版本的 IIS 10.0 的正確 source_ami_filter 是什么? 它似乎調用了 describe-images 方法,但我不知道如何使用它來獲取 Beanstalk ami。

例如,這不返回任何內容:

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

編輯

使用 aws elasticbeanstalk describe-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

但描述圖像顯示最新圖像有所不同。 我想針對特定平台和版本(“arn:aws:elasticbeanstalk:us-east-2::platform/IIS 10.0 running on 64bit Windows Server 2019/2.5.0”)

在名稱字符串上使用 describe-image 會顯示不同的內容:

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

2020-02-21T23:32:24.000Z    aws-elasticbeanstalk-amzn-2020.02.12.x86_64-WindowsServer2019-V2-hvm-202002212241   ami-044ff22e194ea0ba3
2020-02-21T19:07:22.000Z    aws-elasticbeanstalk-amzn-2020.02.12.x86_64-WindowsServer2019-V2-hvm-202002211814   ami-0fe9d8b6587daca04
2020-01-19T23:02:54.000Z    aws-elasticbeanstalk-amzn-2020.01.15.x86_64-WindowsServer2019-V2-hvm-202001192219   ami-0fd1bbf3adf035706
2020-01-19T03:46:03.000Z    aws-elasticbeanstalk-amzn-2020.01.15.x86_64-WindowsServer2019-V2-hvm-202001190252   ami-0e70abb9312eb34e5
2020-01-11T01:12:23.000Z    aws-elasticbeanstalk-amzn-2019.12.16.x86_64-WindowsServer2019-V2-hvm-202001110020   ami-08df7b236ed19e461
2020-01-10T00:02:51.000Z    aws-elasticbeanstalk-amzn-2019.12.16.x86_64-WindowsServer2019-V2-hvm-202001092311   ami-0664773b5a898cc82

嘗試使用aws-elasticbeanstalk-amzn-??????????.x86_64-WindowsServer2019-V2-hvm-*

例如,以下 cli 命令將獲取在 64 位 Windows Server 2019 上運行的 IIS 10.0 的所有當前可用映像,按反向創建日期排序並從列表中獲取第一個 AMI ID,這是您的目標。

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-0e76ecdeebe63dc5c

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM