AWS Systems Manager Distributor Diagnostics
When to use
Any SSM Distributor investigation — package creation, version management, installation failures, uninstallation errors, association execution, scheduling, cross-platform packages, custom packages, S3 storage, IAM permissions, or third-party package issues.
Investigation workflow
Step 1 — Collect and triage
aws ssm list-documents --document-filter-list key=DocumentType,value=Package --query 'DocumentIdentifiers[*].{Name:Name,Owner:Owner,PlatformTypes:PlatformTypes}'
aws ssm list-associations --query 'Associations[*].{AssociationId:AssociationId,Name:Name,Status:Overview.Status}'
aws ssm describe-instance-information --query 'InstanceInformationList[*].{InstanceId:InstanceId,PingStatus:PingStatus,AgentVersion:AgentVersion,PlatformType:PlatformType}'
Step 2 — Domain deep dive
aws ssm describe-document --name <package-name> --query '{Name:Name,Status:Status,DocumentVersion:DocumentVersion,PlatformTypes:PlatformTypes}'
aws ssm list-command-invocations --command-id <command-id> --details --query 'CommandInvocations[*].{InstanceId:InstanceId,Status:Status,StatusDetails:StatusDetails}'
aws ssm describe-association-executions --association-id <assoc-id> --query 'AssociationExecutions[*].{ExecutionId:ExecutionId,Status:Status,DetailedStatus:DetailedStatus}'
Step 3 — Detailed investigation
aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventSource,AttributeValue=ssm.amazonaws.com --max-results 20
aws ssm get-command-invocation --command-id <command-id> --instance-id <instance-id> --query '{Status:Status,StandardOutputContent:StandardOutputContent,StandardErrorContent:StandardErrorContent}'
aws s3 ls s3://<bucket>/packages/<package-name>/ --recursive
Read references/guardrails.md before concluding on any SSM Distributor issue.
Tool quick reference
| Tool / API |
When to use |
ssm list-documents --document-filter-list key=DocumentType,value=Package |
List Distributor packages |
ssm describe-document |
Get package details and versions |
ssm send-command |
Install/uninstall packages on instances |
ssm list-command-invocations |
Check command execution status |
ssm describe-association-executions |
Check association execution history |
ssm describe-instance-information |
Verify managed instance status |
s3 ls |
Check package artifacts in S3 |
Gotchas: SSM Distributor
- Distributor packages are SSM Documents of type Package. They are NOT the same as regular SSM Documents (Command, Automation).
- Packages require platform-specific installers. A single package can contain installers for Windows, Linux, and macOS but each must be explicitly defined in the manifest.
- The SSM Agent must be running and have connectivity to SSM endpoints. Instances with stale PingStatus are NOT managed and cannot receive packages.
- Association-based installations run on a schedule. If the schedule is misconfigured, packages may install at unexpected times or not at all.
- Custom packages are stored in S3. The S3 bucket must be in the same region as the instances, and the SSM Agent needs s3:GetObject permission.
- Package versions are immutable once created. You cannot modify an existing version — you must create a new version.
- Third-party packages (e.g., AmazonCloudWatchAgent) are AWS-managed. You cannot modify them but can pin specific versions.
Anti-hallucination rules
- Always cite specific package names, command IDs, association IDs, or API responses as evidence.
- Distributor packages are SSM Documents of type Package — never confuse with Command or Automation documents.
- Package installation requires a running SSM Agent with active PingStatus. Never assume connectivity.
- Custom packages require S3 storage in the same region. Never suggest cross-region S3 access for packages.
- Spend no more than 2 minutes on any single hypothesis. Pivot if inconclusive.
12 runbooks
| Category |
IDs |
Covers |
| A — Packages |
A1–A2 |
Package creation failures, package version errors |
| B — Installation |
B1–B2 |
Installation failures, uninstallation errors |
| C — Associations |
C1–C2 |
Association execution failures, scheduling issues |
| D — Platform & Custom |
D1–D2 |
Cross-platform packages, custom package errors |
| E — Storage & IAM |
E1–E2 |
S3 package storage, IAM permissions |
| F — Third-Party |
F1 |
Third-party package issues |
| Z — Catch-All |
Z1 |
General troubleshooting |
1---2name: ssm-distributor-diagnostics3description: Use this skill to investigate and troubleshoot AWS Systems Manager Distributor problems by analyzing package creation, version management, installation failures, association execution, cross-platform packaging, S3 storage, IAM permissions, and following structured runbooks. Activate when: package creation failures, version errors, installation issues, uninstallation problems, association execution failures, scheduling issues, cross-platform package errors, custom package problems, S3 storage issues, IAM permission errors, third-party package failures, or the user says something is wrong with SSM Distributor.4---56# AWS Systems Manager Distributor Diagnostics78## When to use910Any SSM Distributor investigation — package creation, version management, installation failures, uninstallation errors, association execution, scheduling, cross-platform packages, custom packages, S3 storage, IAM permissions, or third-party package issues.1112## Investigation workflow1314### Step 1 — Collect and triage1516```17aws ssm list-documents --document-filter-list key=DocumentType,value=Package --query 'DocumentIdentifiers[*].{Name:Name,Owner:Owner,PlatformTypes:PlatformTypes}'18aws ssm list-associations --query 'Associations[*].{AssociationId:AssociationId,Name:Name,Status:Overview.Status}'19aws ssm describe-instance-information --query 'InstanceInformationList[*].{InstanceId:InstanceId,PingStatus:PingStatus,AgentVersion:AgentVersion,PlatformType:PlatformType}'20```2122### Step 2 — Domain deep dive2324```25aws ssm describe-document --name <package-name> --query '{Name:Name,Status:Status,DocumentVersion:DocumentVersion,PlatformTypes:PlatformTypes}'26aws ssm list-command-invocations --command-id <command-id> --details --query 'CommandInvocations[*].{InstanceId:InstanceId,Status:Status,StatusDetails:StatusDetails}'27aws ssm describe-association-executions --association-id <assoc-id> --query 'AssociationExecutions[*].{ExecutionId:ExecutionId,Status:Status,DetailedStatus:DetailedStatus}'28```2930### Step 3 — Detailed investigation3132```33aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventSource,AttributeValue=ssm.amazonaws.com --max-results 2034aws ssm get-command-invocation --command-id <command-id> --instance-id <instance-id> --query '{Status:Status,StandardOutputContent:StandardOutputContent,StandardErrorContent:StandardErrorContent}'35aws s3 ls s3://<bucket>/packages/<package-name>/ --recursive36```3738Read `references/guardrails.md` before concluding on any SSM Distributor issue.3940## Tool quick reference4142| Tool / API | When to use |43|------------|-------------|44| `ssm list-documents --document-filter-list key=DocumentType,value=Package` | List Distributor packages |45| `ssm describe-document` | Get package details and versions |46| `ssm send-command` | Install/uninstall packages on instances |47| `ssm list-command-invocations` | Check command execution status |48| `ssm describe-association-executions` | Check association execution history |49| `ssm describe-instance-information` | Verify managed instance status |50| `s3 ls` | Check package artifacts in S3 |5152## Gotchas: SSM Distributor5354- Distributor packages are SSM Documents of type Package. They are NOT the same as regular SSM Documents (Command, Automation).55- Packages require platform-specific installers. A single package can contain installers for Windows, Linux, and macOS but each must be explicitly defined in the manifest.56- The SSM Agent must be running and have connectivity to SSM endpoints. Instances with stale PingStatus are NOT managed and cannot receive packages.57- Association-based installations run on a schedule. If the schedule is misconfigured, packages may install at unexpected times or not at all.58- Custom packages are stored in S3. The S3 bucket must be in the same region as the instances, and the SSM Agent needs s3:GetObject permission.59- Package versions are immutable once created. You cannot modify an existing version — you must create a new version.60- Third-party packages (e.g., AmazonCloudWatchAgent) are AWS-managed. You cannot modify them but can pin specific versions.6162## Anti-hallucination rules63641. Always cite specific package names, command IDs, association IDs, or API responses as evidence.652. Distributor packages are SSM Documents of type Package — never confuse with Command or Automation documents.663. Package installation requires a running SSM Agent with active PingStatus. Never assume connectivity.674. Custom packages require S3 storage in the same region. Never suggest cross-region S3 access for packages.685. Spend no more than 2 minutes on any single hypothesis. Pivot if inconclusive.6970## 12 runbooks7172| Category | IDs | Covers |73|----------|-----|--------|74| A — Packages | A1–A2 | Package creation failures, package version errors |75| B — Installation | B1–B2 | Installation failures, uninstallation errors |76| C — Associations | C1–C2 | Association execution failures, scheduling issues |77| D — Platform & Custom | D1–D2 | Cross-platform packages, custom package errors |78| E — Storage & IAM | E1–E2 | S3 package storage, IAM permissions |79| F — Third-Party | F1 | Third-party package issues |80| Z — Catch-All | Z1 | General troubleshooting |