使用 AMI 世系跟踪 AMI 的源
AMI 世系通过返回所有原级 AMI 的 ID 和区域来帮助您跟踪 AMI 的源。当您创建或复制 AMI 时,新 AMI 会保留其源(父)AMI 的 ID 和区域。这使您能够跟踪 AMI 的链,直至根 AMI。
AMI 世系的工作原理
AMI 世系识别用于创建指定 AMI 的父 AMI、父级的父级,依此类推,直至根 AMI。下面将介绍操作方式:
-
每个 AMI 都会显示其源(父)AMI 的 ID 和区域。
-
从所选 AMI 开始,世系条目列表按顺序显示每个父 AMI。
-
世系条目列表可以追溯到根 AMI。根 AMI 可以是以下任一项:
-
来自经过验证的提供商的公共 AMI(由其所有者别名标识,即 amazon 或 aws-marketplace)。
-
没有记录的原级的 AMI。例如,当使用 RegisterImage 直接从一组快照创建 AMI 时,与从实例创建 AMI 时不同,此时没有要跟踪的源 AMI。
-
一个 AMI,其源 AMI 来自不同的分区。
-
列表中的第 50 个 AMI。世系列表中最多可以包含 50 个 AMI。
注意事项
查看 AMI 世系
您可以使用以下方法查看 AMI 的世系。
- Console
-
查看 AMI 的世系
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/。
-
在导航窗格中,选择 AMI。
-
选择一个 AMI,然后选择 AMI 世系选项卡。
-
AMI 世系条目表列出了世系列表中的所有 AMI。
-
AMI ID:世系列表中每个 AMI 的标识符。表中的第一个条目是选定的 AMI,后面是其原级。
-
源 AMI ID:创建 AMI ID 列中的 AMI 所依据的 AMI 的 ID。破折号(-)表示 AMI 世系列表的结尾。
-
源 AMI 区域:源 AMI 所在的 AWS 区域。
-
世系等级:世系列表中的位置,其中:
-
创建日期:AMI 的创建时间,采用 UTC 格式。
-
所有者别名:AMI 所有者的别名(例如 amazon)。破折号(-)表示 AMI 没有所有者别名。
- AWS CLI
-
查看 AMI 的世系
使用 get-image-ancestry 命令并指定 AMI ID。
aws ec2 get-image-ancestry \
--image-id ami-1111111111EXAMPLE \
--region us-east-1
下面是示例输出。输出按照世系顺序列出 AMI:第一个条目是指定的(输入)AMI,后面依次是其父级、父级的父级,依此类推,直到根 AMI。
{
"ImageAncestryEntries": [
{
"CreationDate": "2025-01-17T18:37:50.000Z",
"ImageId": "ami-1111111111EXAMPLE", // Input AMI
"SourceImageId": "ami-2222222222EXAMPLE",
"SourceImageRegion": "us-east-1"
},
{
"CreationDate": "2025-01-17T18:37:50.000Z",
"ImageId": "ami-2222222222EXAMPLE", // Parent AMI
"SourceImageId": "ami-3333333333EXAMPLE",
"SourceImageRegion": "us-east-1"
},
...
{
"CreationDate": "2025-01-17T18:37:50.000Z",
"ImageId": "ami-8888888888EXAMPLE", // Root AMI
"ImageOwnerAlias": "aws-marketplace",
"SourceImageId": "ami-9999999999EXAMPLE",
"SourceImageRegion": "us-east-2"
}
]
}
- PowerShell
-
查看 AMI 的世系
使用 Get-EC2ImageAncestry cmdlet。
Get-EC2ImageAncestry -ImageId ami-1111111111EXAMPLE
下面是示例输出。输出按照世系顺序列出 AMI:第一个条目是指定的(输入)AMI,后面依次是其父级、父级的父级,依此类推,直到根 AMI。
ImageAncestryEntries : {
@{
CreationDate = "2025-01-17T18:37:50.000Z"
ImageId = "ami-1111111111EXAMPLE" # Input AMI
SourceImageId = "ami-2222222222EXAMPLE"
SourceImageRegion = "us-east-1"
},
@{
CreationDate = "2025-01-17T18:37:50.000Z"
ImageId = "ami-2222222222EXAMPLE" # Parent AMI
SourceImageId = "ami-3333333333EXAMPLE"
SourceImageRegion = "us-east-1"
},
...
@{
CreationDate = "2025-01-17T18:37:50.000Z"
ImageId = "ami-8888888888EXAMPLE" # Root AMI
ImageOwnerAlias = "aws-marketplace"
SourceImageId = "ami-9999999999EXAMPLE"
SourceImageRegion = "us-east-2"
}
}
识别源 AMI
如果您只需要识别用于创建某个 AMI 的直接父级(源)AMI,则可以使用以下方法。
- Console
-
- AWS CLI
-
识别用于创建指定 AMI 的源 AMI
使用 describe-images 命令。
aws ec2 describe-images \
--region us-east-1 \
--image-ids ami-0abcdef1234567890 \
--query "Images[].{ID:SourceImageId,Region:SourceImageRegion}"
下面是示例输出。
[
{
"ID": "ami-0abcdef1234567890",
"Region": "us-west-2"
}
}
- PowerShell
-
识别用于创建指定 AMI 的源 AMI
使用 Get-EC2Image cmdlet。
Get-EC2Image -ImageId ami-0abcdef1234567890 | Select SourceImageId, SourceImageRegion
下面是示例输出。
SourceImageId SourceImageRegion
------------- -----------------
ami-0abcdef1234567890 us-west-2