如何通过AWS门户识别EC2实例是否已安装SQL?
通过AWS Systems Manager识别EC2实例是否安装SQL
前提准备
- 目标EC2实例必须已经安装并运行AWS Systems Manager Agent (SSM Agent),且实例IAM角色已附加
AmazonSSMManagedInstanceCore权限策略,否则无法被Systems Manager管理。
方法1:用Inventory直接查看已安装软件
- 打开AWS控制台,进入Systems Manager服务
- 左侧导航栏点选Inventory,找到你要检查的EC2实例
- 在实例的Inventory详情里,切换到对应分类:
- Windows实例:看
AWS:Application分类,找名称带Microsoft SQL Server的条目 - Linux实例:看
AWS:Package分类,找名称带mssql-server、mysql这类关键词的包
- Windows实例:看
- 能找到匹配条目就说明实例装了SQL。
方法2:用Run Command执行检查命令
- 在Systems Manager左侧导航栏选Run Command,点击Run command
- 选择对应系统的执行文档:
- Windows实例:选
AWS-RunPowerShellScript,输入检查命令:
(比WMI查询更高效,不会触发应用重新配置)Get-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*" | Where-Object {$_.DisplayName -like "*SQL Server*"} - Linux实例:选
AWS-RunShellScript,根据发行版选命令:- Debian/Ubuntu:
dpkg --list | grep sql - RHEL/CentOS:
yum list installed | grep sql - Amazon Linux:
rpm -qa | grep sql
- Debian/Ubuntu:
- Windows实例:选
- 执行命令后看输出结果,有SQL相关记录就表示已安装。
方法3:配置告警规则快速识别(匹配你提供的告警界面场景)
- 先通过上面两种方法确认SQL的识别特征(比如软件名称、服务状态)
- 进入Systems Manager关联的CloudWatch Alarms(或直接在Systems Manager的State Manager里配置):
- 方式一:基于Inventory创建聚合规则,当实例Inventory中出现SQL相关软件时自动触发告警
- 方式二:用Run Command定期执行检查脚本,把结果同步到CloudWatch指标,然后设置告警规则——比如脚本返回1代表已安装SQL,0代表未安装,当指标为1时触发告警
- 之后在告警界面就能直接看到哪些实例触发了告警,也就是已安装SQL的实例。
内容的提问来源于stack exchange,提问作者Women_it_2022
相关产品推荐
相关产品推荐

