awslabs avatar

Hyperpod Ssm

If you're working with SageMaker HyperPod, this is how you actually get onto the cluster nodes since direct SSH isn't available. It wraps AWS Systems Manager to execute commands, transfer files, and run diagnostics on instances. The implementation handles the awkward SSM target format and includes unbuffer to work around an intermittent empty output bug in the session manager plugin. Watch the 3 TPS rate limit when running commands across many nodes. The three shell scripts cover the common pattern: resolve cluster info once, then execute per node. Runs as root by default, uses JSON files for parameters to avoid quoting nightmares.

skills.sh installs
150
GitHub stars
938
last updated
Jun 11, 2026

Install

$ npx -y skills add awslabs/agent-plugins --skill hyperpod-ssm --agent claude-code

Installs into .claude/skills of the current project.

Files

HyperPod SSM Access

Prerequisites

  • aws CLI v2, authenticated for the target account/Region.
  • session-manager-plugin — installed alongside the AWS CLI.
  • jq — the scripts build JSON payloads with it.
  • unbuffer (from the expect package) — wraps aws ssm start-session with a PTY so the session-manager-plugin flushes stdout instead of racing to close. Without it, calls intermittently return empty output with Cannot perform start session: EOF even when the command ran. Install with sudo yum install expect, sudo apt install expect, or brew install expect. ssm-exec.sh detects and uses it automatically; falls back with a warning if missing.

SSM Target Format

Target: sagemaker-cluster:<CLUSTER_ID>_<GROUP_NAME>-<INSTANCE_ID>

  • CLUSTER_ID: Last segment of cluster ARN (NOT the cluster name). Extract via get-cluster-info.sh.
  • GROUP_NAME: Instance group name — retrieve via list-nodes.sh.
  • INSTANCE_ID: EC2 instance ID (e.g., i-0123456789abcdef0)

Scripts

Three scripts under scripts/. Resolve cluster info and nodes once, then execute per node.

get-cluster-info.sh — Resolve cluster name → ID (call once)

Sponsors

Details

Repository
github.com/awslabs/agent-plugins
Categories
AI & Agent Building, Automation & Workflows, Cloud & Infrastructure, CLI & Terminal
License
Apache-2.0
First seen
Jun 11, 2026

More from awslabs/agent-plugins

All 32
1getsentry avatarsentry-react-native-setupgetsentry/sentry-agent-skillsSetup Sentry in React Native using the wizard CLI. Use when asked to add Sentry to React Native, install @sentry/react-native, or configure error monitoring for150skills.sh installs
2itsmostafa avatarecsitsmostafa/aws-agent-skillsAWS ECS container orchestration for running Docker containers. Use when deploying containerized applications, configuring task definitions, setting up services,150skills.sh installs
3tuesd4y avatartranslatetuesd4y/agent-skillsTranslate new entries in XLF files. Finds state="new" in changed messages.{LANG}.xlf files, shows context, proposes translations for review.150skills.sh installs
4awslabs avatarhyperpod-version-checkerawslabs/agent-pluginsCheck and compare software component versions on SageMaker HyperPod cluster nodes - NVIDIA drivers, CUDA toolkit, cuDNN, NCCL, EFA, AWS OFI NCCL, GDRCopy, MPI, 149skills.sh installs
5hoodini avataraws-account-managementhoodini/ai-agents-skillsManage AWS accounts, organizations, IAM, and billing. Use when setting up AWS Organizations, managing IAM policies, controlling costs, or implementing multi-acc148skills.sh installs
6itsmostafa avatareksitsmostafa/aws-agent-skillsAWS EKS Kubernetes management for clusters, node groups, and workloads. Use when creating clusters, configuring IRSA, managing node groups, deploying applicatio148skills.sh installs