跳至内容

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

1 分钟阅读
0

我想自动创建由 Amazon Elastic Block Store (EBS) 提供支持的 Amazon Elastic Compute Cloud (Amazon EC2) 实例的亚马逊机器映像 (AMI)。我该如何操作?

简短描述

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

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

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

解决方法

要自动创建 AMI,请按照以下步骤操作:

**注意:**如果在运行 AWS 命令行界面 (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. 注册自动化任务以创建 AMI。
    对于 Actions(操作),选择 Register Automation task(注册自动化任务)。
    对于 Automation document(自动化文档),选择 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 创建标准化的亚马逊机器映像 (AMI)

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

在 AWS 请求期间控制访问

AWS 官方已更新 4 年前