【问题标题】:AWS EC2 Image Builder: How to prevent removing SSM AgentAWS EC2 Image Builder:如何防止删除 SSM 代理
【发布时间】:2026-02-03 19:35:01
【问题描述】:

我需要准备一个基于 CentOS 8 并预装了 SSM-agent 的 AMI。尝试为此使用 Image Builder。根据documentation

用于使用 Image Builder 构建映像和运行测试的实例必须有权访问 Systems Manager 服务。所有构建活动均由 SSM 自动化协调。 SSM 代理将安装在源映像上(如果它尚不存在),并将在创建映像之前将其删除。

所以问题是如何防止删除 SSM-agent?我需要保持安装。遗憾的是在文档中找不到解决方案。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-ssm-agent


    【解决方案1】:

    如果源 AMI 中不存在 SSM,ImageBuilder 会安装 SSM 代理,并在获取 AMI 之前卸载该代理。 当 ImageBuilder 安装 SSM 代理时,它会跟踪代理的安装(在一个文件中),它位于/tmp/imagebuilder_service/ssm_installed。 您只需将该文件作为构建的一部分删除,它就不会删除 SSM 代理。

    在 Imagebuilder 构建组件中添加一个额外的步骤以保留 SSM 代理安装

    - name: RetainSSMAgentInstallation
        action: ExecuteBash
        inputs:
          commands:
            - sudo rm -rf /tmp/imagebuilder_service/ssm_installed
    

    【讨论】:

    • @Venu,感谢您的回复。我向 AWS 支持提出了一个案例 - 他们为我提供了与您相同的解决方案。忘记用解决方案更新我的帖子。不过还是谢谢你。
    • 谢谢!我发现不需要 sudo。