将 CreateImage 与 CLI 配合使用 - Amazon Elastic Compute Cloud

CreateImage 与 CLI 配合使用

以下代码示例演示如何使用 CreateImage

CLI
AWS CLI

示例 1:从 Amazon EBS 支持的实例创建 AMI

以下 create-image 示例从指定的实例创建 AMI。

aws ec2 create-image \ --instance-id i-1234567890abcdef0 \ --name "My server" \ --description "An AMI for my server"

输出:

{ "ImageId": "ami-abcdef01234567890" }

有关为 AMI 指定块设备映射的更多信息,请参阅《Amazon EC2 用户指南》中的为 AMI 指定块设备映射

示例 2:在不重启的情况下从 Amazon EBS 支持的实例创建 AMI

以下 create-image 示例创建 AMI 并设置 --no-reboot 参数,这样在创建映像之前就不会重启实例。

aws ec2 create-image \ --instance-id i-1234567890abcdef0 \ --name "My server" \ --no-reboot

输出:

{ "ImageId": "ami-abcdef01234567890" }

有关为 AMI 指定块设备映射的更多信息,请参阅《Amazon EC2 用户指南》中的为 AMI 指定块设备映射

示例 3:在创建时标记 AMI 和快照

以下 create-image 示例创建 AMI,并使用相同的标签 cost-center=cc123 标记 AMI 和快照。

aws ec2 create-image \ --instance-id i-1234567890abcdef0 \ --name "My server" \ --tag-specifications "ResourceType=image,Tags=[{Key=cost-center,Value=cc123}]" "ResourceType=snapshot,Tags=[{Key=cost-center,Value=cc123}]"

输出:

{ "ImageId": "ami-abcdef01234567890" }

有关在创建时标记资源的更多信息,请参阅《Amazon EC2 用户指南》中的在创建资源时添加标签

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateImage

PowerShell
Tools for PowerShell V4

示例 1:此示例从指定的实例创建具有指定名称和描述的 AMI。Amazon EC2 在创建映像前尝试彻底关闭实例,并在完成后重新启动实例。

New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI"

示例 2:此示例从指定的实例创建具有指定名称和描述的 AMI。Amazon EC2 无需关闭和重新启动实例即可创建映像;因此,无法保证所创建映像上的文件系统完整性。

New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI" -NoReboot $true

示例 3:此示例创建一个包含三个卷的 AMI。第一个卷基于 Amazon EBS 快照。第二个卷是一个空的 100 GiB Amazon EBS 卷。第三卷是一个实例存储卷。此示例使用的语法需要 PowerShell 版本 3 或更高版本。

$ebsBlock1 = @{SnapshotId="snap-1a2b3c4d"} $ebsBlock2 = @{VolumeSize=100} New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI" -BlockDeviceMapping @( @{DeviceName="/dev/sdf";Ebs=$ebsBlock1}, @{DeviceName="/dev/sdg";Ebs=$ebsBlock2}, @{DeviceName="/dev/sdc";VirtualName="ephemeral0"})
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 CreateImage

Tools for PowerShell V5

示例 1:此示例从指定的实例创建具有指定名称和描述的 AMI。Amazon EC2 在创建映像前尝试彻底关闭实例,并在完成后重新启动实例。

New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI"

示例 2:此示例从指定的实例创建具有指定名称和描述的 AMI。Amazon EC2 无需关闭和重新启动实例即可创建映像;因此,无法保证所创建映像上的文件系统完整性。

New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI" -NoReboot $true

示例 3:此示例创建一个包含三个卷的 AMI。第一个卷基于 Amazon EBS 快照。第二个卷是一个空的 100 GiB Amazon EBS 卷。第三卷是一个实例存储卷。此示例使用的语法需要 PowerShell 版本 3 或更高版本。

$ebsBlock1 = @{SnapshotId="snap-1a2b3c4d"} $ebsBlock2 = @{VolumeSize=100} New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI" -BlockDeviceMapping @( @{DeviceName="/dev/sdf";Ebs=$ebsBlock1}, @{DeviceName="/dev/sdg";Ebs=$ebsBlock2}, @{DeviceName="/dev/sdc";VirtualName="ephemeral0"})
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V5)》中的 CreateImage

有关 AWS SDK 开发人员指南和代码示例的完整列表,请参阅 使用 AWS SDK 创建 Amazon EC2 资源。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。