Passer au contenu principal
Cette liste de vérification doit être complétée et examinée avec le client avant de déployer l’infrastructure EKB EKS sur son compte AWS. Tous les éléments doivent être confirmés, documentés et approuvés avant le déploiement.

Liste de vérification

Compte AWS et accès

DomaineÉlément de la listeExigence détailléeQuoi / PourquoiCritères d’acceptationStatutValeurs capturées / Notes
CompteID de compte AWSL’ID de compte AWS valide doit être partagéRequis pour la création de rôles IAM, la propriété de facturation, le balisage et l’accès au backend TerraformL’ID de compte est correct, la facturation est activée et accessible
RégionSélection de la région AWSLa région doit supporter EKS, EC2, VPC, ACM, ElastiCache, Amazon MQCertains services sont limités à certaines régions ; les régions non supportées interrompent le déploiementLa région est confirmée dans la console AWS et supporte tous les services requis
CLIAWS CLI configuréUtilisateur IAM avec AWS CLI authentifiéLes déploiements Terraform/Terragrunt nécessitent un accès programmatiqueaws sts get-caller-identity retourne le compte attendu
IAMPermissions de déploiementPermissions IAM AdministrateurLe déploiement couvre EC2, EKS, IAM, S3, ACM, Route 53, MQ, ElastiCache, CloudWatchLa politique IAM permet create/update/delete sur les services requis

Quotas de services

DomaineÉlément de la listeExigence détailléeQuoi / PourquoiCritères d’acceptationStatutValeurs capturées / Notes
EC2Quota de vCPU à la demandeQuota minimum 100–150 vCPU pour les instances Standard à la demande (A, C, D, H, I, M, R, T, Z)L’autoscaling, les instances r6a et Karpenter nécessitent une large marge de vCPUL’augmentation de quota est approuvée dans la console Service Quotas
EC2Disponibilité des familles d’instancesInstances des familles C, M, R disponibles dans la régionLes workloads nécessitent des nœuds optimisés pour le calcul, la mémoire et les bases de donnéesLes familles d’instances sont visibles et sélectionnables dans la console EC2
EKSQuota de cluster EKSAu moins 1 cluster EKS autorisé selon le déploiement d’environnement requisLa création de cluster est bloquée si le quota est insuffisantQuota >= 1 cluster
VPCQuota de NAT Gateway1 NAT Gateway par AZ (recommandé 3)Les subnets privés nécessitent un accès Internet sortantQuota >= nombre d’AZ
RéseautageQuota d’adresse IP élastiqueAdresses IP élastiques disponibles pour les NAT GatewaysChaque NAT Gateway consomme une adresse IP élastiqueLe quota d’adresse IP élastique est suffisant pour le nombre d’AZ
ElastiCacheQuota ElastiCacheAu moins 2 nœuds pour le cluster Redis (cache.t3.micro, Redis 7.0)Requis lorsque ENABLE_AWS_SERVICES=trueQuota >= 2 nœuds
Amazon MQQuota Amazon MQAu moins 1 broker pour RabbitMQ (mq.m5.large, RabbitMQ 3.13)Requis lorsque ENABLE_AWS_SERVICES=trueQuota >= 1 broker

Domaines et SSL

DomaineÉlément de la listeExigence détailléeQuoi / PourquoiCritères d’acceptationStatutValeurs capturées / Notes
DomainesDomaine du frontendDomaine public pour le frontend web (par ex. app.example.com)Utilisé pour le routage ALB et la terminaison SSLLe domaine se résout et la propriété est confirmée
DomainesDomaine de l’API backendDomaine public pour le backend FastAPI (par ex. api.example.com)Requis pour l’accès API et TLSLe domaine est documenté et approuvé
DomainesDomaine du service AutomatorDomaine public pour le service Automator (par ex. automations.example.com)Requis pour l’accès API et TLSLe domaine est documenté et approuvé
DomainesDomaine du service SupabaseLorsque Supabase Cloud n’est pas utilisé — domaine public pour Supabase (par ex. supabase.example.com)Requis pour l’accès API et TLS lors de l’auto-hébergement de SupabaseLe domaine est documenté et approuvé
CertificatsCertificats ACMCertificats ACM wildcard ou individuels créés dans la région de déploiementLa terminaison TLS à l’ALB nécessite des certificats ACM validesLes certificats sont dans l’état ISSUED et dans la même région AWS que le déploiement

Réseautage

DomaineÉlément de la listeExigence détailléeQuoi / PourquoiCritères d’acceptationStatutValeurs capturées / Notes
VPCStratégie VPCConfirmer un VPC existant ou approuver la création d’un nouveau VPCDéfinit les limites d’isolation, de routage et de sécuritéL’ID VPC ou le bloc CIDR est approuvé
CIDRPlanification CIDRLe CIDR ne doit pas chevaucher les réseaux sur site ou d’autres VPCLes CIDR qui se chevauchent interrompent le routage et la connectivité VPNLe CIDR est validé par rapport aux réseaux existants
SubnetsSubnets publicsSubnets publics par AZ pour ALB et NAT GatewaysRequis pour le trafic d’entrée et de sortieLes subnets sont balisés et routables
SubnetsSubnets privésSubnets privés par AZ pour les nœuds worker EKSGarantit que les workloads ne sont pas directement exposés à InternetLes subnets sont mappés et accessibles via NAT Gateway
SortieAccès sortantPorts sortants 80, 443, 53 autorisés depuis les nœuds workerNécessaire pour les pull d’images de conteneur, les appels API AWS et la résolution DNSLes règles de firewall/groupe de sécurité sont validées

Configuration des services

DomaineÉlément de la listeExigence détailléeQuoi / PourquoiCritères d’acceptationStatutValeurs capturées / Notes
SupabaseActivation de SupabaseConfirmer Supabase auto-hébergé (ENABLE_SUPABASE=true) ou Supabase CloudAffecte l’approvisionnement de base de données, les secrets, l’ingress et la configuration réseauLa décision est documentée ; les flags ENABLE_* correspondants sont définis dans le déploiement
Services AWSUtilisation de RedisConfirmer AWS ElastiCache Redis (ENABLE_AWS_SERVICES=true) ou Redis externeAffecte la haute disponibilité, le coût et la conception réseauLa décision est documentée
Services AWSUtilisation de RabbitMQConfirmer Amazon MQ (ENABLE_AWS_SERVICES=true) ou RabbitMQ externeImpacte la fiabilité du messaging et la HALa décision est documentée
Load BalancerContrôleur ALBAWS Load Balancer Controller activé (ENABLE_ALB_CONTROLLER=true, par défaut)Requis pour l’approvisionnement d’ingress ALB à partir des annotations KubernetesLes pods du contrôleur sont actifs dans l’espace de noms infrastructure

Autoscaling

DomaineÉlément de la listeExigence détailléeQuoi / PourquoiCritères d’acceptationStatutValeurs capturées / Notes
KarpenterKarpenter installéContrôleur Karpenter déployé via le module EKSGère l’approvisionnement dynamique des nœuds ; remplace l’autoscaling du groupe de nœuds gérésLes pods Karpenter sont sains dans le groupe de nœuds dédié
KarpenterStratégie SpotUtilisation Spot vs À la demande définie par classe de nœudOptimise le coût tout en maintenant la stabilité ; la gestion des interruptions Spot doit être activéeLa gestion des interruptions via SQS est activée si les instances Spot sont utilisées
KEDAAutoscaling de podsKEDA installé via le chart Helm (keda namespace)Gère l’autoscaling dynamique des pods selon les seuils CPU/MémoireLes pods de l’opérateur KEDA sont sains ; ScaledObjects appliqués à tous les services

Stockage

DomaineÉlément de la listeExigence détailléeQuoi / PourquoiCritères d’acceptationStatutValeurs capturées / Notes
EBSPilote EBS CSIPilote EBS CSI installé (kube-system namespace)Requis pour l’approvisionnement dynamique de volumes persistants via StorageClassLes pods du pilote sont sains ; les PVC se provisionnent avec succès

Sécurité

DomaineÉlément de la listeExigence détailléeQuoi / PourquoiCritères d’acceptationStatutValeurs capturées / Notes
ChiffrementChiffrement au reposChiffrement des volumes EBS, du bucket S3 et de Redis activéProtège les données sensibles au repos sur toutes les couches de stockageLe chiffrement est confirmé via la console AWS pour chaque service
ChiffrementChiffrement en transitTLS appliqué pour toute la communication des services externe et interneEmpêche l’interception de données en transitLes endpoints HTTPS sont vérifiés ; transit_encryption_enabled = true pour Redis
AuditJournalisation d’auditCloudTrail, VPC Flow Logs et les journaux d’audit Kubernetes activésRequis pour les investigations d’incident, la conformité et les auditsLes journaux sont visibles et interrogeables dans CloudWatch / S3

Déploiement

DomaineÉlément de la listeExigence détailléeQuoi / PourquoiCritères d’acceptationStatutValeurs capturées / Notes
PlanificationFenêtre de déploiementLa date et la fenêtre de temps de déploiement sont approuvées par le clientGarantit la disponibilité de l’équipe client pour la validation et le rollback si nécessaireLa confirmation écrite est reçue

Approbation

DomaineÉlément de la listeExigence détailléeQuoi / PourquoiCritères d’acceptationStatutValeurs capturées / Notes
ApprobationApprobation clientLe client approuve formellement l’estimation des coûts, la portée et le plan de déploiementL’autorisation formelle de mise en production est requise avant l’approvisionnement de l’infrastructureL’approbation par email ou document signé est reçue

Référence des drapeaux d’activation/désactivation des services

Confirmez la valeur prévue pour chaque drapeau avec le client avant le déploiement.
Variable d’environnementPar défautEffet
ENABLE_SUPABASEfalseDéployer la pile Supabase auto-hébergée (Kong, Auth, Storage, Studio)
ENABLE_CNPGfalseDéployer l’opérateur CloudNativePG (prérequis pour la DB Supabase auto-hébergée)
ENABLE_HA_SUPABASE_DBfalseDéployer un cluster PostgreSQL HA via CloudNativePG (prérequis pour Supabase)
ENABLE_AWS_SERVICESfalseProvisionner ElastiCache Redis et Amazon MQ RabbitMQ
ENABLE_ALB_CONTROLLERtrueDéployer AWS Load Balancer Controller
ENABLE_SIGNOZfalseDéployer la plateforme d’observabilité SigNoz + agent k8s-infra

Résumé des valeurs capturées

Enregistrez les valeurs finales collectées auprès du client avant le déploiement.
ParamètreValeur
ID de compte AWS
Région AWS
CIDR VPC
Zones de disponibilité
Domaine du frontend
Domaine de l’API
Domaine d’Automator
Domaine Supabase (si auto-hébergé)
Domaine SigNoz (si activé)
ARN du certificat ACM
Mode SupabaseCloud / Auto-hébergé
RedisElastiCache / Externe
RabbitMQAmazon MQ / Externe
Date de déploiement / Fenêtre
Référence d’approbation client