使用 Windows PowerShell 查找 Amazon Machine Image - AWS Tools for PowerShell

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Windows PowerShell 查找 Amazon Machine Image

在启动 Amazon EC2 实例时,您需要指定一个 Amazon Machine Image (AMI) 以用作该实例的模板。不过,AWS Windows AMI 的 ID 会频繁发生更改,因为AWS会提供新 AMI 以及最新的更新和安全增强。可以使用 Get-EC2ImageGet-EC2ImageByName cmdlet 来查找当前 Windows AMI 并获取其 ID。

Get-EC2Image

Get-EC2Image cmdlet 会检索您可使用的 AMI 的列表。

-Owner 参数与数组值 amazon, self 结合使用,以便 Get-EC2Image 仅检索属于 Amazon 或您的 AMI。在此上下文中,指的是您要使用其凭证来调用 cmdlet 的用户。

PS > Get-EC2Image -Owner amazon, self

可使用 -Filter 参数限定结果的范围。要指定筛选条件,可创建类型为 Amazon.EC2.Model.Filter 的对象。例如,使用以下筛选条件可以只显示 Windows AMI。

$platform_values = New-Object 'collections.generic.list[string]' $platform_values.add("windows") $filter_platform = New-Object Amazon.EC2.Model.Filter -Property @{Name = "platform"; Values = $platform_values} Get-EC2Image -Owner amazon, self -Filter $filter_platform

以下示例是 cmdlet 返回的 AMI 之一;上一条命令的实际输出提供了多个 AMI 的信息。

Architecture : x86_64 BlockDeviceMappings : {/dev/sda1, xvdca, xvdcb, xvdcc…} CreationDate : 2019-06-12T10:41:31.000Z Description : Microsoft Windows Server 2019 Full Locale English with SQL Web 2017 AMI provided by Amazon EnaSupport : True Hypervisor : xen ImageId : ami-000226b77608d973b ImageLocation : amazon/Windows_Server-2019-English-Full-SQL_2017_Web-2019.06.12 ImageOwnerAlias : amazon ImageType : machine KernelId : Name : Windows_Server-2019-English-Full-SQL_2017_Web-2019.06.12 OwnerId : 801119661308 Platform : Windows ProductCodes : {} Public : True RamdiskId : RootDeviceName : /dev/sda1 RootDeviceType : ebs SriovNetSupport : simple State : available StateReason : Tags : {} VirtualizationType : hvm

Get-EC2ImageByName

Get-EC2ImageByName cmdlet 使您能够基于所需的服务器配置类型筛选 AWS Windows AMI 的列表。

在没有参数的情况下运行时(如下所示),cmdlet 会发出整组当前筛选条件名称:

PS > Get-EC2ImageByName WINDOWS_2016_BASE WINDOWS_2016_NANO WINDOWS_2016_CORE WINDOWS_2016_CONTAINER WINDOWS_2016_SQL_SERVER_ENTERPRISE_2016 WINDOWS_2016_SQL_SERVER_STANDARD_2016 WINDOWS_2016_SQL_SERVER_WEB_2016 WINDOWS_2016_SQL_SERVER_EXPRESS_2016 WINDOWS_2012R2_BASE WINDOWS_2012R2_CORE WINDOWS_2012R2_SQL_SERVER_EXPRESS_2016 WINDOWS_2012R2_SQL_SERVER_STANDARD_2016 WINDOWS_2012R2_SQL_SERVER_WEB_2016 WINDOWS_2012R2_SQL_SERVER_EXPRESS_2014 WINDOWS_2012R2_SQL_SERVER_STANDARD_2014 WINDOWS_2012R2_SQL_SERVER_WEB_2014 WINDOWS_2012_BASE WINDOWS_2012_SQL_SERVER_EXPRESS_2014 WINDOWS_2012_SQL_SERVER_STANDARD_2014 WINDOWS_2012_SQL_SERVER_WEB_2014 WINDOWS_2012_SQL_SERVER_EXPRESS_2012 WINDOWS_2012_SQL_SERVER_STANDARD_2012 WINDOWS_2012_SQL_SERVER_WEB_2012 WINDOWS_2012_SQL_SERVER_EXPRESS_2008 WINDOWS_2012_SQL_SERVER_STANDARD_2008 WINDOWS_2012_SQL_SERVER_WEB_2008 WINDOWS_2008R2_BASE WINDOWS_2008R2_SQL_SERVER_EXPRESS_2012 WINDOWS_2008R2_SQL_SERVER_STANDARD_2012 WINDOWS_2008R2_SQL_SERVER_WEB_2012 WINDOWS_2008R2_SQL_SERVER_EXPRESS_2008 WINDOWS_2008R2_SQL_SERVER_STANDARD_2008 WINDOWS_2008R2_SQL_SERVER_WEB_2008 WINDOWS_2008RTM_BASE WINDOWS_2008RTM_SQL_SERVER_EXPRESS_2008 WINDOWS_2008RTM_SQL_SERVER_STANDARD_2008 WINDOWS_2008_BEANSTALK_IIS75 WINDOWS_2012_BEANSTALK_IIS8 VPC_NAT

要缩小返回的映像集,请使用 Names 参数指定一个或多个筛选条件名称。

PS > Get-EC2ImageByName -Names WINDOWS_2016_CORE Architecture : x86_64 BlockDeviceMappings : {/dev/sda1, xvdca, xvdcb, xvdcc…} CreationDate : 2019-08-16T09:36:09.000Z Description : Microsoft Windows Server 2016 Core Locale English AMI provided by Amazon EnaSupport : True Hypervisor : xen ImageId : ami-06f2a2afca06f15fc ImageLocation : amazon/Windows_Server-2016-English-Core-Base-2019.08.16 ImageOwnerAlias : amazon ImageType : machine KernelId : Name : Windows_Server-2016-English-Core-Base-2019.08.16 OwnerId : 801119661308 Platform : Windows ProductCodes : {} Public : True RamdiskId : RootDeviceName : /dev/sda1 RootDeviceType : ebs SriovNetSupport : simple State : available StateReason : Tags : {} VirtualizationType : hvm