2017-04-13 66 views
1

當我做AWS - 找到一個Linux AMI

aws ec2 describe-images --filters "Name=platform,Values=windows" 

我得到數百結果怎麼來,但是當我這樣做:

aws ec2 describe-images --filters "Name=platform,Values=linux" 

我得到:

{ 
    "Images": [] 
} 

aws ec2 describe-images --filters "Name=platform,Values=ubuntu" 
{ 
    "Images": [] 
} 
+0

也許您的EC2只是Windows映像? – Justinas

回答

1

正如Khalid指出的那樣,platform標籤似乎只能在Windows上設置和支持。

您可以搜索,而不是描述:

aws ec2 describe-images --filters "Name=description,Values=*ubuntu*" 
aws ec2 describe-images --filters "Name=description,Values=*linux*" 

這些給出了很多結果....

如果您正在尋找官方亞馬遜的AMI你可以檢查:

aws ec2 describe-images --filters "Name=description,Values=*Linux*" "Name=owner-alias,Values=amazon" 
1

雖然AWS在其website上未明確說明這一點,但似乎describe-images中的platform篩選器的行爲方式與describe-instances的行爲相同。它只接受windows或空。

平臺 - 平臺。如果您有Windows實例,請使用windows; 否則,留空。

This reference明確規定,對於platform過濾器的唯一有效值爲windows。 (頁353)

+0

如果你把它留空,你會得到'windows'以及Linux? – Snowcrash

+0

測試 - 是的,它的確如此。離奇。 – Snowcrash

0

如果您需要檢索所有可用Ubuntu映像的信息,那麼您可以這樣做:

aws ec2 describe-images --filters "Name=name,Values=*ubuntu*" 

它會返回一個很長的,你可以使用下列任一過濾器的進一步過濾結果列表:VirtualizationType,名稱,虛擬機管理程序,圖像標識,狀態,BlockDeviceMappings,建築,ImageLocation,RootDeviceType,CreationDate,公共,將ImageType 。您甚至可以指定AMI的所有者,例如:

aws ec2 describe-images --filters "Name=architecture,Values=x86_64" "Name=root-device-type,Values=ebs" "Name=virtualization-type,Values=hvm" "Name=name,Values=*ubuntu*xenial*" --owners=099720109477