AWS 里面有个叫做 AWS System Manager 的服务,可以帮助管理员批量的自动化管理AWS的资源。比如说,我可以通过他的 Run Command 批量地对指定的EC2 实例组实现某个操作,如升级系统,执行一段脚本,更新agent等等
创新互联建站是一家集网站建设,卡若企业网站建设,卡若品牌网站建设,网站定制,卡若网站建设报价,网络营销,网络优化,卡若网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。默认情况下,这个System Manager是没有权限去访问EC2的,所以第一步需要创建一个IAM role,授权System Manager去访问EC2。它默认已经提供了一个 policy 叫做 AmazonEC2RoleforSSM,创建一个Role,选择这个Policy就行了
下一步需要在EC2上绑定这个Role
如果只有几个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 实例了
最后做过简单的测试
点击 run Command 然后选择 AWS-RunPowerShellScript
输入一个简单的命令
选择几台测试的实例机器
点击Run
几秒后查看结果
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。