sécuriser un cluster Kubernetes EKS sur AWS avec Terraform : guide technique approfondi
11/02/2026
La sécurisation d’un cluster Kubernetes EKS sur AWS est une étape critique pour toute architecture microservices. Grâce à Terraform, vous provisionnez et versionnez votre infrastructure de façon déclarative, garantissant cohérence et traçabilité. Dans ce guide technique, vous découvrirez comment :
- Préparer votre environnement AWS et Terraform
- Déployer un cluster EKS minimal
- Appliquer les bonnes pratiques de sécurité (RBAC, PodSecurity, scan CIS)
- Automatiser les mises à jour avec Ansible
sécuriser un cluster Kubernetes EKS sur AWS avec Terraform : préparation
Pour démarrer, installez :
- AWS CLI : aws-cli/2.7.0
- Terraform : >= v1.5.0
- kubectl : >= v1.27.0
- Ansible : >= 2.14 (plus d’infos)
# Configurez vos credentials AWS
aws configure
# Vérifiez l’authentification
aws sts get-caller-identity
1. Définition du provider et des variables Terraform
terraform {
required_providers {
aws = { source = "hashicorp/aws" version = "~> 5.0" }
}
required_version = ">= 1.5.0"
}
provider "aws" {
region = var.aws_region
}
variable "aws_region" {
type = string
default = "eu-west-3"
}
2. Provisionnement du cluster EKS
module "eks" {
source = "terraform-aws-modules/eks/aws"
version = "19.0.0"
cluster_name = "novane-eks-secure"
cluster_version = "1.27"
subnets = data.aws_subnets.private.ids
vpc_id = data.aws_vpc.main.id
manage_aws_auth = true
node_groups = {
workers = {
desired_capacity = 2
max_capacity = 3
min_capacity = 1
instance_type = "t3.medium"
}
}
}
Appliquez l’infrastructure :
terraform init
terraform plan
terraform apply -auto-approve
mettre en place les contrôles de sécurité natifs
RBAC et PodSecurity
Activez RBAC et les PodSecurityPolicies pour restreindre les privilèges :
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: restricted-psp
spec:
privileged: false
allowPrivilegeEscalation: false
requiredDropCapabilities:
- ALL
runAsUser:
rule: MustRunAsNonRoot
Astuce : à partir de Kubernetes 1.27, préférez les PodSecurityAdmission aux PSP classiques.
Scan CIS avec kube-bench
Intégrez kube-bench dans votre CI/CD pour vérifier la conformité CIS 2025 :
docker run --rm -v ~/.kube/config:/root/.kube/config
aquasec/kube-bench:latest --version 1.27
Résultat : un rapport JSON détaillé mettant en évidence les points à corriger.
automatiser les patchs et audits avec Ansible
Pour maintenir votre cluster à jour et audité, créez un playbook Ansible :
- hosts: bastion
tasks:
- name: Mettre à jour les paquets de sécurité
yum:
name: "*security*"
state: latest
- name: Exécuter kube-bench en local
command: docker run --rm -v /home/ec2-user/.kube:/root/.kube aquasec/kube-bench:latest
Planification
Utilisez cron ou AWSEvents pour déclencher le playbook chaque semaine.
bonnes pratiques et métriques de sécurité
- Activer AWS GuardDuty pour détecter les comportements suspects.
- Mettre en place NetworkPolicies pour isoler vos namespaces.
- Chiffrez vos etcd volumes (AES 256).
- Collectez les logs avec Fluent Bit et envoyez-les vers CloudWatch ou Elasticsearch.
Selon une étude AWS (2023), un cluster bien configuré réduit de 70 % les risques d’attaque par élévation de privilèges.
conclusion
En combinant Terraform, Kubernetes EKS et Ansible, vous obtenez une infrastructure sécurisée, modulable et auditée en continu. Pour aller plus loin et bénéficier d’un accompagnement sur-mesure, contactez nos experts DevOps.
IMAGE_TAGS: cloud infrastructure, DevOps

