问题标签 [amazon-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.

0 投票
1 回答
1088 浏览

amazon-web-services - 在 Systems Manager 中激活后更改/添加托管实例的名称

我一直在设置 Amazon EC2 Systems Manager 以管理我们的 Windows 补丁管理设置。一切看起来都不错,因为我们可以使用激活获得控制台中列出的本地服务器。

我在同一次激活时激活了以下服务器(在激活过程中没有输入名称)。因为我现在有大约 5 个托管实例,它们没有名字。在 MI 部分,我可以看到计算机名称,但是当涉及到运行命令或执行任何操作时,我只能看到实例 ID。

AWS ECS Systems Manager - 托管实例,需要能够设置名称

如何返回并更新这些托管实例的名称?真的不必再次在单独的激活中添加每个服务器吗?

谢谢

0 投票
1 回答
253 浏览

amazon-web-services - cfn-init 和 SSM 之间的区别?

我知道它们的基本概述,但它们每个的实际场景是什么?

由于 cfn-init 用于引导服务器,而 SSM 有助于通过 ssm 文档执行命令。

0 投票
1 回答
240 浏览

powershell - 包含私有信息的 AWS SSM 文档

我被要求提出一个解决方案,以确保我们在 AWS 上的所有 Windows 服务器都有使用 SSM 为管理团队创建的本地帐户。我们需要能够对此进行审核并确保可以轻松更改密码。我知道,我知道,我应该喜欢域名的功能,但无论出于何种原因,这是不允许的!

使用 powershell 脚本创建文档很好,但将密码放入脚本是一个问题,这需要纯文本。

我想我可以使用 AWS KMS 加密密码并让 SSM 即时解密它们。问题是我无法让解密仅适用于 SSM 而不适用于登录服务器的任何人。如果有人可以解密密码,那么它也可以是纯文本:/

我希望这是有道理的!

任何想法或建议将不胜感激。

谢谢

0 投票
3 回答
1373 浏览

python - AWS 运行命令:未找到 Python

我正在使用 Boto3 SSM 在我的实例中运行命令。

当我运行诸如 echo 之类的简单命令时,hello worldmkdir abc可以正常工作并给我预期的输出。但是当我尝试运行python -V或任何其他 python 命令时。输出是python not found。但是 python 在我运行 Ubuntu 的 EC2 实例中。当我手动检查它工作正常。

代码:

0 投票
5 回答
8481 浏览

amazon-web-services - Cloudformation & Parameter Store:如何为环境选择参数

我想从 CloudFormation 模板中的参数存储中读取我的数据库的 URL。对于单个 URL,这很容易,但我不知道如何在不同的环境中更改 URL。

我有四个环境(开发、集成、预生产和生产),它们的详细信息存储在 Parameter Store 的四个不同路径中:

我现在想在通过 CloudFormation 部署时选择正确的数据库 URL。我怎样才能做到这一点?

0 投票
1 回答
389 浏览

amazon-web-services - AWS SSM 修补本地服务器?

我正在尝试使用 aws SSM 修补本地服务器。当我使用“运行命令”时,我指定了一个标签来限制对一组服务器的修补。
不幸的是,这没有列出基于标签选择的目标服务器。还有其他选择吗?我试图避免意外选择错误的标签。如果我们能在底部看到经过过滤的服务器,那就太棒了。

0 投票
0 回答
352 浏览

aws-lambda - AWS Lambda Python 3.6 - SSM 到 EC2 - 以 root 而非用户身份执行命令

问题

我正在通过 Lambda(Python 3.6)中的 SSM 在 Centos 7 EC2 实例上执行命令。不幸的是,SSM 以 root 用户身份执行命令。我需要使用默认的 centos 用户执行命令。有什么方法可以更改 SSM.send_command 使用的用户,所以我不必这样做:


我的解决方法

我不喜欢这个,但它有效。它还破坏了创建的目录和文件的权限,这迫使我也必须修改它们。(忽略 777 权限更改,因为我只是在测试以确保它有效)

0 投票
2 回答
3117 浏览

amazon-web-services - 从 VPC / Lambda 访问 Parameter Store

当不在 VPC 中时,我的 lambda 函数可以访问 Systems Manager 参数 (ssm.getParameter)。当我将 lambda 函数添​​加到我的 VPC 时,我无法访问 SSM。函数超时。

显然我错过了安全组设置或其他东西,但无法弄清楚。在我的 VPC 中运行 SSM 时,我需要做什么才能启用对 SSM 的 lambda 访问?

0 投票
1 回答
950 浏览

amazon-web-services - AWS Systems Manager:枚举状态管理器文档中的 StringList 参数

状态管理器文档允许我们定义类型的输入参数StringList。我们如何枚举StringList文档定义中的每个值?

例如,想象一个StringList定义了要运行的命令列表的输入参数。我们如何aws:runShellScript为列表中的每个命令创建一个新操作?

下面的伪文档显示了我想要实现的目标 - 为 a 中的每个值创建一个新操作StringList

0 投票
3 回答
2057 浏览

amazon-web-services - 如何使用 Get-SSMParameterList CmdLet 处理带有特定前缀的参数

我想编写一个 Powershell 脚本,该脚本将从属于我的应用程序的 AWS SSM 参数存储中获取所有参数,然后遍历参数并对每个参数执行操作。我的应用程序的参数通过具有特定前缀来标识,例如它们被命名为:

我是 Powershell 初学者,但我的出发点是使用 AWS Get-SSMParameterList CmdLet,并按前缀过滤结果/MyApp/

我从链接的文档中看到,一次调用会Get-SSMParameterList尽最大努力返回结果,即我可能需要重复调​​用它并传递-NextToken从先前调用中接收到的参数,以保证我得到所有结果。 这个对相关问题的回答指出,如果没有指定,AWS CmdLets 的“绝大多数”会自动处理分页-NextToken-MaxResult但是从文档中我不清楚这个 CmdLet 是否包含在这个大多数中。

我坚持以下几点:

  1. 我不知道参数使用什么语法来-ParameterFilter匹配所有带前缀的参数/MyApp/

  2. 我想确认我不需要使用它-NextToken来获取所有结果,或者,如果我确实需要它,我想知道如何捕获NextTokenAPI 返回的值,以便我可以循环并获取下一页结果。

有人能帮忙吗?

更新

对于第 2 点,我的经验表明我不需要使用 -NextToken 并且迄今为止总是在一次通话中获得所有结果。但我想这可能取决于结果集中的参数数量。

对于第 1 点,我找到了一种方法,即:

但这看起来很难看,因为它需要我知道AWSSDK.SimpleSystemsManagement.dll程序集的安装位置才能使用Get-SSMParameterListCmdLet。我希望至少能够使用:

另一个似乎需要我加载AWSSDK.SimpleSystemsManagement.dll程序集的 SSM CmdLet 是Add-SSMResourceTag,其-Tags参数需要一个对象数组Amazon.SimpleSystemsManagement.Model.Tag

为什么-Tags参数不采用 Hashtable 之类的Add-SQSResourceTag

我是否理解这一点,或者有没有办法在不加载程序集的情况下做到这一点?