Liste de vérification
Compte AWS et accès
| Domaine | Élément de la liste | Exigence détaillée | Quoi / Pourquoi | Critères d’acceptation | Statut | Valeurs capturées / Notes |
|---|---|---|---|---|---|---|
| Compte | ID de compte AWS | L’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 Terraform | L’ID de compte est correct, la facturation est activée et accessible | ||
| Région | Sélection de la région AWS | La région doit supporter EKS, EC2, VPC, ACM, ElastiCache, Amazon MQ | Certains services sont limités à certaines régions ; les régions non supportées interrompent le déploiement | La région est confirmée dans la console AWS et supporte tous les services requis | ||
| CLI | AWS CLI configuré | Utilisateur IAM avec AWS CLI authentifié | Les déploiements Terraform/Terragrunt nécessitent un accès programmatique | aws sts get-caller-identity retourne le compte attendu | ||
| IAM | Permissions de déploiement | Permissions IAM Administrateur | Le déploiement couvre EC2, EKS, IAM, S3, ACM, Route 53, MQ, ElastiCache, CloudWatch | La politique IAM permet create/update/delete sur les services requis |
Quotas de services
| Domaine | Élément de la liste | Exigence détaillée | Quoi / Pourquoi | Critères d’acceptation | Statut | Valeurs capturées / Notes |
|---|---|---|---|---|---|---|
| EC2 | Quota de vCPU à la demande | Quota 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 vCPU | L’augmentation de quota est approuvée dans la console Service Quotas | ||
| EC2 | Disponibilité des familles d’instances | Instances des familles C, M, R disponibles dans la région | Les workloads nécessitent des nœuds optimisés pour le calcul, la mémoire et les bases de données | Les familles d’instances sont visibles et sélectionnables dans la console EC2 | ||
| EKS | Quota de cluster EKS | Au moins 1 cluster EKS autorisé selon le déploiement d’environnement requis | La création de cluster est bloquée si le quota est insuffisant | Quota >= 1 cluster | ||
| VPC | Quota de NAT Gateway | 1 NAT Gateway par AZ (recommandé 3) | Les subnets privés nécessitent un accès Internet sortant | Quota >= nombre d’AZ | ||
| Réseautage | Quota d’adresse IP élastique | Adresses IP élastiques disponibles pour les NAT Gateways | Chaque NAT Gateway consomme une adresse IP élastique | Le quota d’adresse IP élastique est suffisant pour le nombre d’AZ | ||
| ElastiCache | Quota ElastiCache | Au moins 2 nœuds pour le cluster Redis (cache.t3.micro, Redis 7.0) | Requis lorsque ENABLE_AWS_SERVICES=true | Quota >= 2 nœuds | ||
| Amazon MQ | Quota Amazon MQ | Au moins 1 broker pour RabbitMQ (mq.m5.large, RabbitMQ 3.13) | Requis lorsque ENABLE_AWS_SERVICES=true | Quota >= 1 broker |
Domaines et SSL
| Domaine | Élément de la liste | Exigence détaillée | Quoi / Pourquoi | Critères d’acceptation | Statut | Valeurs capturées / Notes |
|---|---|---|---|---|---|---|
| Domaines | Domaine du frontend | Domaine public pour le frontend web (par ex. app.example.com) | Utilisé pour le routage ALB et la terminaison SSL | Le domaine se résout et la propriété est confirmée | ||
| Domaines | Domaine de l’API backend | Domaine public pour le backend FastAPI (par ex. api.example.com) | Requis pour l’accès API et TLS | Le domaine est documenté et approuvé | ||
| Domaines | Domaine du service Automator | Domaine public pour le service Automator (par ex. automations.example.com) | Requis pour l’accès API et TLS | Le domaine est documenté et approuvé | ||
| Domaines | Domaine du service Supabase | Lorsque 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 Supabase | Le domaine est documenté et approuvé | ||
| Certificats | Certificats ACM | Certificats ACM wildcard ou individuels créés dans la région de déploiement | La terminaison TLS à l’ALB nécessite des certificats ACM valides | Les 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 liste | Exigence détaillée | Quoi / Pourquoi | Critères d’acceptation | Statut | Valeurs capturées / Notes |
|---|---|---|---|---|---|---|
| VPC | Stratégie VPC | Confirmer un VPC existant ou approuver la création d’un nouveau VPC | Définit les limites d’isolation, de routage et de sécurité | L’ID VPC ou le bloc CIDR est approuvé | ||
| CIDR | Planification CIDR | Le CIDR ne doit pas chevaucher les réseaux sur site ou d’autres VPC | Les CIDR qui se chevauchent interrompent le routage et la connectivité VPN | Le CIDR est validé par rapport aux réseaux existants | ||
| Subnets | Subnets publics | Subnets publics par AZ pour ALB et NAT Gateways | Requis pour le trafic d’entrée et de sortie | Les subnets sont balisés et routables | ||
| Subnets | Subnets privés | Subnets privés par AZ pour les nœuds worker EKS | Garantit que les workloads ne sont pas directement exposés à Internet | Les subnets sont mappés et accessibles via NAT Gateway | ||
| Sortie | Accès sortant | Ports sortants 80, 443, 53 autorisés depuis les nœuds worker | Nécessaire pour les pull d’images de conteneur, les appels API AWS et la résolution DNS | Les règles de firewall/groupe de sécurité sont validées |
Configuration des services
| Domaine | Élément de la liste | Exigence détaillée | Quoi / Pourquoi | Critères d’acceptation | Statut | Valeurs capturées / Notes |
|---|---|---|---|---|---|---|
| Supabase | Activation de Supabase | Confirmer Supabase auto-hébergé (ENABLE_SUPABASE=true) ou Supabase Cloud | Affecte l’approvisionnement de base de données, les secrets, l’ingress et la configuration réseau | La décision est documentée ; les flags ENABLE_* correspondants sont définis dans le déploiement | ||
| Services AWS | Utilisation de Redis | Confirmer AWS ElastiCache Redis (ENABLE_AWS_SERVICES=true) ou Redis externe | Affecte la haute disponibilité, le coût et la conception réseau | La décision est documentée | ||
| Services AWS | Utilisation de RabbitMQ | Confirmer Amazon MQ (ENABLE_AWS_SERVICES=true) ou RabbitMQ externe | Impacte la fiabilité du messaging et la HA | La décision est documentée | ||
| Load Balancer | Contrôleur ALB | AWS Load Balancer Controller activé (ENABLE_ALB_CONTROLLER=true, par défaut) | Requis pour l’approvisionnement d’ingress ALB à partir des annotations Kubernetes | Les pods du contrôleur sont actifs dans l’espace de noms infrastructure |
Autoscaling
| Domaine | Élément de la liste | Exigence détaillée | Quoi / Pourquoi | Critères d’acceptation | Statut | Valeurs capturées / Notes |
|---|---|---|---|---|---|---|
| Karpenter | Karpenter installé | Contrôleur Karpenter déployé via le module EKS | Gère l’approvisionnement dynamique des nœuds ; remplace l’autoscaling du groupe de nœuds gérés | Les pods Karpenter sont sains dans le groupe de nœuds dédié | ||
| Karpenter | Stratégie Spot | Utilisation Spot vs À la demande définie par classe de nœud | Optimise le coût tout en maintenant la stabilité ; la gestion des interruptions Spot doit être activée | La gestion des interruptions via SQS est activée si les instances Spot sont utilisées | ||
| KEDA | Autoscaling de pods | KEDA installé via le chart Helm (keda namespace) | Gère l’autoscaling dynamique des pods selon les seuils CPU/Mémoire | Les pods de l’opérateur KEDA sont sains ; ScaledObjects appliqués à tous les services |
Stockage
| Domaine | Élément de la liste | Exigence détaillée | Quoi / Pourquoi | Critères d’acceptation | Statut | Valeurs capturées / Notes |
|---|---|---|---|---|---|---|
| EBS | Pilote EBS CSI | Pilote EBS CSI installé (kube-system namespace) | Requis pour l’approvisionnement dynamique de volumes persistants via StorageClass | Les pods du pilote sont sains ; les PVC se provisionnent avec succès |
Sécurité
| Domaine | Élément de la liste | Exigence détaillée | Quoi / Pourquoi | Critères d’acceptation | Statut | Valeurs capturées / Notes |
|---|---|---|---|---|---|---|
| Chiffrement | Chiffrement au repos | Chiffrement des volumes EBS, du bucket S3 et de Redis activé | Protège les données sensibles au repos sur toutes les couches de stockage | Le chiffrement est confirmé via la console AWS pour chaque service | ||
| Chiffrement | Chiffrement en transit | TLS appliqué pour toute la communication des services externe et interne | Empêche l’interception de données en transit | Les endpoints HTTPS sont vérifiés ; transit_encryption_enabled = true pour Redis | ||
| Audit | Journalisation d’audit | CloudTrail, VPC Flow Logs et les journaux d’audit Kubernetes activés | Requis pour les investigations d’incident, la conformité et les audits | Les journaux sont visibles et interrogeables dans CloudWatch / S3 |
Déploiement
| Domaine | Élément de la liste | Exigence détaillée | Quoi / Pourquoi | Critères d’acceptation | Statut | Valeurs capturées / Notes |
|---|---|---|---|---|---|---|
| Planification | Fenêtre de déploiement | La date et la fenêtre de temps de déploiement sont approuvées par le client | Garantit la disponibilité de l’équipe client pour la validation et le rollback si nécessaire | La confirmation écrite est reçue |
Approbation
| Domaine | Élément de la liste | Exigence détaillée | Quoi / Pourquoi | Critères d’acceptation | Statut | Valeurs capturées / Notes |
|---|---|---|---|---|---|---|
| Approbation | Approbation client | Le client approuve formellement l’estimation des coûts, la portée et le plan de déploiement | L’autorisation formelle de mise en production est requise avant l’approvisionnement de l’infrastructure | L’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’environnement | Par défaut | Effet |
|---|---|---|
ENABLE_SUPABASE | false | Déployer la pile Supabase auto-hébergée (Kong, Auth, Storage, Studio) |
ENABLE_CNPG | false | Déployer l’opérateur CloudNativePG (prérequis pour la DB Supabase auto-hébergée) |
ENABLE_HA_SUPABASE_DB | false | Déployer un cluster PostgreSQL HA via CloudNativePG (prérequis pour Supabase) |
ENABLE_AWS_SERVICES | false | Provisionner ElastiCache Redis et Amazon MQ RabbitMQ |
ENABLE_ALB_CONTROLLER | true | Déployer AWS Load Balancer Controller |
ENABLE_SIGNOZ | false | Dé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ètre | Valeur |
|---|---|
| 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 Supabase | Cloud / Auto-hébergé |
| Redis | ElastiCache / Externe |
| RabbitMQ | Amazon MQ / Externe |
| Date de déploiement / Fenêtre | |
| Référence d’approbation client |