When an LLM takes minutes to serve because it’s pulling 30GB of weights over the network, the problem isn’t the model, it’s the plumbing. HyperPod just gave you better pipes.
Amazon SageMaker HyperPod added five production-grade features that matter to platform, SRE, and ML teams running large generative models: multi-tier inference data capture, direct deploys from the Hugging Face Hub, node-local NVMe weight loading to reduce cold starts, automated Route 53 DNS + ACM TLS management for custom domains, and pod-level IAM via Kubernetes ServiceAccounts (IRSA). These features are in the operator line and aim to reduce operational friction, improve security posture, and boost performance when you enable the right controls.
Who should care
- ML platform engineers and SREs running inference on EKS / HyperPod
- Security/compliance teams who must audit inference traffic and control secrets
- Application owners who need predictable latency for customer-facing LLMs
What changed, and which versions to pick
The five features described here were introduced in the HyperPod Inference Operator release v3.1.2 (release date: May 6, 2026). If you want those capabilities, v3.1.2 is the minimum. A subsequent release, v3.2 (June 12, 2026), adds Disaggregated Prefill & Decode (DPD) and long-context / per-token latency improvements for specific GPU topologies. See the HyperPod release notes for the authoritative list of changes and timelines.
Documentation links:
Five practical features that change how you run inference
1) Multi‑tier data capture: choose the level of visibility you need
HyperPod supports dataCapture at three tiers, so you can pick the visibility that fits your use case and compliance needs:
- Tier 1, SageMaker AI endpoint: capture at the AI Runtime boundary. “Use Tier 1 when you need compatibility with SageMaker AI Model Monitor.” (AWS post)
- Tier 2, Application Load Balancer (ALB): capture ALB access logs and request metadata (URLs, client IPs, latencies).
- Tier 3, Model pod: capture request/response payloads at the container boundary, the deepest visibility. “Use Tier 3 when you need the deepest visibility closest to the model.” (AWS post)
Captured artifacts are written under an S3 prefix derived per deployment: {s3Uri}/{hash}/sme/, /alb/, or /pod/. And, as the AWS post notes, “If you don’t specify an s3Uri, HyperPod stores your data in the TLS certificate bucket under a /data-capture/ prefix by default.” That prefix is stable for the same deployment.
Defaults and important knobs (confirm in your operator docs for your version):
- initialSamplingPercentage for sagemakerEndpoint and modelPod defaults to 100 (the docs show 100 as the default; confirm in your v3.1.2 operator docs).
- modelPod buffer and payload controls exist (modelPod.bufferConfig.batchSize and flushIntervalSeconds, and modelPod.payloadConfig.maxPayloadSizeKB). The documented default batchSize is 10 and flushIntervalSeconds defaults to 60. Adjust these to trade memory, throughput, and latency. See the data capture doc for details.
Operational notes and security controls:
- ALB access logs are delivered to S3. The ALB service itself does not provide a KMS encryption toggle. Ensure the destination S3 bucket is encrypted (SSE‑KMS) and use IAM to restrict access.
- Avoid sending sensitive data in URL query strings, because ALB logs capture URLs and query parameters. For sensitive inputs prefer POST bodies, sample aggressively, and use payload size caps and KMS encryption.
- Attach S3 lifecycle policies to data-capture prefixes to control retention and cost. Measure expected capture volume before enabling 100% capture at production scale.
“Use Tier 1 when you need compatibility with SageMaker AI Model Monitor.”, AWS post
2) Deploy directly from the Hugging Face Hub (no pre‑staging required)
HyperPod can pull models directly from Hugging Face Hub so you don’t have to pre-stage weights to S3 or FSx. That speeds iteration and lets you deploy gated community models without an extra staging step.
Key behavior:
- Supports gated models via tokenSecretRef, and commitSHA pinning is available for reproducible deployments.
- Compatible runtimes: vLLM, TGI, SGLang.
- Prerequisites: a valid modelId, a Kubernetes Secret holding the Hugging Face token for gated models, and GPU-enabled nodes with a writable volume for downloaded weights.
Quick commands (common patterns):
- Create the HF token secret:
kubectl create secret generic hf-token-secret –from-literal=token=hf_YOUR_TOKEN_HERE -n <namespace>
- Smoke test an endpoint with the SageMaker AI Runtime:
aws sagemaker-runtime invoke-endpoint –endpoint-name $SAGEMAKER_ENDPOINT_NAME –content-type “application/json” –body ‘{“inputs”: “What is AWS SageMaker?”}’ –region $REGION –cli-binary-format raw-in-base64-out /dev/stdout
Operational cautions:
- Store HF tokens in AWS Secrets Manager or a sealed-secret controller and enforce RBAC on who can create such Secrets. The operator accepts a Kubernetes Secret but does not rotate tokens for you.
- Pin production deploys to commitSHA and have a rollback plan so node-local caches and HF revisions don’t drift unexpectedly.
3) Load model weights from node‑local NVMe to reduce cold starts
Cold starts are often dominated by network transfers of large weights. HyperPod supports loading weights from node-local NVMe, which is common on P, G, and Trn instance families. If local files are missing, the operator falls back to cloud storage (S3/FSx).
What to check and how to automate:
- Confirm whether the NVMe on your instance is instance-store (ephemeral) or EBS-backed NVMe. That affects persistence and the population strategy.
- Pre-populate NVMe using one of these patterns:
- DaemonSet that downloads weights on node boot, good for autoscaled clusters
- Baked AMI/AMI image with weights preloaded, good for stable fleets
- Node-bootstrap scripts or lifecycle hooks that pull weights on start
- Mount the host path into the pod (example hostPath: /opt/dlami/nvme/<YOUR_MODEL> → container /opt/ml/model).
Testing and fallback:
- The docs mention automatic fallback to cloud storage when local files are missing, but they don’t enumerate every fallback condition. Validate fallback behavior in staging and alert if a node lacks the model copy.
- Plan for model refresh. Frequent model updates complicate cache consistency between NVMe and the canonical model source.
4) Automatic Route 53 DNS + ACM TLS management for custom domains
HyperPod can create and manage DNS records when you provide an ACM certificate in Issued state and a Route 53 hosted zone. The operator reports DNS health so you can verify the custom domain is resolving correctly.
Managed By Operator: true
Record Name: api.example.com
Hosted Zone Id: Z1234567890ABC
Dns Health: Active
Message: DNS record resolves successfully
Prerequisites and IAM:
- An ACM certificate in Issued state that covers your domain, and a Route 53 hosted zone for that domain.
- The operator requires IAM permissions to read ACM certificates, upload TLS artifacts to S3, and change Route 53 records. Typical actions include acm:DescribeCertificate, acm:GetCertificate, s3:PutObject, route53:ChangeResourceRecordSets, route53:GetHostedZone, and route53:ListResourceRecordSets. Scope them to specific ARNs for least privilege.
- Cross-account hosted zones or certificates introduce extra constraints. Validate if your hosted zone lives in a different AWS account.
5) Pod‑level IAM via custom Kubernetes ServiceAccounts (IRSA)
To give inference pods least-privilege AWS permissions, HyperPod supports custom Kubernetes ServiceAccounts with IRSA. This is disabled by default. A cluster admin must enable it.
Enablement and prerequisites:
- Enable custom service accounts when installing or upgrading the operator (example CLI for a Helm-based operator): helm upgrade hyperpod-inference-operator <CHART_PATH> –set enableCustomServiceAccounts=true –reuse-values. If you deployed via the EKS add-on, update the add-on config to set enableCustomServiceAccounts: true.
- IRSA requires that your EKS cluster has an OIDC provider and that the IAM role trusts the OIDC provider. Ensure the cluster’s OIDC provider and role trust relationships are in place.
- Create a ServiceAccount, annotate it with the IAM role ARN, and label it so the operator accepts it:
kubectl annotate serviceaccount <sa-name> eks.amazonaws.com/role-arn=arn:aws:iam::123456789012:role/<role>
kubectl label serviceaccount <sa-name> sagemaker.amazonaws.com/user-assignable=true
- The operator will reject deployments referencing non-existent ServiceAccounts, missing the user-assignable label, or referencing the operator’s own system ServiceAccount.
Security best practices:
- Create a dedicated ServiceAccount per inference workload.
- Scope IRSA IAM roles to a narrow S3 prefix and a single KMS key used for that workload.
- Audit ServiceAccounts labeled sagemaker.amazonaws.com/user-assignable=true periodically to avoid privilege creep.
Operational checklist, the short list you can act on this week
- Platform (SRE/DevOps): Upgrade to Inference Operator v3.1.2 to get dataCapture, HF Hub deploys, NVMe loading, Route 53 automation, and custom ServiceAccounts. Test v3.2 only if you need DPD/long-context improvements.
- Security: Use IRSA for pod permissions. Store HF tokens in Secrets Manager or a sealed-secret controller and rotate them.
- Observability: Choose capture tiers by need, Tier 1 for Model Monitor, Tier 3 for debugging. Set sampling and maxPayloadSizeKB, and add S3 lifecycle rules.
- Performance: Prepopulate NVMe with a DaemonSet or baked AMI depending on node churn. Validate fallback to S3 and set alerts if local weight is missing.
- DNS & Certs: Provide an Issued ACM cert and a Route 53 hosted zone. Scope operator IAM to specific ARNs.
Costs, privacy, and a simple capture cost formula
Capturing full request/response payloads at high sampling rates can generate substantial S3 storage. Use this formula to estimate daily capture volume and cost (use your region’s S3 per-GB price P):
- Requests per second: R
- Average captured payload size (bytes): B
- Daily GB captured ≈ (R × B × 86, 400) ÷ 1, 073, 741, 824
- Monthly cost ≈ Daily GB × retention_days × P
Example scenario (plug your numbers): R = 100 req/s, B = 50 KB, retention_days = 30. Calculate daily GB and then multiply by your S3 price per GB to get the storage cost. Remember PUT and LIST requests and lifecycle transitions also add cost. Estimate and test in staging before enabling Tier 3 at 100%.
Privacy checklist:
- Do not put PII in URL query strings (ALB logs capture them).
- Use client-side redaction, sampling, payload caps, and KMS encryption.
- Apply retention policies and access controls to the data-capture prefix.
Open questions you should answer during acceptance testing
- How will captured artifacts be consumed (monitoring pipeline, retraining, drift detection)? Define formats and downstream jobs.
- What is your HF token rotation policy and who can create token Secrets?
- Which NVMe population pattern fits your cluster churn (DaemonSet vs AMI bake)?
- How will you detect and alert on fallback from NVMe to cloud storage?
- For multi-tenant clusters, how will you avoid accidental data co-location in the TLS certificate bucket? Use dedicated buckets and strict IAM scoping.
Key takeaways, quick war‑room questions
-
Do I need the latest operator to use these features?
Use v3.1.2 (May 6, 2026) for multi-tier data capture, Hugging Face Hub deploys, NVMe model loading, Route 53 DNS management, and pod-level IRSA. Upgrade to v3.2 (June 12, 2026) only if you need DPD and long-context / per-token latency improvements. See the HyperPod release notes for details.
-
How do I keep captured data private and affordable?
Encrypt with KMS, cap payload sizes with payloadConfig.maxPayloadSizeKB, reduce sampling (initialSamplingPercentage), and attach S3 lifecycle policies to limit retention. Avoid PII in ALB query strings since ALB logs capture URLs and query parameters; ensure S3 buckets are encrypted (SSE‑KMS) and access is restricted.
-
Can I deploy a gated Hugging Face model without staging weights?
Yes, HyperPod supports direct deployments from Hugging Face Hub using tokenSecretRef and commitSHA pinning; ensure nodes can write downloaded weights and that you manage HF tokens securely (Secrets Manager or sealed secrets + rotation).
-
Will local NVMe eliminate cold starts?
It won’t eliminate them, but NVMe can drastically reduce cold-start time by avoiding large network pulls. You must pre-populate NVMe, plan for instance-store vs EBS NVMe persistence, and handle model updates and cache invalidation.
-
How do I give inference pods narrow AWS permissions?
Enable custom ServiceAccounts (IRSA), create per-workload ServiceAccounts annotated with the eks.amazonaws.com/role-arn and labeled sagemaker.amazonaws.com/user-assignable=true, and scope IAM policies to specific S3 prefixes and KMS keys. Ensure your cluster has an OIDC provider and correct trust policy for the role.
Final thought
These HyperPod features are infrastructure hygiene with real impact: better observability, safer model sourcing, faster cold starts, simpler domain ops, and per-pod least-privilege. They won’t remove operational work, but they give you levers to control it. Upgrade to the right operator version for your needs, test each feature in staging (data capture, NVMe fallback, DNS automation, and IRSA), instrument everything, and automate the operational gaps (token rotation, NVMe population, S3 lifecycle). Do that, and your LLMs will behave much more like reliable services.