我们在组织下的不同帐户中有多个EC2实例,我们要求停止Windows中的服务,请指导最简单的内置服务执行此活动
我能够做到这一点通过关注这个博客-https://cloudsolutionsonline.blogspot.com/2021/07/start-or-stop-services-in-multiple.html?m=1
按照步骤,我实现了我的用例
AWS Run命令是System Manager的一部分,可用于在实例上执行PowerShell(Start-Service
|Stop-Service
(命令。您可以通过实例标记或实例ID将同一组织帐户中的多个实例作为目标。我不知道有什么方法可以在多个组织账户中做到这一点,这些账户可以被描述为";最简单的";或与";内置的";工具。但是
一个相当简单的选项是通过PowerShell在本地/服务器上调用Run命令(您需要在这台机器上安装AWS PowerShell Tools(。
以下命令将尝试:
- 停止名为
NameOfMyService
的服务 - 仅在标记为
ROLE
且值为WEBSERVER
的实例上 - 使用名为
OrgAccountX
的凭据(即使用Set-AWSCredential
命令创建的凭据(,每个帐户需要一个配置文件
$runPSCommand = Send-SSMCommand `
-ProfileName OrgAccountX
-Target "Key=tag:ROLE,Values=WEBSERVER" `
-DocumentName "AWS-RunPowerShellScript" `
-Parameter @{'commands'=@('Stop-Service NameOfMyService')}
(此处改编自aws文档(
您可以很容易地循环浏览一系列配置文件名称,如下所示:
$awsOrgProfiles = @('OrgAccount1', 'OrgAccount2', 'OrgAccountX');
$awsOrgProfiles | % {
Send-SSMCommand -ProfileName $_ ...
}
($_
将包含一个ProfileName,其余命令与上面相同(