IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 使用Python自动修改AWS安全组规则允许当前电脑访问 -> 正文阅读

[Python知识库]使用Python自动修改AWS安全组规则允许当前电脑访问

背景介绍

AWS云服务安全的最佳实践是为AWS中的EC2实例配置最小范围的安全组访问范围, 所以通常会设置仅允许某些来自互联网的IP地址访问, 但是家里的宽带会经常更换公网IP, 从家里访问实例每次都要手工修改安全组的规则, 很不方便, 还是那句话: 人生苦短, 我用Python, 下面搞起来~

实现代码

代码逻辑很简单, 主要就两步:

  1. 获取当前电脑的互联网IP
  2. 修改指定的安全组规则
import requests
from datetime import datetime
import boto3
from botocore.exceptions import ClientError

# 获取本机当前的公网IP
myIP = requests.get('http://checkip.amazonaws.com/').content.strip().decode('utf8')

# 修改指定安全组规则
client = boto3.client('ec2')
sg_group_id = 'sg-0f7bb2c37631dbaa5'    # 修改为自己安全组的ID
sg_rule_id = 'sgr-0ee92e0e1583e0eaf'    # 修改为自己安全组中某条规则的ID
try:
    response = client.modify_security_group_rules(
        GroupId=sg_group_id,
        SecurityGroupRules=[
            {
                'SecurityGroupRuleId': sg_rule_id,
                'SecurityGroupRule': {
                    'IpProtocol': 'tcp',
                    'FromPort': 0,
                    'ToPort': 65535,
                    'CidrIpv4': f'{myIP}/32',
                    'Description': datetime.now().strftime('%Y-%m-%d %H:%M:%S')    # 描述信息使用当前的时间
                }
            }
        ]
    )

    print(response)
except ClientError as e:
    print(e)

文件保存在C:\Users\lpwm\Documents\update_aws_sg_rule.py

配置开机自动运行

将上面的代码保存到本地磁盘中后, 需要先创建一个PowerShell脚本保存在C:\Users\lpwm\Documents\update_aws_sg_rule.ps1

python "C:\Users\lpwm\Documents\update_aws_sg_rule.py"

用下面PowerShell命令创建计划任务, 让系统每次启动的时候都执行这个批处理文件更新安全组规则

注意: 需要管理员权限执行

PS C:\Users\lpwm> $trigger = New-JobTrigger -AtStartup
PS C:\Users\lpwm> Register-ScheduledJob -Trigger $trigger -FilePath C:\Users\lpwm\Documents\update_aws_sg_rule.ps1 -Name Update_AWS_SG_Rule

Id         Name            JobTriggers     Command                                  Enabled
--         ----            -----------     -------                                  -------
1          Update_AWS_S... 1               C:\Users\lpwm\Documents\update_aws_sg... True

重启一下检查任务是否正确执行

PS C:\Users\lpwm> Get-Job

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
1      Update_AWS_S... PSScheduledJob  Completed     False           localhost            python "C:\Users\lpwm\...

同时登陆EC2控制台检查安全组规则, 确认备注信息中的时间与当前一致, Nice~

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 20:45:38  更:2022-03-21 20:48:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:46:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码