AwsOps Security Group Updater
我自己有好幾個 AWS Accounts 作為學習用途,但因為是自己的帳號,所以在 Security Groups
和 Billing
會特別管理。
我開了一台 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 都可以。
底下的例子就是我現在的設定方式,指定 VpcID
、GroupId
、還有允許的 IP 清單:
1 | # To retrieve public ip. |
這樣就會自動把公司的 IP 和居住的 IP 更新到指定的 Security Group。
已經放在 github: https://github.com/rickhw/awsops-sec.git
延伸閱讀
- Ops as Code with AWS CLI
- Security Groups and Network ACLs
- AWS Certified SysOps Administrator - Associate 準備心得
- Study Notes - AWS Identity and Access Management (IAM)
- Migrate to AWS NAT Gateway