7.5 KiB
04 — Choix des serveurs Hetzner
Types de serveurs Hetzner (post 1er avril 2026)
Série CX — Intel/AMD partagé (usage général)
| Type | vCPU | RAM | SSD | Bande passante | Prix/mois |
|---|---|---|---|---|---|
| CX22 | 2 | 4 GB | 40 GB | 20 TB | €5.11 |
| CX32 | 4 | 8 GB | 80 GB | 20 TB | €9.19 |
| CX42 | 8 | 16 GB | 160 GB | 20 TB | €21.49 |
| CX52 | 16 | 32 GB | 320 GB | 20 TB | €43.49 |
Série CAX — ARM64 Ampere (meilleur rapport prix/perfs)
| Type | vCPU | RAM | SSD | Prix/mois |
|---|---|---|---|---|
| CAX11 | 2 | 4 GB | 40 GB | €3.79 |
| CAX21 | 4 | 8 GB | 80 GB | €6.49 |
| CAX31 | 8 | 16 GB | 80 GB | €12.49 |
| CAX41 | 16 | 32 GB | 160 GB | €24.49 |
Note ARM64 : NestJS (Node.js) et Next.js fonctionnent parfaitement sur ARM64. Les images Docker
node:20-alpinesont multi-arch. Les carrier APIs (Maersk, MSC...) appellent des APIs externes → architecture du serveur sans impact. Les CAX sont 35-40% moins chères que les CX pour des perfs équivalentes.
Série CCX — vCPU dédiés (pour la base de données)
| Type | vCPU dédiés | RAM | SSD NVMe | Prix/mois |
|---|---|---|---|---|
| CCX13 | 2 | 8 GB | 80 GB | €12.49 |
| CCX23 | 4 | 16 GB | 160 GB | €23.99 |
| CCX33 | 8 | 32 GB | 240 GB | €51.99 |
| CCX43 | 16 | 64 GB | 360 GB | €103.99 |
Les CCX sont recommandés pour PostgreSQL self-hosted car les vCPUs dédiés évitent la contention avec d'autres clients. I/O NVMe plus rapide.
Recommandations par palier
Palier MVP — 100 utilisateurs
Objectif : Démarrer avec un coût minimal, tout peut tenir sur peu de nœuds.
Control Plane : 1× CX22 (2 vCPU, 4 GB) — €5.11/mois
Workers : 2× CX32 (4 vCPU, 8 GB) — €9.19/mois × 2 = €18.38/mois
Load Balancer : LB11 — €7.49/mois
──────────────────────────────────────────────────────
Sous-total cluster : €30.98/mois
+ Neon.tech Pro : $19/mois
+ Upstash Redis : $0 (free tier)
+ Object Storage : €4.99/mois (inclut 1 TB)
──────────────────────────────────────────────────────
TOTAL : ~€55/mois
Pods qui tiennent sur cette config :
- 2× NestJS backend (500m CPU / 512Mi RAM chacun)
- 1× Next.js frontend (250m CPU / 256Mi RAM)
- Traefik ingress (built-in)
- cert-manager
Alternative ARM64 encore moins chère :
Control Plane : 1× CAX11 (2 vCPU, 4 GB) — €3.79/mois
Workers : 2× CAX21 (4 vCPU, 8 GB) — €6.49/mois × 2 = €12.98/mois
──────────────────────────────────────────────────────
Sous-total (ARM64) : €16.77/mois (vs €23.49 en CX)
⚠️ Si vous utilisez CAX (ARM64), vérifiez que vos Dockerfiles sont buildés en
linux/arm64ou utilisez des imageslinux/amd64avec émulation QEMU. Le plus simple : build multi-arch avecdocker buildx(voir doc 11).
Palier Croissance — 1 000 utilisateurs
Objectif : Performance correcte, HA partielle, autoscaling activé.
Control Plane : 1× CX22 (2 vCPU, 4 GB) — €5.11/mois
Workers : 3× CX42 (8 vCPU, 16 GB) — €21.49/mois × 3 = €64.47/mois
(autoscaling jusqu'à 6 nodes)
Load Balancer : LB21 (75 targets, 2 TB) — €22.14/mois
PostgreSQL : CCX13 dédié (4 vCPU dédiés) — €23.99/mois ← self-hosted
+ 100 GB Volume — €5.70/mois
Redis : CX22 dédié — €5.11/mois
Object Storage: €4.99/mois
──────────────────────────────────────────────────────
TOTAL : ~€131/mois
Pods sur cette config :
- 4× NestJS backend (750m CPU / 768Mi RAM)
- 2× Next.js frontend (500m CPU / 512Mi RAM)
- HPA actif : scale jusqu'à 8 pods NestJS
Palier Scale — 10 000 utilisateurs
Objectif : Haute disponibilité, performances sous charge.
Control Plane : 3× CX22 (cluster etcd HA) — €5.11/mois × 3 = €15.33/mois
Workers : 6× CX52 (16 vCPU, 32 GB) — €43.49/mois × 6 = €260.94/mois
(autoscaling jusqu'à 12 nodes)
Load Balancer : LB31 (150 targets, 3 TB) — €39.15/mois
PostgreSQL : CCX33 primary (8 vCPU dédié) — €51.99/mois
+ CCX23 replica (4 vCPU dédié) — €23.99/mois
+ 500 GB Volume NVMe — €28.50/mois
Redis : CX42 dédié — €21.49/mois
Object Storage: ~€15/mois (extra 3 TB)
──────────────────────────────────────────────────────
TOTAL : ~€457/mois
Localisation des serveurs (datacenter)
Hetzner a des datacenters en :
fsn1— Falkenstein, Allemagne (recommandé)nbg1— Nuremberg, Allemagnehel1— Helsinki, Finlande (bon pour RGPD nordique)ash— Ashburn, USA (si clients américains prioritaires)hil— Hillsboro, USA
Recommandation : fsn1 (Falkenstein) pour les clients européens. Même région pour tous les nœuds pour minimiser la latence réseau interne.
# Vérifier les datacenters disponibles dans une région
hcloud datacenter list
# ID NAME DESCRIPTION LOCATION
# 1 fsn1-dc3 Falkenstein 1 virtual DC 3 fsn1
# 2 nbg1-dc3 Nuremberg 1 virtual DC 3 nbg1
# 3 hel1-dc2 Helsinki 1 virtual DC 2 hel1
# 4 ash-dc1 Ashburn, Virginia 1 virtual DC 1 ash
# 5 hil-dc1 Hillsboro, Oregon 1 virtual DC 1 hil
Load Balancer — Choix du plan
| Plan | Targets | Trafic inclus | Connexions | Prix/mois |
|---|---|---|---|---|
| LB11 | 25 | 1 TB | 1 000 simultanées | €7.49 |
| LB21 | 75 | 2 TB | 10 000 simultanées | €22.14 |
| LB31 | 150 | 3 TB | 100 000 simultanées | ~€39 |
- 100 users : LB11 largement suffisant
- 1 000 users : LB21 recommandé (WebSocket = connexions persistantes)
- 10 000 users : LB31 nécessaire (10 000 connexions simultanées pour WS + HTTP)
Configuration WebSocket sur le LB :
# Dans hetzner-k3s config (géré automatiquement)
# Le LB Hetzner supporte les WebSockets nativement
# Sticky sessions : cookie_name=SERVERID
Décision finale : ARM64 ou x86 ?
| Critère | x86 (CX) | ARM64 (CAX) |
|---|---|---|
| Coût | Référence | -35% |
| Performances Node.js | Bonne | Équivalente ou meilleure |
| Docker images officielles | ✅ linux/amd64 | ✅ linux/arm64 (Node.js 20, Alpine, etc.) |
| Build CI/CD | Simple | Nécessite linux/arm64 ou multi-arch |
| Dépendances natives | Toutes supportées | 99% supportées (vérifier pdfkit, argon2) |
| Maturité | Très mature | Mature (2023+) |
Verdict pour Xpeditis : Les CAX sont recommandées si vous acceptez la légère complexité de build multi-arch. Sinon, CX pour la simplicité. Ce guide utilise CX par défaut.
Vérification des dépendances natives pour ARM64 :
argon2→ ✅ binaires précompilés ARM64 via@node-rs/argon2pdfkit→ ✅ pur JavaScript, pas de binaires natifssharp(si utilisé pour images) → ✅ binaires ARM64 disponiblesbetter-sqlite3→ Non utilisé (TypeORM PG)