您的位置:首页 > 运维架构 > Shell

powershell 管理更新AWS安全组

2016-04-08 10:59 519 查看
#导入亚马逊云模块
import-module "C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell\AWSPowerShell.psd1"
#获取最新外网地址
$WebClient=new-object System.Net.WebClient
$uri="http://myip.dnsomatic.com/"
$ipaddr=$WebClient.DownloadString($uri)
$ipaddr=$ipaddr+"/32"

#取得安全组信息
$ipgroup=Get-EC2SecurityGroup sg-82a074e7

#获得原地址
$lodIpRanges=($ipgroup.IpPermissions|?{$_.IpProtocol -eq 47}).IpRanges

#获取原地址相关列表
$IpPermissions=$ipgroup.IpPermissions|?{$_.IpRanges -match $lodIpRanges[0]}

#初始化新地址
$ip = New-Object Amazon.EC2.Model.IpPermission
$ip.IpRanges.add($ipaddr)

#删除老地址相关的规则
foreach($Permissions in $IpPermissions){
$Permissions.IpRanges=$lodIpRanges
}
Revoke-EC2SecurityGroupIngress -GroupId sg-82a074e7 -IpPermission $IpPermissions

#添加新规则
foreach($Permissions in $IpPermissions){
$Permissions.IpRanges=$ip.IpRanges
}
Grant-EC2SecurityGroupIngress -GroupId sg-82a074e7 -IpPermission $IpPermissions
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: