我们使用 cloudformation 来管理 AWS 部署。该部署由一个主要的整体服务组成,具有许多环境变量,位于 cloudformation 文件中。
我们想添加一个调度程序,在不同的cloudformation堆栈中管理,它运行相同的服务,具有相同的环境变量,但参数化以使用containerOverrides运行特定脚本:
Type: AWS::Scheduler::Schedule
Properties:
[...]
Target:
[..]
RoleArn: !Sub "arn:aws:iam::${AWS::AccountId}:role/app-${EnvName}-${AppServiceName}-task-role"
^^ 问题是 RoleArn。根据文档,这将在部署调度程序时使用最新的角色进行部署。
但是,当主任务中的环境变量发生更改(存储在角色中)时,我们希望调度程序使用这些变量,即:始终使用最新版本的角色 ARN。我们已尝试:RoleArn:[...]:最新无济于事。
如何让这个cloudformation脚本始终使用最新版本的角色arn?
如何让这个cloudformation脚本始终使用最新版本的角色arn?你不能。您必须手动修改调度程序模板以将其更新为最新角色。
另一方面,IAM 角色是可变的,因此如果任务角色发生更改,它会自动拾取