EC2:セキュリティグループ ルールの除外

1,IAM

---------------------------------------
AWSサービス:Amazon EC2
アクション     :RevokeSecurityGroupIngress
Amazonリソースネーム(ARN):*
---------------------------------------

2,プログラム仕様

●入力パラメータ
・IAMユーザの”アクセスキーID”と”・シークレットアクセスキー”
・セキュリティグループID
・プロトコル
・許可ポート
・送信元IPアドレス
●処理内容
指定されたセキュリティグループIDに対して、プロトコル/ポート/送信元IPを除外する。
●エラー処理
特になし

3,画面構成

4,プログラム

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim _AWSID As String = TextBox1.Text
        Dim _AWSPass As String = TextBox2.Text
        Dim _SecGroupID As String = TextBox3.Text
        Dim _Protcol As String = TextBox4.Text
        Dim _PortFrom As String = TextBox5.Text
        Dim _PortTo As String = TextBox6.Text
        Dim _SourceIP As String = TextBox7.Text

        Dim cred As Amazon.Runtime.BasicAWSCredentials
        cred = New Amazon.Runtime.BasicAWSCredentials(_AWSID, _AWSPass)
        Dim ec2client As Amazon.EC2.AmazonEC2Client
        ec2client = New Amazon.EC2.AmazonEC2Client(cred, Amazon.RegionEndpoint.APNortheast1)

        Dim IpP As New Amazon.EC2.Model.IpPermission
        IpP.IpProtocol = _Protcol
        IpP.FromPort = _PortFrom
        IpP.ToPort = _PortTo
        IpP.IpRanges.Add(_SourceIP)

        Dim reQ = New Amazon.EC2.Model.RevokeSecurityGroupIngressRequest
        reQ.GroupId = _SecGroupID
        reQ.IpPermissions.Add(IpP)

        Dim Res As Amazon.EC2.Model.RevokeSecurityGroupIngressResponse
        Res = ec2client.RevokeSecurityGroupIngress(reQ)

    End Sub

5,解説

指定したセキュリティグループIDから、指定したルールを除外します。
”指定したルール”とは、プロトコル・ポート範囲・送信元IPのすべてが一致する必要があります。
・・・ということで、このプログラムは、セキュリティグループ ルールの追加
AuthorizeSecurityGroupIngress
RevokeSecurityGroupIngress
に置換しただけのものです。

また、このページの内容はインバウンドルールに対して行うものであり、アウトバウンド分を行いたい場合は
IAMで、AuthorizeSecurityGroupEgress を許可し
Ingress
Egress
に置換すればできます。
Comments