चेकलिस्ट
AWS खाता और पहुँच
| क्षेत्र | चेकलिस्ट आइटम | विस्तृत आवश्यकता | क्या / क्यों | स्वीकृति मानदंड | स्थिति | कैप्चर किए गए मान / नोट्स |
|---|---|---|---|---|---|---|
| खाता | AWS Account ID | मान्य AWS Account ID साझा किया जाना चाहिए | IAM भूमिका निर्माण, बिलिंग स्वामित्व, टैगिंग और Terraform backend पहुँच के लिए आवश्यक | Account ID सही है, बिलिंग सक्षम है, और पहुँच योग्य है | ||
| क्षेत्र | AWS Region चयन | क्षेत्र को EKS, EC2, VPC, ACM, ElastiCache, Amazon MQ का समर्थन करना चाहिए | कुछ सेवाएँ क्षेत्र-प्रतिबंधित हैं; असमर्थित क्षेत्र तैनाती तोड़ देते हैं | AWS console में क्षेत्र की पुष्टि की गई और सभी आवश्यक सेवाओं का समर्थन करता है | ||
| CLI | AWS CLI कॉन्फ़िगर किया गया | AWS CLI के साथ प्रमाणित IAM User | Terraform/Terragrunt तैनाती के लिए प्रोग्रामेटिक पहुँच आवश्यक | aws sts get-caller-identity अपेक्षित खाता लौटाता है | ||
| IAM | तैनाती अनुमतियाँ | Administrator IAM अनुमतियाँ | तैनाती EC2, EKS, IAM, S3, ACM, Route 53, MQ, ElastiCache, CloudWatch में फैली होती है | IAM नीति आवश्यक सेवाओं पर create/update/delete की अनुमति देती है |
सेवा कोटा
| क्षेत्र | चेकलिस्ट आइटम | विस्तृत आवश्यकता | क्या / क्यों | स्वीकृति मानदंड | स्थिति | कैप्चर किए गए मान / नोट्स |
|---|---|---|---|---|---|---|
| EC2 | On-Demand vCPU कोटा | On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances के लिए न्यूनतम 100–150 vCPU कोटा | Autoscaling, r6a instances और Karpenter को उच्च vCPU अतिरिक्त आवश्यकता | Service Quotas console में कोटा वृद्धि स्वीकृत | ||
| EC2 | Instance Families उपलब्धता | क्षेत्र में C, M, R family instances उपलब्ध | वर्कलोड को कम्प्यूट, मेमोरी और डेटाबेस-अनुकूलित नोड्स की आवश्यकता | EC2 console में instance families दिखाई दे रही हैं और चयन योग्य हैं | ||
| EKS | EKS Cluster कोटा | आवश्यक वातावरण तैनाती के आधार पर कम से कम 1 EKS cluster की अनुमति | यदि कोटा अपर्याप्त है तो cluster निर्माण अवरुद्ध | कोटा >= 1 cluster | ||
| VPC | NAT Gateway कोटा | प्रति AZ 1 NAT Gateway (अनुशंसित 3) | प्राइवेट सबनेट्स को आउटबाउंड इंटरनेट पहुँच की आवश्यकता | कोटा >= AZ संख्या | ||
| नेटवर्किंग | Elastic IP कोटा | NAT Gateways के लिए Elastic IPs उपलब्ध | प्रत्येक NAT Gateway एक Elastic IP उपभोग करता है | Elastic IP कोटा AZs की संख्या के लिए पर्याप्त | ||
| ElastiCache | ElastiCache कोटा | Redis cluster के लिए कम से कम 2 नोड्स (cache.t3.micro, Redis 7.0) | ENABLE_AWS_SERVICES=true होने पर आवश्यक | कोटा >= 2 नोड्स | ||
| Amazon MQ | Amazon MQ कोटा | RabbitMQ के लिए कम से कम 1 broker (mq.m5.large, RabbitMQ 3.13) | ENABLE_AWS_SERVICES=true होने पर आवश्यक | कोटा >= 1 broker |
डोमेन और SSL
| क्षेत्र | चेकलिस्ट आइटम | विस्तृत आवश्यकता | क्या / क्यों | स्वीकृति मानदंड | स्थिति | कैप्चर किए गए मान / नोट्स |
|---|---|---|---|---|---|---|
| डोमेन | फ़्रंटएंड डोमेन | वेब फ़्रंटएंड के लिए सार्वजनिक डोमेन (जैसे app.example.com) | ALB रूटिंग और SSL termination के लिए उपयोग | डोमेन रिज़ॉल्व होता है और स्वामित्व की पुष्टि | ||
| डोमेन | बैकएंड API डोमेन | FastAPI बैकएंड के लिए सार्वजनिक डोमेन (जैसे api.example.com) | API पहुँच और TLS के लिए आवश्यक | डोमेन प्रलेखित और स्वीकृत | ||
| डोमेन | Automator सेवा डोमेन | Automator सेवा के लिए सार्वजनिक डोमेन (जैसे automations.example.com) | API पहुँच और TLS के लिए आवश्यक | डोमेन प्रलेखित और स्वीकृत | ||
| डोमेन | Supabase सेवा डोमेन | Supabase Cloud का उपयोग न करते समय — Supabase के लिए सार्वजनिक डोमेन (जैसे supabase.example.com) | Supabase को सेल्फ़-होस्ट करते समय API पहुँच और TLS के लिए आवश्यक | डोमेन प्रलेखित और स्वीकृत | ||
| प्रमाणपत्र | ACM प्रमाणपत्र | तैनाती क्षेत्र में बनाए गए वाइल्डकार्ड या व्यक्तिगत ACM प्रमाणपत्र | ALB पर TLS termination के लिए मान्य ACM प्रमाणपत्र आवश्यक | प्रमाणपत्र ISSUED स्थिति में और तैनाती के समान AWS क्षेत्र में |
नेटवर्किंग
| क्षेत्र | चेकलिस्ट आइटम | विस्तृत आवश्यकता | क्या / क्यों | स्वीकृति मानदंड | स्थिति | कैप्चर किए गए मान / नोट्स |
|---|---|---|---|---|---|---|
| VPC | VPC रणनीति | मौजूदा VPC की पुष्टि या नए VPC निर्माण को मंजूरी | अलगाव, रूटिंग और सुरक्षा सीमाएँ परिभाषित करता है | VPC ID या CIDR ब्लॉक स्वीकृत | ||
| CIDR | CIDR योजना | CIDR ऑन-प्रेमाइज़ या अन्य VPCs के साथ ओवरलैप नहीं करना चाहिए | ओवरलैपिंग CIDRs रूटिंग और VPN कनेक्टिविटी तोड़ देते हैं | CIDR मौजूदा नेटवर्क के विरुद्ध मान्य | ||
| सबनेट्स | पब्लिक सबनेट्स | ALB और NAT Gateways के लिए प्रति AZ पब्लिक सबनेट्स | इनबाउंड और आउटबाउंड ट्रैफ़िक के लिए आवश्यक | सबनेट्स टैग किए गए और रूट करने योग्य | ||
| सबनेट्स | प्राइवेट सबनेट्स | EKS worker nodes के लिए प्रति AZ प्राइवेट सबनेट्स | सुनिश्चित करता है कि वर्कलोड सीधे इंटरनेट-एक्सपोज़्ड नहीं हैं | सबनेट्स मैप किए गए और NAT Gateway के माध्यम से पहुँच योग्य | ||
| ईग्रेस | आउटबाउंड पहुँच | Worker nodes से पोर्ट्स 80, 443, 53 की अनुमति | कंटेनर इमेज पुल, AWS API कॉल और DNS रिज़ॉल्यूशन के लिए आवश्यक | फ़ायरवॉल/सुरक्षा समूह नियम मान्य |
सेवा कॉन्फ़िगरेशन
| क्षेत्र | चेकलिस्ट आइटम | विस्तृत आवश्यकता | क्या / क्यों | स्वीकृति मानदंड | स्थिति | कैप्चर किए गए मान / नोट्स |
|---|---|---|---|---|---|---|
| Supabase | Supabase सक्षम करना | सेल्फ़-होस्टेड Supabase (ENABLE_SUPABASE=true) या Supabase Cloud की पुष्टि | DB प्रोविज़निंग, secrets, ingress और नेटवर्किंग कॉन्फ़िगरेशन को प्रभावित करता है | निर्णय प्रलेखित; तैनाती में संबंधित ENABLE_* फ़्लैग्स सेट | ||
| AWS सेवाएँ | Redis उपयोग | AWS ElastiCache Redis (ENABLE_AWS_SERVICES=true) या बाहरी Redis की पुष्टि | उच्च उपलब्धता, लागत और नेटवर्किंग डिज़ाइन को प्रभावित करता है | निर्णय प्रलेखित | ||
| AWS सेवाएँ | RabbitMQ उपयोग | Amazon MQ (ENABLE_AWS_SERVICES=true) या बाहरी RabbitMQ की पुष्टि | मैसेजिंग विश्वसनीयता और HA को प्रभावित करता है | निर्णय प्रलेखित | ||
| लोड बैलेंसर | ALB Controller | AWS Load Balancer Controller सक्षम (ENABLE_ALB_CONTROLLER=true, डिफ़ॉल्ट) | Kubernetes annotations से ALB ingress प्रोविज़निंग के लिए आवश्यक | Controller pods infrastructure namespace में चल रहे हैं |
Autoscaling
| क्षेत्र | चेकलिस्ट आइटम | विस्तृत आवश्यकता | क्या / क्यों | स्वीकृति मानदंड | स्थिति | कैप्चर किए गए मान / नोट्स |
|---|---|---|---|---|---|---|
| Karpenter | Karpenter स्थापित | EKS मॉड्यूल के माध्यम से Karpenter controller तैनात | गतिशील node प्रोविज़निंग संभालता है; managed node group autoscaling को प्रतिस्थापित करता है | Karpenter pods समर्पित node group में स्वस्थ | ||
| Karpenter | Spot रणनीति | प्रति node class Spot vs On-Demand उपयोग परिभाषित | लागत अनुकूलन करते हुए स्थिरता बनाए रखता है; Spot interruption handling सक्षम होना चाहिए | यदि Spot instances का उपयोग किया जाता है तो SQS के माध्यम से interruption handling सक्षम | ||
| KEDA | Pod Autoscaling | Helm chart के माध्यम से KEDA स्थापित (keda namespace) | CPU/Memory सीमाओं के आधार पर गतिशील pod स्केलिंग संभालता है | KEDA operator pods स्वस्थ; सभी सेवाओं पर ScaledObjects लागू |
स्टोरेज
| क्षेत्र | चेकलिस्ट आइटम | विस्तृत आवश्यकता | क्या / क्यों | स्वीकृति मानदंड | स्थिति | कैप्चर किए गए मान / नोट्स |
|---|---|---|---|---|---|---|
| EBS | EBS CSI Driver | EBS CSI driver स्थापित (kube-system namespace) | StorageClass के माध्यम से गतिशील स्थायी volume प्रोविज़निंग के लिए आवश्यक | Driver pods स्वस्थ; PVCs सफलतापूर्वक प्रोविज़न हो रहे हैं |
सुरक्षा
| क्षेत्र | चेकलिस्ट आइटम | विस्तृत आवश्यकता | क्या / क्यों | स्वीकृति मानदंड | स्थिति | कैप्चर किए गए मान / नोट्स |
|---|---|---|---|---|---|---|
| एन्क्रिप्शन | रेस्ट पर एन्क्रिप्शन | EBS volumes, S3 स्टेट bucket, और Redis एन्क्रिप्शन सक्षम | सभी स्टोरेज लेयर्स में संवेदनशील डेटा की रक्षा | प्रत्येक सेवा के लिए AWS console के माध्यम से एन्क्रिप्शन की पुष्टि | ||
| एन्क्रिप्शन | ट्रांज़िट में एन्क्रिप्शन | सभी बाहरी और आंतरिक सेवा संचार के लिए TLS लागू | ट्रांज़िट में डेटा अंतराल को रोकता है | HTTPS endpoints सत्यापित; Redis transit_encryption_enabled = true | ||
| ऑडिट | ऑडिट लॉगिंग | CloudTrail, VPC Flow Logs और Kubernetes ऑडिट लॉग्स सक्षम | घटना जाँच, अनुपालन और ऑडिट के लिए आवश्यक | CloudWatch / S3 में लॉग्स दिखाई दे रहे हैं और क्वेरी करने योग्य |
तैनाती
| क्षेत्र | चेकलिस्ट आइटम | विस्तृत आवश्यकता | क्या / क्यों | स्वीकृति मानदंड | स्थिति | कैप्चर किए गए मान / नोट्स |
|---|---|---|---|---|---|---|
| शेड्यूल | तैनाती विंडो | ग्राहक द्वारा अनुमोदित तैनाती तिथि और समय विंडो | आवश्यकता पड़ने पर सत्यापन और वापसी के लिए ग्राहक टीम की उपलब्धता सुनिश्चित | लिखित पुष्टि प्राप्त |
साइन-ऑफ़
| क्षेत्र | चेकलिस्ट आइटम | विस्तृत आवश्यकता | क्या / क्यों | स्वीकृति मानदंड | स्थिति | कैप्चर किए गए मान / नोट्स |
|---|---|---|---|---|---|---|
| अनुमोदन | ग्राहक अनुमोदन | ग्राहक औपचारिक रूप से लागत अनुमान, स्कोप और तैनाती योजना को मंजूरी देता है | अवसंरचना प्रोविज़न करने से पहले औपचारिक लाइव-गो प्राधिकरण आवश्यक | ईमेल या हस्ताक्षरित दस्तावेज़ अनुमोदन प्राप्त |
सेवा सक्षम/अक्षम फ़्लैग्स संदर्भ
तैनाती से पहले ग्राहक के साथ प्रत्येक फ़्लैग का इच्छित मान पुष्टि करें।| वातावरण चर | डिफ़ॉल्ट | प्रभाव |
|---|---|---|
ENABLE_SUPABASE | false | सेल्फ़-होस्टेड Supabase स्टैक (Kong, Auth, Storage, Studio) तैनात करें |
ENABLE_CNPG | false | CloudNativePG operator तैनात करें (सेल्फ़-होस्टेड Supabase DB के लिए पूर्व आवश्यकता) |
ENABLE_HA_SUPABASE_DB | false | CloudNativePG के माध्यम से HA PostgreSQL क्लस्टर तैनात करें (Supabase के लिए पूर्व आवश्यकता) |
ENABLE_AWS_SERVICES | false | ElastiCache Redis और Amazon MQ RabbitMQ प्रोविज़न करें |
ENABLE_ALB_CONTROLLER | true | AWS Load Balancer Controller तैनात करें |
ENABLE_SIGNOZ | false | SigNoz अवलोकन प्लेटफ़ॉर्म + k8s-infra agent तैनात करें |
कैप्चर किए गए मान सारांश
तैनाती से पहले ग्राहक से एकत्र किए गए अंतिम मान रिकॉर्ड करें।| पैरामीटर | मान |
|---|---|
| AWS Account ID | |
| AWS Region | |
| VPC CIDR | |
| उपलब्धता क्षेत्र | |
| फ़्रंटएंड डोमेन | |
| API डोमेन | |
| Automator डोमेन | |
| Supabase डोमेन (यदि सेल्फ़-होस्टेड) | |
| SigNoz डोमेन (यदि सक्षम) | |
| ACM प्रमाणपत्र ARN(s) | |
| Supabase मोड | Cloud / सेल्फ़-होस्टेड |
| Redis | ElastiCache / बाहरी |
| RabbitMQ | Amazon MQ / बाहरी |
| तैनाती तिथि / विंडो | |
| ग्राहक अनुमोदन संदर्भ |