AwsOps Security Group Updater


我自己有好幾個 AWS Accounts 作為學習用途,但因為是自己的帳號,所以在 Security GroupsBilling 會特別管理。

我開了一台 EC2 Instance 在 Public Subnet,為了避免不必要的安全性問題,加上現在居住的環境不是固定 IP (每天都會變動),所以寫了一隻小程式,透過 Raspberry Pi 每天自動更新指定的 Security Group,在安全與便利取得平衡。

設計背景

使用 AWS 的環境沒有固定 IP,也就是每次要去連 AWS EC2 的 IP 來源不是固定。

我開的 EC2 是放在 Public Subnet,除了工作的 IP (就是公司對外 IP),另外就是居住的地方。但是我居住的地方 IP 來源也不是固定了,所以每天都要手動去更改 Security Group 的 InBounds。

所以要順利連線的話,最簡單的方式就是寫個小程式,每天自動把公司和居住的 IP 更新到指定的 Security Groups。

剛好因為我有一台 Raspberry Pi,於是就利用他來做這件事情。

使用方式

程式很簡單,就是可以根據需要的 IP List 以及目前使用的環境自動設定 Security Group 的 InBounds 規則。

現在的設計是全開,也就是所有的 port 都可以。

底下的例子就是我現在的設定方式,指定 VpcIDGroupId、還有允許的 IP 清單:

1
2
3
4
5
6
7
8
9
10
# To retrieve public ip.
AppendPublicIp: true
PublicIpDiscover: http://ipinfo.io

# Vpc
VpcId: vpc-a0cxxxx
GroupId: sg-204uuuuu
Inbounds:
- 111.222.121.222/32
- 1.2.3.4/32

這樣就會自動把公司的 IP 和居住的 IP 更新到指定的 Security Group。

已經放在 github: https://github.com/rickhw/awsops-sec.git

延伸閱讀


Comments