PowerShell 批量打开 EC2 Termination Protection
同事前两天打算重启一个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