【发布时间】:2021-06-17 08:23:11
【问题描述】:
寻找一些指针,
我正在尝试在 AWS ECS 上的 Windows 容器上运行 Windows 计划任务,到目前为止我有:
- EC2 Windows 实例
- 具有正在运行的容器实例的 ECS (Windows)
- 应用于 ECS 主机的 IAM 角色
- S3 存储桶
我编写了一个 powershell 脚本,用于与 S3 存储桶交互,当我从 AWS 会话管理器执行它并执行到正在运行的容器中时,它运行得非常好。 aws configure list 命令显示它正在使用的凭据(容器角色),一切正常交互。
问题是我需要这是一个定时操作,所以我创建了一个计划任务来运行 powershell 命令,这就是问题开始的地方:
- 以系统方式运行计划任务 not 意味着它不会像守护程序一样运行/无需登录/非交互方式 - 但是,当我尝试执行相同的脚本时,aws cli 命令会失败,因为他们找不到 AWS 凭证,aws configure list 返回空,s3 命令返回 No credentials found 消息。
- 以容器管理员用户身份运行计划任务(AWS Session shell 将我登录为该用户)拒绝执行任务 - 尽管它显示为准备就绪,但它从未运行,我相信因为那是同一个用户还设置了计划任务,它被隐式设置为仅在用户登录时运行 - 除非我使用 /NP 开关,它希望我以交互方式输入密码(不好)。
为什么以 SYSTEM 用户身份运行的计划任务无法使用与我通过 AWS 会话管理器登录的 ContainerAdmin 用户相同的 AWS CLI 命令?我是否在某处错过了计划任务命令的选项?
提前致谢
【问题讨论】:
标签: windows amazon-s3 amazon-ec2 amazon-ecs