Automatically retrieves your current public IP address and updates it as the source address in Alibaba Cloud ECS security group rules.
- Automatically retrieves current public IP address
- Updates Alibaba Cloud ECS security group rules
- Supports deleting old rules and adding new rules
pip install -r requirements.txtSet the following environment variables:
Linux/macOS:
export ALIBABA_CLOUD_ACCESS_KEY_ID=your_access_key_id
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=your_access_key_secretWindows:
set ALIBABA_CLOUD_ACCESS_KEY_ID=your_access_key_id
set ALIBABA_CLOUD_ACCESS_KEY_SECRET=your_access_key_secretpython update_security_group.py \
--region-id cn-hangzhou \
--security-group-id sg-xxxxxxxxxxxxx \
--port-range 22/22--region-id(required): Alibaba Cloud region ID, e.g.,cn-hangzhou--security-group-id(required): Security group ID--port-range(required): Port range, e.g.,22/22,80/80,443/443--ip-protocol(optional): IP protocol, default:tcp--description(optional): Rule description, default:Auto-updated from home IP--endpoint(optional): Endpoint address (auto-generated if not specified)
# Build image
docker build -t pyaliyun-ecs-rule .
# Run container
docker run --rm \
-e ALIBABA_CLOUD_ACCESS_KEY_ID=your_access_key_id \
-e ALIBABA_CLOUD_ACCESS_KEY_SECRET=your_access_key_secret \
pyaliyun-ecs-rule \
--region-id cn-hangzhou \
--security-group-id sg-xxxxxxxxxxxxx \
--port-range 22/22- Retrieves your current public IP address
- Queries existing matching rules in the security group
- Deletes old matching rules
- Adds a new rule with the current IP address
- Ensure your AccessKey has permission to modify security group rules
- Recommended: Use RAM user with
AliyunECSFullAccessor custom policy includingecs:AuthorizeSecurityGroupandecs:RevokeSecurityGroup - IP addresses are automatically formatted as CIDR (e.g.,
1.2.3.4/32)
GNU General Public License v3.0