ssm-doctor
Diagnose why an EC2 instance is not reachable via AWS Systems Manager (SSM).
Install
pip install ssm-doctor
From source:
pip install -e .
60-second demo
# Text report (exit 0 if PingStatus is Online, else 1)
ssm-doctor i-0123456789abcdef0 --profile myprofile --region us-east-1
# Machine-readable output
ssm-doctor i-0123456789abcdef0 --json --region us-east-1
Example output:
ssm-doctor: i-0123456789abcdef0
[PASS] ec2_state: Instance state is 'running'.
state=running
vpc_id=vpc-abc
subnet_id=subnet-xyz
[PASS] iam_instance_profile: IAM instance profile is attached.
[PASS] ssm_ping: SSM PingStatus is 'Online'.
ping_status=Online
agent_version=3.2.0
Next steps: none — instance appears reachable via SSM.
Result: REACHABLE (Online)
What it checks
Read-only boto3 calls (graceful errors if permissions are missing):
| Check | Source |
|---|---|
| Instance state, VPC, subnet | ec2:DescribeInstances |
| IAM instance profile present | ec2:DescribeInstances |
| SSM registration / PingStatus / AgentVersion / LastPingDateTime | ssm:DescribeInstanceInformation |
Publishing to PyPI
pip install build twine
python -m build
twine upload dist/*
Or push a v* tag; GitHub Actions can publish via trusted publishing (see .github/workflows/publish.yml).
License
MIT
Release files for ssm-doctor 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ssm_doctor-0.1.0.tar.gz | 6.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ssm_doctor-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / ssm_doctor-0.1.0.tar.gz
| Download URL | ssm_doctor-0.1.0.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a61c0a6f64440a703889f0fe4fd6a78c4831a812afff1274dee599291d75b138
|
|
BLAKE2b-256 checksum How to use checksums |
d00d58d1814980b5e1842a85a0d4bebbdce15de940a79c3aec35578760aac721
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / ssm_doctor-0.1.0-py3-none-any.whl
| Download URL | ssm_doctor-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5df04d1ace6ca90921aba2c13815c598b86b115bb3715ecf5532b5b101fa3bb3
|
|
BLAKE2b-256 checksum How to use checksums |
f442492a98a83ddea11b94f455626027a7179bde7b6299d08cb2d846d29a4587
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|