问题标签 [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.
amazon-web-services - AWS Systems Manager 如何在自动化步骤之间添加延迟
我有一个 AMI 自动化模板,我用它来创建我的自定义 AMI。
在创建 AMI 期间,我想在关闭之前添加一个小延迟,以允许 EC2 实例完成一些首次启动优化。
下面是我的模板,我需要在步骤DoStep1
和之间有一个延迟stopInstance
:
amazon-ec2 - AWS EC2 Systems Manager 参数类型
我正在尝试使用 Amazon EC2 Systems Manager ( http://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html ) 创建“自动化”文档类型(除其他外)标记它刚刚创建的 AMI。
您可以在“mainSteps”中以这样的预定方式创建标签:
但是要使用可变数量的标签进行标记,我假设需要进行以下更改:
添加了一个名为“MapList”类型的名为“Tags”的新参数:
因为运行该过程抱怨我使用“字符串”类型并说我应该使用“地图列表”。
'MapList' 被列为 Amazon EC2 Systems Manager ( http://docs.aws.amazon.com/systems-manager/latest/APIReference/top-level.html ) 的参数类型,但我还没有找到任何有关如何定义此类型的文档。
根据我从上面的“硬编码”示例和其他 API 中的其他标记方法中看到的内容,我猜测了几种格式,但无济于事:
有谁知道如何定义 Amazon EC2 Systems Manager 引入的新参数类型(特别是“MapList”)?
更新:
由于缺少文档,亚马逊支持正在询问自动化团队如何使用这种方法最好地标记 ami。不过,我已经找到了如何在控制台中添加单个标签作为参数值:
我尝试添加多个标签将允许自动化启动:
但最终在运行时返回此一般错误:
似乎数组周围缺少 [],但您似乎可以免费获得这些,因为当我添加它们时,我收到此错误:
amazon-web-services - 如何在更新可用时自动更新 AWS Windows EC2 实例
我正在使用 AWS EC2 windows 实例,我的目标是将它们与维护窗口或补丁基准(我不确定是哪一个)相关联,以安排自动化,当实例的更新可用时,它会自动更新自身。我已经为实例创建了一个维护窗口,但我认为我的问题是弄清楚如何连接系统以检查更新并在它们可用时运行它们。
amazon-web-services - 在状态检查失败时回滚的 EC2 上运行更新
我正在为运行 Web 应用程序的 EC2 服务器设置补丁程序。
我需要构建一个安装系统更新的自动化流程,但如果 Web 应用程序未通过状态检查,则会恢复到最后一个正常工作的 ec2 实例。
我一直在尝试使用 EC2 Systems Manager 中的自动化文档来执行此操作,该文档执行以下步骤:
- 停止 EC2 实例
- 从实例创建 AMI
- 从新创建的 AMI 启动新实例
- 运行更新
- 在 Web 应用程序上运行状态检查
- 如果检查失败,停止新实例并重新启动原始实例
自动化文档成功运行前 5 步,但我无法确定如何触发第 6 步?我可以在自动化文档中执行此操作吗?我可以从第 5 步调用什么输出?如果它使用 aws:runCommand,runCommand 应该触发一个新的自动化文档还是另一个 AWS 工具?
powershell - AWS Run Command 的行为不同于在本地服务器上运行
我在 Bamboo 服务器上的 EC2 实例上运行命令时遇到问题。我有一个从 AWS 控制台中的运行命令生成的命令。我将该命令放在我的竹服务器上的脚本中并运行它:
它确实运行测试。但它运行 Chrome.exe 浏览器和 chromedriver.exe 作为后台进程。这会引发 NoSuchWindowException,因为没有显示浏览器...
我可以在本地实例上的 PowerShell 中运行相同的命令:(*请注意,这是我粘贴到运行命令控制台以生成上述代码的相同命令。)
它工作得很好。chromedriver.exe 是一个后台进程,而 chrome.exe(浏览器)是一个正常工作的常规应用程序。
我相信我的问题是 Run Command 如何运行我的测试程序。
运行命令 ( send-command ) 和在本地运行 PowerShell 命令有什么区别?它不应该做同样的事情吗?
amazon-web-services - 使用 AWS SSM 服务在启动时更新 Raspberry Pi
在宣布AWS Simple Systems Manager (SSM) 服务中支持 Raspbian OS Raspberry Pi 之后,我一直在研究使用它来管理一组 Raspberry Pi 设备。特别是有一种情况,我不确定如何处理,或者是否可以使用 SSM 处理。
对于我的特殊情况,我想向某人发送一个构建在 Raspberry Pi 板上的 IoT 设备。第一次启动设备时,我希望它自动下载最新更新。假设在此示例中,我使用 SSM 服务将两个更新推送到设备队列,同时将此最新设备运送给最终用户。如何将 SSM 服务配置为在新设备启动后自动检测并安装这两个挂起的更新?
amazon-ec2 - 如何存储动态 CloudFormation Stack 变量?
我目前正在使用 AutoScalingGroups 来管理堆栈中节点的生命周期。在堆栈创建期间,脚本会创建一个 ssh 密钥,然后与集群中的所有节点共享,以允许管理员用户能够在堆栈内的节点之间进行 ssh。这是正在部署的软件的要求,以具有无密码 ssh 访问权限。还要求每个堆栈都有自己的 ssh 密钥,而不是使用共享的。
不幸的是,当 ASG 替换坏节点时,新节点中的 ssh 密钥不可用。/home/adminuser/.ssh/authorized_keys 文件不包含我在创建堆栈时创建的 ssh 密钥。我正在寻找一种存储 ssh 密钥的方法,以便可以将其添加到 ASG 创建的新节点中。
我发现 SSM 能够放置和获取参数: http: //docs.aws.amazon.com/cli/latest/reference/ssm/put-parameter.html http://docs.aws.amazon.com/ cli/latest/reference/ssm/get-parameter.html
这可以工作。我可以在这里存储所有 Stack 的 ssh 密钥,然后每个 Stack 可以只在存储库中查询私钥。不幸的是,这不起作用,因为我帐户中所有堆栈中的所有节点都可以看到这些值。我希望参数仅可用于堆栈中的节点。
一个堆栈可能用于测试,而另一个堆栈用于同一帐户下的生产。我不希望测试用户能够查询与生产堆栈关联的参数。
有没有办法为只有堆栈可用的堆栈放置变量/参数?还有另一种方法可以做到这一点吗?
amazon-web-services - 关于 AWS Systems Manager 补丁管理
我正在使用 AWS 控制台使用 AWS Systems Manager Patch Management 进行自动修补。有参数设置我不明白。AWS 文档没有清楚地解释它们,所以我在这里寻求帮助:
创建补丁基线时,我看到“产品”,其中有 ubuntu 14 和 16 供我选择。产品在这里是什么意思?这是否意味着它将我的 EC2 修补到 ubuntu 16,或者这意味着我要修补的 ubuntu 是 14?顺便说一句,我的 EC2 目前是 ubuntu14。
创建维护窗口时,它会显示持续时间和截止时间。什么是持续时间和截止时间?(AWS文档说:持续时间字段,输入您希望维护窗口处于活动状态的小时数。我不明白这是什么意思)
amazon-web-services - 如何在 AWS 的 Systems Manager 的参数存储中检查已删除参数的日志
一些如何从 ec2 控制台中的 Systems Manager 的参数存储中删除参数。我无法找出谁删除了这些,谁能告诉我该怎么做?