温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

AWS System Manger 批量操作EC2 实例

发布时间:2020-06-26 20:24:13 来源:网络 阅读:5499 作者:beanxyz 栏目:云计算

AWS 里面有个叫做 AWS System Manager 的服务,可以帮助管理员批量的自动化管理AWS的资源。比如说,我可以通过他的 Run Command 批量地对指定的EC2 实例组实现某个操作,如升级系统,执行一段脚本,更新agent等等

AWS System Manger 批量操作EC2 实例

默认情况下,这个System Manager是没有权限去访问EC2的,所以第一步需要创建一个IAM role,授权System Manager去访问EC2。它默认已经提供了一个 policy 叫做 AmazonEC2RoleforSSM,创建一个Role,选择这个Policy就行了

AWS System Manger 批量操作EC2 实例

下一步需要在EC2上绑定这个Role

AWS System Manger 批量操作EC2 实例

如果只有几个EC2实例可以手动操作 ,如果有上百台手动操作就太慢了,我们可以考虑用脚本来配置。

安装AWSPowerShell, 然后设定账户初始化,然后就可以获取实例并注册IAMRole了

#Install-Module AWSPowerShell -force

Set-AWSCredential -AccessKey XXXXX  -SecretKey YYYYYY -StoreAs test

#Get-AWSCredential -ListProfileDetail

Initialize-AWSDefaults -ProfileName test -Region ap-southeast-2

$instances=Get-EC2Instance | select -ExpandProperty instances
foreach($item in $instances){

    $iamrole=$item  | select -ExpandProperty IamInstanceProfile
    if($iamrole -eq $null){

        Register-EC2IamInstanceProfile -InstanceId $item.InstanceId -IamInstanceProfile_Arn arn:aws:iam::3861158221239:instance-profile/AmazonEC2RoleForSSM
    }

}

我们可以通过下面的脚本来判断是否绑定成功

$filter = New-Object Amazon.EC2.Model.Filter -Property @{Name = "iam-instance-profile.arn"; Value = "arn:aws:iam::386115804199:instance-profile/AmazonEC2RoleForSSM"} 
$ec2 = @(Get-EC2Instance -Filter $filter)
$ec2instances = $ec2.instances  #returns instances with its attributes
$ec2instances.privateipaddress  #

成功之后我们返回 System manager的界面,在Managed Instances 下面可以看见所有的EC2 实例了

AWS System Manger 批量操作EC2 实例

最后做过简单的测试

点击 run Command 然后选择 AWS-RunPowerShellScript

AWS System Manger 批量操作EC2 实例

输入一个简单的命令
AWS System Manger 批量操作EC2 实例

选择几台测试的实例机器
AWS System Manger 批量操作EC2 实例

点击Run

几秒后查看结果

AWS System Manger 批量操作EC2 实例

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI