您好,登錄后才能下訂單哦!
AWS 里面有個(gè)叫做 AWS System Manager 的服務(wù),可以幫助管理員批量的自動(dòng)化管理AWS的資源。比如說(shuō),我可以通過(guò)他的 Run Command 批量地對(duì)指定的EC2 實(shí)例組實(shí)現(xiàn)某個(gè)操作,如升級(jí)系統(tǒng),執(zhí)行一段腳本,更新agent等等
默認(rèn)情況下,這個(gè)System Manager是沒(méi)有權(quán)限去訪問(wèn)EC2的,所以第一步需要?jiǎng)?chuàng)建一個(gè)IAM role,授權(quán)System Manager去訪問(wèn)EC2。它默認(rèn)已經(jīng)提供了一個(gè) policy 叫做 AmazonEC2RoleforSSM,創(chuàng)建一個(gè)Role,選擇這個(gè)Policy就行了
下一步需要在EC2上綁定這個(gè)Role
如果只有幾個(gè)EC2實(shí)例可以手動(dòng)操作 ,如果有上百臺(tái)手動(dòng)操作就太慢了,我們可以考慮用腳本來(lái)配置。
安裝AWSPowerShell, 然后設(shè)定賬戶初始化,然后就可以獲取實(shí)例并注冊(cè)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
}
}
我們可以通過(guò)下面的腳本來(lái)判斷是否綁定成功
$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 下面可以看見(jiàn)所有的EC2 實(shí)例了
最后做過(guò)簡(jiǎn)單的測(cè)試
點(diǎn)擊 run Command 然后選擇 AWS-RunPowerShellScript
輸入一個(gè)簡(jiǎn)單的命令
選擇幾臺(tái)測(cè)試的實(shí)例機(jī)器
點(diǎn)擊Run
幾秒后查看結(jié)果
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。