The proxy stopped responding. The rotation window was less than two hours away. The private subnet was quiet, but every heartbeat of the network carried the same silent alarm: the certificate was about to expire.
Certificate rotation in a VPC private subnet with a proxy deployment sounds straightforward on paper. It isn’t. In practice, it is a high-stakes change to an always-on system, a tiny update that can bring down entire workflows if handled poorly. When deployed inside a private subnet, dependencies multiply. The proxy sits as the choke point, the single source of ingress and egress, and your certificate rotation process lives and dies by the control you exert here.
Automating certificate rotation is not optional. Manual updates risk human error, downtime, and lingering expired certs. Within a VPC, your rotation must account for restricted internet access, NAT gateways, endpoint policies, and the update process of the proxy layer itself. Whether you use Nginx, Envoy, HAProxy, or a managed service, every update path must be tested against the fact that the private subnet cannot pull new certificates in the same way a public-facing service can.
A zero-downtime approach means staging, validating, and swapping certificates atomically. Implement health checks at the proxy level before traffic reroutes. Use an internal CA or AWS Certificate Manager Private CA to issue and revoke without crossing the subnet boundary. Store certificates in a secure, accessible location inside your VPC—an encrypted Amazon S3 bucket with tightly scoped IAM roles, or AWS Secrets Manager, both integrated into your deployment pipeline.