如何使用 Systems Manager Automation 为 EBS 支持的 EC2 实例自动创建 AMI?

1 分钟阅读
0

我想为 Amazon Elastic Block Store (EBS) 支持的 Amazon Elastic Compute Cloud (Amazon EC2) 实例自动创建 Amazon Machine Image (AMI)。我该如何操作?

简短描述

您可以使用 AWS Systems Manager 创建维护时段,然后注册一个自动化任务来自动创建 AMI。此流程对 Windows 和 Linux 实例均适用。

您要为之创建 AMI 的实例必须在 Systems Manager 列为托管实例。首先,验证该实例是否符合所有使用 Systems Manager 的先决条件。如果该实例使用私有子网,您可以为 Systems Manager 创建 VPC 终端节点

注意(仅限 Windows):当您使用以下自动化流程时,Sysprep 在创建 AMI 之前尚未在 Windows 实例上运行。

解决方法

要自动创建 AMI,请执行以下步骤:

注意:如果在运行 AWS Command Line Interface (AWS CLI) 命令时收到错误,请确保使用的是最新版本的 AWS CLI

  1. 创建一个 AWS Identity and Access Management (IAM) 角色并授予其在维护时段内创建 AMI 的权限。您可以使用 IAM 控制台AWS CLI适用于 Windows PowerShell 的工具
  2. 创建维护时段
    Schedule(计划)部分,就 Specify with(指定使用)选择 Cron schedule builder(Cron 计划生成器)。
  3. 为维护时段分配目标
  4. 注册 Automation 任务以创建 AMI。
    对于操作,选择 注册 Automation 任务
    对于 Automation 文档,选择 AWS-CreateImage
    IAM service role(IAM 服务角色)选择 Use a custom service role(使用自定义服务角色),然后选择您在本文第 1 步中创建的 IAM 角色。
    Input parameters(输入参数)部分,就 InstanceId 输入虚拟参数占位符 {{TARGET_ID}}{{RESOURCE_ID}}

**注意:**输入虚拟参数占位符时,请注意以下事项:

如果目标类型是 RESOURCE_GROUP{{TARGET_ID}} 参数将返回资源的完整 ARN。{{RESOURCE_ID}} 参数将返回资源的较短名称或 ID。

示例

  • {{TARGET_ID}} 格式:arn:aws:ec2:us-east-1:123456789012:instance/i-02573cafcfEXAMPLE
  • {{RESOURCE_ID}} 格式:i-02573cafcfEXAMPLE

如果目标类型是 INSTANCE(实例),{{TARGET_ID}}{{RESOURCE_ID}} 参数都只返回实例 ID。

有关虚拟参数的详细信息,请参阅《关于虚拟参数》。

有关受支持的虚拟参数的列表,请参阅《支持的虚拟参数》。


相关信息

使用维护时段(控制台)

Systems Manager 维护时段教程 (AWS CLI)

使用 Sysprep 创建标准化 Amazon Machine Image (AMI)

如何限制访问权限以仅从标记的 AMI 启动 Amazon EC2 实例?

在 AWS 请求期间控制访问

相关视频

AWS 官方
AWS 官方已更新 2 年前