Terraform Drift Detection અને Remediation

Terraform drift તમારા production environment માં છૂપા જોખમો ઊભા કરે છે. જ્યારે તમારું વાસ્તવિક ઇન્ફ્રાસ્ટ્રક્ચર તમારા કોડ સાથે મેળ ખાતું નથી, ત્યારે આવું થાય છે.

આ અસંગતતા outages પેદા કરે છે. તે સુરક્ષામાં ખામીઓ (security gaps) ઊભી કરે છે. તે compliance નિષ્ફળતા તરફ દોરી જાય છે.

Drift શા માટે થાય છે?

  • એન્જિનિયરો cloud console માં ઇમરજન્સી hotfixes કરે છે.
  • ઇન્સિડન્ટ દરમિયાન ટીમો મેન્યુઅલ ફેરફારો કરે છે.
  • લોકો તમારા IaC workflow ની બહાર રિસોર્સિસ બનાવે છે.
  • ઝડપ તમારા ગવર્નન્સ નિયમો કરતાં વધી જાય છે.

ઉદાહરણ: તમારો કોડ એક EC2 instance ને t2.micro તરીકે વ્યાખ્યાયિત કરે છે. એક એન્જિનિયર AWS console માં તેને મેન્યુઅલી બદલીને t2.large કરી દે છે. હવે તમારો કોડ અને વાસ્તવિકતા અલગ છે. આ જ drift છે.

તેને કેવી રીતે શોધવું: terraform plan કમાન્ડ ચલાવો. આ તમારા કોડ અને ક્લાઉડ વચ્ચેનો તફાવત બતાવશે. નોંધ લેશો કે જો મેન્યુઅલ ફેરફારો Terraform દ્વારા ટ્રેક કરવામાં આવતા ચોક્કસ રિસોર્સિસને અસર કરતા ન હોય, તો તે છુપાયેલા રહી શકે છે.

તેને કેવી રીતે રોકવું:

  • Remote backend નો ઉપયોગ કરો. તમારું state AWS S3 માં સ્ટોર કરો. આ તમારા આખા ટીમના ઉપયોગ માટે તમારી state file ને સુરક્ષિત અને versioned રાખે છે.
  • GitOps નો ઉપયોગ કરો. Git ને તમારો 'single source of truth' બનાવો. દરેક ફેરફાર pull request દ્વારા જ થવો જોઈએ.
  • ટેસ્ટિંગ ઓટોમેટ કરો. તમારા ઇન્ફ્રાસ્ટ્રક્ચર ફેરફારો લાઈવ થાય તે પહેલાં તેની તપાસ કરો.
  • સતત મોનિટર કરો. જ્યારે તમારા કોડની બહાર ફેરફારો થાય ત્યારે તમને એલર્ટ કરવા માટે AWS Config અથવા Spacelift જેવા સાધનોનો ઉપયોગ કરો.

તેને કેવી રીતે ઠીક કરવું: જો તમને drift જણાય, તો તમારે ઇન્ફ્રાસ્ટ્રક્ચરને ફરીથી તમારા કોડ મુજબ લાવવું પડશે. મેન્યુઅલ ફેરફારોને ઓવરરાઈટ કરવા અને તમારી ઈચ્છિત સ્થિતિ (intended state) પુનઃસ્થાપિત કરવા માટે તમે terraform apply કમાન્ડનો ઉપયોગ કરો છો.

સુસંગતતા (Consistency) તમારા સિસ્ટમ્સને સ્થિર રાખે છે.

સ્ત્રોત: https://dev.to/vprachi360/terraform-drift-detection-and-remediation-tactics-29bm

વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi