ആരെങ്കിലും കൺസോളിൽ ക്ലിക്ക് ചെയ്തു: ഡ്രീഫ്റ്റ് പരിഹരിക്കുക
യാഥാര് ത്ഥ്യം നിങ്ങളുടെ കോഡുമായി പൊരുത്തപ്പെടാത്ത സന്ദര് ഭം. എങ്ങനെ വള്ളം ചലിക്കുന്നത് കണ്ടെത്താം, അത് സംഭവിക്കുന്നത് തടയാം.
യാഥാര് ത്ഥ്യം നിങ്ങളുടെ കോഡുമായി പൊരുത്തപ്പെടാത്ത സന്ദര് ഭം. എങ്ങനെ വള്ളം ചലിക്കുന്നത് കണ്ടെത്താം, അത് സംഭവിക്കുന്നത് തടയാം.

സമയം വൈകിട്ട് 4 മണി. വെള്ളിയാഴ്ച. ഉല്പാദനം വളരെ പതുക്കെയാണ്. ആരെങ്കിലും ക്ലൌഡ് കൺസോൾ തുറന്ന് ഡാറ്റാബേസ് ഇൻസ്റ്റൻസിൻറെ വലിപ്പം വർദ്ധിപ്പിക്കുന്നു, വാരാന്ത്യം കടക്കാന് വേണ്ടി മാത്രം. അത് പ്രവർത്തിക്കുന്നു. എല്ലാവരും ആശ്വാസം കൊണ്ട് വീട്ടിലേക്കു പോകുന്നു.
മൂന്നു ആഴ്ചയ്ക്കു ശേഷം, ആരോ ഓടി വന്നു. terraform apply ഒരു ബന്ധമില്ലാത്ത മാറ്റത്തിന് വേണ്ടി. ടെറഫോർം ഡാറ്റാബേസ് കോഡ് പറയുന്നതിലും വലുതാണെന്ന് കാണുന്നു, അത് സഹായകരമായി ചുരുക്കുന്നു. ഉല്പാദനം വീണ്ടും കുറയുന്നു, എന്തുകൊണ്ട് എന്ന് ആർക്കും മനസ്സിലാകുന്നില്ല.
അതാണ് ഡ്രിഫ്റ്റ്: നിങ്ങളുടെ ഇൻഫ്രാസ്ട്രക്ചർ കോഡ് പറയുന്നതും യഥാർത്ഥത്തിൽ നിലനിൽക്കുന്നതും തമ്മിലുള്ള വ്യത്യാസം.
ചില വള്ളങ്ങൾ അപകടകാരികളല്ല. ചിലത് അപകടകരമാണ്: ഒരു സുരക്ഷാ ഗ്രൂപ്പ് "താൽക്കാലികമായി" തുറന്നു, ഡീബഗ്ഗിംഗിനായി ഒരു എൻക്രിപ്ഷൻ ക്രമീകരണം ഓഫാക്കി.
ഡ്രീഫ്റ്റ് ഒരു സാങ്കേതിക പ്രശ്നമല്ല. സമ്മർദ്ദത്തിനിടെ ആളുകൾ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നതും നിങ്ങളുടെ പ്രക്രിയ അവർ എങ്ങനെ പ്രവർത്തിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നതും തമ്മിലുള്ള വിടവാണ്.
പ്ലാനുകൾ. ഏറ്റവും ലളിതമായ രീതി: ഓടുക terraform plan ഓരോ സംസ്ഥാനത്തിനും ഒരു ഷെഡ്യൂളില് (രാത്രിക്ക് സാധാരണമാണ്), മാറ്റങ്ങള് കാണിക്കുന്ന പക്ഷം അലേര് ട്ട് ചെയ്യുക. പുറത്തുകടക്കാനുള്ള കോഡ് ഉപയോഗിക്കുക:
terraform plan -detailed-exitcode -lock=false
# exit code 0 = no changes
# exit code 1 = error
# exit code 2 = changes detected (drift, or unapplied code)
നിങ്ങളുടെ സ്റ്റാക്കുകളിലും സ്ലാക്കിലുമുള്ള ഒരു ചെറിയ ഐ. ഐ ജോലി പലപ്പോഴും മതിയാകും.
പുതുക്കിയ പ്ലാനുകൾ മാത്രം. terraform plan -refresh-only നിങ്ങളുടെ കോഡിലെ മാറ്റങ്ങളൊന്നും ഇടപെടാതെ യഥാർത്ഥ ലോകത്ത് എന്തെല്ലാം മാറ്റങ്ങൾ സംഭവിച്ചു എന്ന് മാത്രം കാണിക്കുന്നു.
പ്ലാറ്റ്ഫോമുകൾ. ഹെച് സി പി ടെറാഫോർം, സ്പേസ് ലിഫ്റ്റ്, എൻവിഎം, സ്കാൽര് തുടങ്ങിയവയിൽ ഡാഷ്ബോർഡുകളും ഷെഡ്യൂൾ ചെയ്ത പരിശോധനകളും ഉള്ള ഡ്രീഫ്റ്റ് ഡിറ്റക്ഷന് സംവിധാനമുണ്ട്.
ക്ലൌഡ് നേറ്റീവ് ഉപകരണങ്ങള് . AWS കോൺഫിഗറേഷൻ, അസ്യുര് പോളിസി, സമാന സേവനങ്ങൾ എന്നിവ കോഡ് ഉപയോഗിച്ച് കൈകാര്യം ചെയ്യാത്ത റിസോഴ്സുകൾ ഉൾപ്പെടെയുള്ള റിസോര് സുകളിലേക്കും അനുയോജ്യമല്ലാത്ത കോൺഫിഗ്രേഷനുകളിലേക്കും മാറ്റങ്ങൾ ഫ്ലാഗ് ചെയ്യാം.
നീങ്ങുന്നതൊക്കെ രണ്ടു വഴികളിലൂടെയാണു പോകുന്നത്:
apply പ്രഖ്യാപിച്ച അവസ്ഥ പുനഃസ്ഥാപിക്കാൻ.apply മാറ്റങ്ങളൊന്നും കാണിക്കുന്നില്ല.പ്രധാന കാര്യം മനഃപൂർവ്വം തീരുമാനമെടുക്കുക എന്നതാണ്. ഒരിക്കലും ഓടിപ്പോകരുത്. apply അന്ധമായി ഒരു കുത്തകയിൽ ഇരിക്കുകയാണ്, എന്തൊക്കെ മാറ്റങ്ങൾ സംഭവിക്കുമെന്ന് മനസിലാക്കാതെ. പ്ലാൻ വായിക്കൂ.
പൂർണ്ണമായും കൈകൊണ്ട് സൃഷ്ടിച്ച വിഭവങ്ങളുടെ കാര്യത്തിൽ, അവയെ കൈകാര്യം ചെയ്യാന് ഇറക്കുമതി ബ്ലോക്കുകൾ:
import {
to = aws_s3_bucket.legacy_logs
id = "acme-legacy-logs"
}
പിന്നെ terraform plan -generate-config-out=generated.tf നിങ്ങൾക്ക് വേണ്ടി ഒരു ആദ്യ ഡ്രാഫ്റ്റ് എഴുതാനും കഴിയും.
കണ്ടുപിടിക്കൽ നല്ലതാണ്. പ്രതിരോധം നല്ലതാണ്:
managed_by = terraform) അങ്ങനെ ആളുകൾക്ക് അവയെ തൊടരുതെന്ന് അറിയാം.ignore_changes സൂക്ഷിച്ചു നോക്കൂ. മറ്റ് സിസ്റ്റങ്ങൾ നിയമാനുസൃതമായി കൈകാര്യം ചെയ്യുന്ന ആട്രിബ്യൂട്ടുകൾക്കായി, ഒരു ഓട്ടോ സ്കെയിലിംഗ് ഗ്രൂപ്പിന്റെ ആവശ്യമുള്ള ശേഷി പോലുള്ളവ.lifecycle {
ignore_changes = [desired_capacity]
}
ചില തരംഗങ്ങൾ എപ്പോഴും ഉണ്ടാകും, പ്രത്യേകിച്ച് അപകടങ്ങളുടെ സമയത്ത്. ലക്ഷ്യം പൂജ്യം ഡ്രീഫ് അല്ല. ഒരു ദിവസത്തിനകം അത് അറിയുകയും മനഃപൂർവ്വം അത് പരിഹരിക്കുകയും ചെയ്യുക എന്നതാണ്. രാത്രിയിൽ ഒരു ഡ്രൈവ് ചെക്ക്, പിന്നെ മാനുവൽ അറ്റകുറ്റപ്പണികൾക്കു ശേഷം കോഡ് അപ്ഡേറ്റ് ചെയ്യാനുള്ള ശീലം, മിക്കവാറും നിങ്ങളെ വഴിയിൽ എത്തിക്കും.
എന്റെ അഭിപ്രായം: കൺസോൾ ശത്രുവല്ല. നീ ചെയ്തതെന്തെന്ന് മറന്നു പോകുന്നത്. നേരത്തേ വഴുതിപ്പോകൽ കണ്ടുപിടിക്കുക. സത്യത്തിന്റെ ആസ്ഥാനമായി കോഡ് ഉണ്ടാക്കുക.
ഡെസ്ലി