使用AWS Systems Manager在多个Windows EC2实例中启动或停止服务



我们在组织下的不同帐户中有多个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,其余命令与上面相同(

最新更新