问题标签 [aws-systems-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-iam - AWS System Manager GetParameters 权限被隐式拒绝
我正在尝试为 eks 设置 eksctl 但它抛出
"Error: unable to determine AMI to use: error getting AMI from SSM Parameter Store: AccessDeniedException: User: arn:aws:iam:::user/cnc is not authorized to perform: ssm:GetParameter on resource: arn:aws:ssm:us-east-1::parameter/aws/service/eks/optimized-ami/1.18/amazon-linux-2/recommended/image_id".
我使用的 IAM 权限策略是
我还尝试使用策略模拟来检查权限,它给了我“隐式拒绝(无匹配语句)”
amazon-web-services - 有没有办法使用 Ansible 复制和替换参数存储中的值来部署文件?
我想知道在使用参数存储中的值将文件部署到目标时是否可以使用 Ansible 模板/复制并替换文件中的多个值(例如:.properties、.xml 等)?
在上面的示例中,我想用存储在 Parameter Store 中的实际值替换(APP-TIMEOUT-VALUE,APP-ZONE-VALUE 等)值,键为(APP-TIMEOUT-VALUE,APP-ZONE-VALUE, ETC..)。
如果有没有其他脚本的直接方法,请有人建议我。
非常感谢
aws-systems-manager - aws start-session end with **Cannot perform start session: EOF**
我尝试在我的 CI 中使用会话管理器(使用 vanilla 配置,所以没什么太花哨的)。
所有输入(键等)和配置(用户/策略/键)都是有效的。我成功地在我自己的笔记本电脑上开始了一个会话。
但是在我的管道上,我收到了以下消息
这个shell有关系吗?
作为参考,CI 上使用的工具:
- 会话管理器插件:1.2.30.0
- AWS CLI:aws-cli/1.18.223 Python/2.7.17 Linux/5.4.0-1039-azure botocore/1.19.63
amazon-systems-manager - AWS Systems Manager 中的 Run Command 计划
在我的 AWS 账户中,在 AWS Systems Manager > Run Command 下,我在 Commands 选项卡下看不到任何内容,但在 Command history 下有很多任务记录。我可以看到这些任务在哪个文档上运行。但是,我不知道为什么这里有这么多命令历史记录以及为什么有些任务每天都在运行。这些命令在哪里配置以及它们如何设置为每天运行?
amazon-web-services - aws-RunPatchBaseline 不通过 apt-get 安装新软件包
在通过 AWS SSM 文档 aws-RunPatchBaseline 运行一些测试后,用于 Debian 等基于 Debian 的操作系统(如 Ubuntu)的内容代码并没有真正安装任何所需的包,即使使用“安装”参数设置并执行它也是如此。这是需要修复的问题吗,或者为什么这个 SSM 文档在没有真正安装软件包的情况下以这种方式工作。
从文档中,请参见以下内容:
apt-get update 从存储库下载包列表并“更新”它们以获取有关最新版本的包及其依赖项的信息。它将对所有存储库和 PPA 执行此操作。来自http://linux.die.net/man/8/apt-get:
用于从源重新同步包索引文件。可用包的索引是从 /etc/apt/sources.list(5) 中指定的位置获取的。应始终在升级或 dist-upgrade 之前执行更新。
如果 APT 通过 apt-get update 知道这些新版本,apt-get upgrade 将获取机器上现有软件包的新版本。
用于从 /etc/apt/sources.list(5) 中列举的源安装当前安装在系统上的所有软件包的最新版本。检索和升级当前安装的带有新版本的软件包;在任何情况下都不会删除当前安装的软件包,也不会检索和安装尚未安装的软件包。当前安装的软件包的新版本如果不更改另一个软件包的安装状态就无法升级,将保留其当前版本。[强调我的] 必须首先执行更新,以便 apt-get 知道有新版本的软件包可用。
目前代码内容有:
¿我应该在 apt-get update 之后添加自定义行还是使用 apt-get upgrade -y 创建自定义 ssm?,本文档可以通过安装软件包来工作,但到目前为止,例如在 Ubuntu 上它什么也没做除了从 repos 更新包列表(不安装任何)。
amazon-web-services - AWS SSM 自动化:如何在 aws:executeScript 调用的脚本中正常失败
我正在通过 AWS Systems Manger 在自动化文档中运行 Python 脚本 - 也称为运行手册。该脚本通过操作aws:executeScript调用,所选运行时为 python3.7。
所有可用示例仅显示如何从脚本返回数据。我怎么能表明脚本已经失败了?这似乎是无证的。
我尝试过sys.exit(1)
,也尝试过raise Exception('oh noes')
。两者都使执行程序崩溃。不幸的是,这完全隐藏了脚本的所有标准输出/标准错误,并给我留下了以下信息:
当轮询操作状态为完成时,步骤失败。Traceback(最近一次调用最后一次):文件“/tmp/some-path/customer_script.py”,第 23 行,在 main sys.exit(1) SystemExit - 1。有关更多诊断详细信息,请参阅自动化服务故障排除指南。
处理程序方法需要两个参数 (events
和context
)。同样,这些对象的内容可能是什么似乎完全没有记录。events
似乎是一个带有传递给脚本的参数的字典。context
是某个对象,但根据dir(context)
该对象是否没有有用的方法可以让我返回失败状态:
python - 使用 AWS Systems Manager 执行脚本时 EC2 pip 安装未注册
我想知道为什么在执行 ec2 上保存的脚本和 pip 安装未注册的位置存在差异。在我的情况下,我创建了一个 ec2,ssh 连接,pip 安装了我所有必要的包,创建了一个 python 脚本,并在没有任何错误的情况下执行它。现在我需要从 lambda 函数执行此脚本,因此我尝试使用 AWS 系统管理器来执行此操作。为了测试,我使用了Run Command
AWS 中的选项:
- 选定的 AWS-RunShellScript
- 命令:
python <path_to_script>/test.py
- 选择我的特定实例作为目标
- 冉
但是当我这样做时,我收到以下错误:
为什么使用 AWS Systems Manager 时 pip 安装的 python 包没有注册,但是当我 ssh 进入 ec2 实例时脚本执行得很好?
amazon-web-services - SSM 代理更新后,AWS 实例从 SSM 托管实例中删除
我能够启动一个实例并让它由Systems Manager 管理。也就是说,直到它自动更新 SSM 代理。更新成功,从 更新3.0.161.0
到3.0.854.0
。操作系统是 Ubuntu 20.04。
尽管它没有出现在托管实例列表中,但我仍然可以使用会话管理器连接到实例。
不确定这是否相关,但这里是/var/log/amazon/ssm/errors.log
:
知道这个问题的原因是什么吗?
amazon-web-services - AWS-RunShellScript 调用 python 脚本但找不到 python 模块
我正在尝试从系统管理器在 ec2 上运行 shell 脚本。shell 脚本有一个调用来运行 python 脚本。当我手动运行它时它工作得很好,但是如果我通过系统管理器运行它,它会说它找不到下载的模块。如果改变任何东西,该模块是 numpy 的。为什么这不起作用?
windows - 使用 eventbridge 调度程序在 windows e2 上运行系统管理器命令
我正在Get-process
使用 AWS Run Command 的Aws-RunPowershellScript
文档在 Windows ec2 实例上运行一个命令,它可以成功运行。
但是,当我使用aws 事件桥调度程序时,我收到以下错误:
似乎当从调度程序调用 Run 命令时,它试图在假设 linux 实例而不是 windows 的情况下运行它,但不知道为什么。