将 CreateImage 与 CLI 配合使用
以下代码示例演示如何使用 CreateImage。
- CLI
-
- AWS CLI
-
示例 1:从 Amazon EBS 支持的实例创建 AMI
以下
create-image示例从指定的实例创建 AMI。aws ec2 create-image \ --instance-idi-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-idi-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-idi-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 版本的详细信息。