码迷,mamicode.com
首页 > 系统相关 > 详细

PowerShell 批量打开 EC2 Termination Protection

时间:2020-04-03 19:49:20      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:image   lin   重启   scan   pow   value   src   eid   ddr   

同事前两天打算重启一个EC2 实例,结果手滑点到了 Termination,然后EC2 就悲剧了。幸好有Snapshot备份,服务器挂了15分钟之后 成功的恢复了。

可以看见 reboot和terminate靠的十分近,所以为了避免悲剧再次发生,我们需要打开 termination protection
技术图片

如果只有几台EC2,可以手动点开,如图所示

技术图片

但是如果很多的话,还是写脚本实现方便一些

下面是PowerShell实现的操作。

function Scan-EC2(){

    Write-Host "Checking EC2 instance Tags status" -ForegroundColor Yellow

    $all=Get-EC2Instance | select -expand instances

    # confirm EC2 instances were tagged

    $result=@()
    foreach($item in $all){

        $Name=$item.tag | Where-Object {$_.Key -eq ‘Name‘} | select -ExpandProperty value
        $clinic=$item.tag | Where-Object {$_.Key -eq ‘clinic‘} | select -ExpandProperty value
        $terminationprotection=Get-EC2InstanceAttribute -InstanceId $item.instanceid -Attribute disableApiTermination | select -ExpandProperty DisableApiTermination
        $sg=$item.securitygroups.groupname
        $item | add-member -NotePropertyName Description -NotePropertyValue $name
        $item | add-member -NotePropertyName Clinic -NotePropertyValue $clinic
        $item | add-member -NotePropertyName sg -NotePropertyValue $sg
        $item | add-member -NotePropertyName TerminationProtection -NotePropertyValue $terminationprotection
        $item = $item | select *
        $result+=$item

    }

    $result | select Description, InstanceId, InstanceType,privateIpaddress, Clinic,@{n=‘Status‘;e={$_.state.name}},sg, TerminationProtection 
}

$result=Scan-EC2

foreach($one in $result){
if($one.terminationprotection -eq $false){

    Edit-EC2InstanceAttribute -InstanceId $one.instanceid -DisableApiTermination $true

}

}

$result=Scan-EC2 | Out-GridView

输出结果显示都成功的变成True了
技术图片

可以通过计划任务定期执行,这样就不用担心无意中把重要的服务器给删掉了。

PowerShell 批量打开 EC2 Termination Protection

标签:image   lin   重启   scan   pow   value   src   eid   ddr   

原文地址:https://blog.51cto.com/beanxyz/2484786

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!