• 1. Prérequis et outils

  • 2. Définir l’infrastructure avec Terraform

  • 3. Configurer kubectl et déployer l’application

  • 4. Activer l’auto-scaling et le monitoring

  • 5. Bonnes pratiques sécurité et coûts

  • 5.1. Observabilité avancée

  • 5.2. Optimisation des temps de déploiement

déployer un cluster Kubernetes sur AWS EKS avec Terraform pour votre SaaS Node.js

Image de déployer un cluster Kubernetes sur AWS EKS avec Terraform pour votre SaaS Node.js

Pour une application SaaS Node.js, évoluer sans couture et garantir haute disponibilité passe souvent par Kubernetes. Dans ce tutoriel, nous expliquons comment provisionner un cluster Kubernetes sur AWS EKS avec Terraform, configurer kubectl et déployer votre service Node.js en production.

1. Prérequis et outils

  • Compte AWS avec droits IAM suffisants pour EKS et IAM Roles
  • AWS CLI v2 configuré (aws configure)
  • Terraform ≥ 1.5 (installer depuis terraform.io)
  • kubectl configuré
  • Docker pour builder votre image Node.js

2. Définir l’infrastructure avec Terraform

Créez un fichier main.tf :

terraform {
  required_providers {
    aws = { source = "hashicorp/aws" version = "~> 4.0" }
  }
}

provider "aws" {
  region = "eu-west-1"
}

module "eks_cluster" {
  source          = "terraform-aws-modules/eks/aws"
  version         = "19.0.0"
  cluster_name    = "saas-nodejs-cluster"
  cluster_version = "1.27"
  subnets         = ["subnet-xxx", "subnet-yyy"]
  vpc_id          = var.vpc_id

  node_groups = {
    default = {
      desired_capacity = 2
      max_capacity     = 4
      min_capacity     = 2
      instance_type    = "t3.medium"
    }
  }
}

Exécutez ensuite :

  1. terraform init
  2. terraform apply -auto-approve

3. Configurer kubectl et déployer l’application

Récupérez la config du cluster :

aws eks --region eu-west-1 update-kubeconfig --name saas-nodejs-cluster

Créez un deployment.yaml :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: saas-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: saas
  template:
    metadata:
      labels:
        app: saas
    spec:
      containers:
      - name: nodejs
        image: your-account.dkr.ecr.eu-west-1.amazonaws.com/saas-nodejs:latest
        ports:
        - containerPort: 3000

Appliquez ensuite :

kubectl apply -f deployment.yaml
kubectl expose deployment saas-app --type=LoadBalancer --port=80 --target-port=3000

4. Activer l’auto-scaling et le monitoring

Installez le Metrics Server pour le HPA (Horizontal Pod Autoscaler) :

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

Puis créez un HPA :

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: saas-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: saas-app
  minReplicas: 2
  maxReplicas: 6
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 60

5. Bonnes pratiques sécurité et coûts

  • Attribuez des IAM Roles dédiés aux Worker Nodes (module EKS worker_iam_role_name).
  • Activez les Pod Security Policies ou Admission Controller pour limiter les privilèges.
  • Privilégiez les spot instances pour réduire jusqu’à 70 % des coûts du compute.
  • Activez la rotation des secrets via AWS Secrets Manager pour vos variables sensibles (DB, API keys).

Observabilité avancée

Pour suivre la performance en temps réel, déployez Prometheus & Grafana en service. Vous pouvez exposer les métriques au format /metrics et configurer des alertes sur la latence ou l’usage CPU.

Optimisation des temps de déploiement

  • Utilisez des build pipelines avec GitHub Actions pour automatiser le docker build et le terraform apply.
  • Empaquetez vos modules Terraform en registry privée pour réduire les temps d’init.

Vous disposez maintenant d’un cluster EKS scalable et sécurisé pour faire évoluer votre SaaS Node.js en toute sérénité.

Besoin d’aide pour implémenter cette architecture ? Contactez nos experts.

Image de 5 cafés à Lyon pour coder en toute tranquillité en 2025

5 cafés à Lyon pour coder en toute tranquillité en 2025

Découvrez 5 cafés incontournables à Lyon pour coder en confort en 2025 avec wifi performant, prises à volonté et ambiance cosy, plus nos astuces.
Image de odoo 18 : exploitation des LLM intégrés pour optimiser vos modules ERP et CRM

odoo 18 : exploitation des LLM intégrés pour optimiser vos modules ERP et CRM

Découvrez comment Odoo 18 exploite des LLM intégrés pour automatiser factures, CRM et stocks, booster productivité et réduire coûts avec l’AI Assist native
Image de comment réussir la migration de votre ERP vers un SaaS en 6 étapes clés pour maximiser le ROI

comment réussir la migration de votre ERP vers un SaaS en 6 étapes clés pour maximiser le ROI

Découvrez en 6 étapes clés comment planifier, exécuter et piloter avec succès la migration de votre ERP vers un SaaS pour maîtriser coûts, délais et ROI.
DEVIS GRATUIT

Un projet en tête ? Vous avez des questions ?

Contactez nous pour recevoir un devis gratuitement, des réponses à vos questions ou une séance de consulting offerte avec l'un de nos experts :

Femme en chemise jaune