Guardrail Serving Across Zones
Applies to DynamoGuard. For the platform layer beneath it, see Platform Reliability.
Guardrail Serving Across Availability Zones
Three conditions must all hold for a policy to survive the loss of an availability zone. The first is a platform setting, the other two are properties of the cluster you operate.
| # | Condition | How to satisfy it |
|---|---|---|
| 1 | The model runs more than one replica | Set replicas on the model. A PodDisruptionBudget is created automatically at two or more |
| 2 | Nodes the model can run on exist in more than one zone | Provision the accelerator node pool across zones. Zone assignment is create-time only on a managed node pool, so an existing single-zone pool must be replaced rather than edited |
| 3 | The replicas actually land in different zones | Not expressible on the model. Verify placement, and use node pools to constrain scheduling |
Condition 2 is the one most often missed, and it is not a platform setting. A model class selects nodes by label and toleration, so replicas can only be placed where a matching node exists. If every node carrying that label sits in one zone, a second replica schedules onto a second node in the same zone, which survives a node failure and not a zone failure.
Verify all three after deployment. None of them is guaranteed by the configuration alone:
kubectl --context <ctx> -n <ns> get pods -l app.kubernetes.io/instance=<model> -o wide
kubectl --context <ctx> get nodes -L topology.kubernetes.io/zone
Compare the nodes the replicas landed on against those nodes' zones. Matching node names with different zones is the outcome you want; two replicas in one zone means condition 2 or 3 is unmet.
Accelerator SKUs are not offered in every zone of every region, and a zone that cannot provide the accelerator a model class requires cannot host a replica of it whatever the configuration says. Confirm accelerator availability per zone before designing around zone redundancy for guardrail serving, because this constraint sits with the cloud provider rather than with the platform.