EKS API VPN च्या मागे ठेवा: क्रियांचा क्रम
खाजगी एंडपॉइंट सक्षम करा, kubectl तिथे पोहोचले हे सिद्ध करा, नंतर सार्वजनिक बंद करा. प्रत्येक टप्प्यातील आदेश आणि तपासण्यांसह टप्प्याटप्प्याने रनबुक.
या बदलाची धोकादायक आवृत्ती म्हणजे एकच आदेश जो एंडपॉइंट उलटतो आणि एकाच वेळी सर्व प्रशासकांना बाहेर ठेवतो. सुरक्षित आवृत्ती दोन्ही मार्ग खुले ठेवते, खाजगी मार्ग VPN वरून काम करतो हे सिद्ध करते, आणि त्यानंतरच सार्वजनिक एंडपॉइंट मागे घेते. विद्यमान क्लस्टर, त्याच्या VPC मध्ये मंजूर टनेल आणि आधीच कार्यरत kubeconfig गृहीत धरा; काम Kubernetes API पर्यंत खाजगी प्रवेश आहे, खाजगी नोड्स नाहीत आणि नवीन परवानगी मॉडेल नाही. खालील प्रत्येक टप्प्यात सुरक्षितपणे अयशस्वी होता येईल अशी तपासणी आहे.
1. एंडपॉइंटची यादी करा आणि परत जाण्याचा मार्ग ठेवा
बदलण्यापूर्वी सध्याची स्थिती नोंदवा, त्यात सार्वजनिक CIDR अनुमत यादी आणि क्लस्टर सुरक्षा गट समाविष्ट आहे. काहीतरी काम करणे थांबल्यावर तुम्ही याच दोनांची तुलना कराल, आणि खाजगी मार्ग चुकीचा निघाल्यास अनुमत यादी हा तुमचा रोलबॅक मार्गही आहे.
aws eks describe-cluster --region REGION --name CLUSTER \
--query 'cluster.{endpoint:endpoint,public:resourcesVpcConfig.endpointPublicAccess,private:resourcesVpcConfig.endpointPrivateAccess,cidrs:resourcesVpcConfig.publicAccessCidrs}'
येथे REGION आणि CLUSTER प्लेसहोल्डर आहेत. खाजगी फ्लॅग आता काय दर्शवतो ते पहा, कारण खाजगी प्रवेश आधीच सक्षम असलेल्या क्लस्टरला कधीही नसलेल्या क्लस्टरपेक्षा वेगळा पहिला टप्पा लागतो. संक्रमणादरम्यान किमान एक मंजूर प्रशासकीय मार्ग खुला ठेवा; त्याच क्लस्टरच्या पोहोचेवर अवलंबून असलेला VPN पुनर्प्राप्ती मार्ग नाही.
2. नेटवर्क मार्ग तयार असताना खाजगी प्रवेश सक्षम करा
फ्लॅग चालू करणे हा सोपा अर्धा भाग आहे. टनेलला एंडपॉइंटच्या खाजगी पत्त्यांपर्यंत मार्ग हवा, आणि क्लस्टर सुरक्षा गटाला VPN प्रत्यक्षात सादर करत असलेल्या स्रोतापासून TCP 443 हवा. Client VPN संलग्नता, साइट-टू-साइट गेटवे आणि पीअर केलेला VPC हे सर्व वेगळे स्रोत पत्ते सादर करू शकतात, म्हणून सामान्य खाजगी श्रेणीऐवजी तुम्ही तैनात केलेले मॉडेल वापरा.
aws eks update-cluster-config --region REGION --name CLUSTER \
--resources-vpc-config endpointPublicAccess=true,endpointPrivateAccess=true
aws eks describe-update --region REGION --name CLUSTER --update-id UPDATE_ID
अद्यतन अतुल्यकालिक आहे. ठराविक सेकंद थांबून गृहीत धरण्याऐवजी अद्यतन id यशाची नोंद देईपर्यंत विचारा. हे करत असताना नोड्स आणि नियंत्रण-स्तराचा रहदारी शांत ठेवा: क्लस्टरचा संपूर्ण सुरक्षा गट तुमच्या लॅपटॉपसाठी नियमाने बदलणे म्हणजे कार्यरत डेटा स्तर दुसरी घटना बनण्याचा मार्ग.
EKS एंडपॉइंटचे दस्तऐवज एकदा पूर्ण वाचण्यासारखे आहेत, कारण त्यात म्हटले आहे की केवळ-खाजगी प्रवेश VPC किंवा जोडलेल्या नेटवर्कमधून येऊ शकतो. तेच वाक्य हे स्थलांतर शक्य होण्याचे संपूर्ण कारण आहे, आणि पुढील टप्पा असण्याचे कारणही तेच आहे.
3. वर्कस्टेशनने खाजगी मार्ग वापरला हे सिद्ध करा
दोन्ही एंडपॉइंट सक्षम असताना यशस्वी kubectl get ns कोणी उत्तर दिले याबद्दल काहीही सिद्ध करत नाही. एंडपॉइंटचे होस्टनाव सोडवा आणि तुम्हाला मिळालेला पत्ता खाजगी श्रेणीचा आहे की सार्वजनिक याची तपासणी करा. तुमचे जोडलेले नेटवर्क DNS द्वारे खाजगी दृश्य घेत नसेल, तर आदेश सार्वजनिक एंडपॉइंटवरून यशस्वी होईल आणि तुम्ही खोट्या पुराव्यावर सार्वजनिक मार्ग मागे घ्याल. हे स्थलांतर चुकण्याचा हा सर्वात सामान्य मार्ग आहे, आणि तो यशासारखाच दिसतो.
nslookup HASH.gr7.REGION.eks.amazonaws.com
kubectl cluster-info
kubectl get ns --request-timeout=10s
होस्टनाव आणि प्रमाणपत्र सत्यापन जसे आहेत तसेच ठेवा. kubeconfig मध्ये खाजगी IP टाकणे आणि TLS सत्यापन वगळणे हे तुम्ही बदल नोंदीत वर्णन केलेले स्थलांतर नाही, आणि एंडपॉइंट फिरताच ते पुन्हा अयशस्वी होईल.
4. सार्वजनिक प्रवेश जाणीवपूर्वक मागे घ्या
खाजगी मार्ग सिद्ध झाल्यावर आणि पुनर्प्राप्ती प्रवाह मंजूर झाल्यावर सार्वजनिक एंडपॉइंट बंद करा. हा पूर्वावलोकन नाही तर खरा बदल आहे, म्हणून तुम्ही खरोखर हेतू असलेल्या खात्यावर आणि सेटिंग्जवर तो चालवा.
aws eks update-cluster-config --region REGION --name CLUSTER \
--resources-vpc-config endpointPublicAccess=false,endpointPrivateAccess=true
केवळ-खाजगी मोडमध्ये सार्वजनिक DNS नाव VPC च्या आतून एंडपॉइंटच्या खाजगी पत्त्यांवर सोडवले जाते, त्यामुळे निराकरण आणि पोहोच ही एकच गोष्ट राहत नाही. सार्वजनिक पत्त्यावर अवलंबून असलेल्या प्रत्येक गोष्टीला, CI रनर किंवा वेगळ्या नेटवर्कवरील लॅपटॉपसह, आता स्वतःचा प्रवेश मार्ग हवा आहे.
5. नेटवर्क धोरण आणि ओळख धोरण वेगळे ठेवा
सार्वजनिक प्रवेश CIDR यादी केवळ सार्वजनिक एंडपॉइंट नियंत्रित करते. ती खाजगी एंडपॉइंट मर्यादित करत नाही, ज्याला त्याऐवजी क्लस्टर सुरक्षा गट आणि जोडलेल्या नेटवर्कचे धोरण मर्यादित करते. तुम्ही सार्वजनिक एंडपॉइंट ठेवल्यास, त्याची अनुमत यादी तुमचे API क्लायंट आणि नोड्स खरोखर वापरत असलेल्या सार्वजनिक इग्रेसशी जुळली पाहिजे; VPN पूलचा पत्ता हा स्रोत क्वचितच असतो.
यातील काहीही IAM किंवा Kubernetes RBAC बदलत नाही. एंडपॉइंट सेटिंग्ज प्रशासकीय कृती आहेत, आणि सामान्य वापरकर्त्यांना केवळ API पर्यंत पोहोचण्यासाठी सीमा सैल करण्याची परवानगी मिळू नये. अंतिम स्थिती, तारीख आणि पुनर्प्राप्ती मार्ग रनबुकमध्ये लिहा, नंतर पुनर्प्राप्ती मार्ग एकदा तपासा जेव्हा तो अजूनही सोपा आहे.