End-to-End Encryption on Amazon EKS with cert-manager
- RNREDDY

- Nov 26, 2025
- 1 min read
End-to-End Encryption on Amazon EKS with cert-manager
Organizations handling sensitive applications demands secure communications that ensure data privacy, even between internal services.
However, Some of the valid challenges I see:
Managing certificates for each microservice is complex.
Kubernetes ingress with Network Load Balancer doesn't support client certificates.
Manual certificate rotation increases administrative effort.
Mutual TLS is not achievable with standard Kubernetes ingress.
Using NGINX Ingress Controller for ingress in Amazon EKS enables mutual TLS. Cert-manager with Let's Encrypt automates certificate provisioning and rotation, enhancing security and compliance for organizations with strict security guidelines.

A client sends a request to the application’s DNS name.
Route 53 resolves the DNS to a CNAME pointing to the Network Load Balancer.
The Network Load Balancer forwards the request over HTTPS to the NGINX Ingress Controller with a TLS listener.
The NGINX Ingress Controller routes the request based on the path to the Application Service.
The Application Service forwards the request to the appropriate Application Pod.
The Application Pods run with cert-manager certificates, and communication between NGINX Ingress and the pods uses HTTPS.
Note:
Cert-manager operates in its own namespace.
Cert-manager provisions certificates as secrets in specific namespaces.
These namespaces can be linked to application pods and NGINX Ingress Controller.
Remember, securing service-to-service communication with end-to-end encryption isn't just a best practice—it's essential for maintaining data integrity and trust in your microservices architecture



Comments