Terraform-ൽ GCP Classic VPN: ടണൽ റൂട്ട് അധിഷ്ഠിതമാക്കുക
Classic VPN-ൽ ലേബൽ സ്വഭാവം തീരുമാനിക്കുന്നില്ല. റൂട്ട് അധിഷ്ഠിതം എന്നാൽ 0.0.0.0/0 ലോക്കൽ സെലക്ടർ, യോജിക്കുന്ന റിമോട്ട് സെലക്ടർമാർ, വ്യക്തമായ ഒരു റൂട്ട്.
പ്ലാൻ വൃത്തിയായി പ്രയോഗിക്കുന്നു, ടണൽ ഉയരുന്നു, കൺസോൾ അതിനെ പോളിസി അധിഷ്ഠിതം എന്ന് വിളിക്കുന്നു. ട്രാഫിക് ഇപ്പോഴും കടക്കുന്നില്ല, Terraform റിസോഴ്സിൽ റൂട്ട് അധിഷ്ഠിത ടോഗിൾ തിരയുന്നത് എങ്ങുമെത്തുന്നില്ല, കാരണം അത്തരം ഫീൽഡ് ഇല്ല. Classic VPN-ൽ റൂട്ട് അധിഷ്ഠിത സ്വഭാവം നിങ്ങൾ തിരഞ്ഞെടുക്കുന്ന ഒരു മോഡ് അല്ല. ലോക്കൽ ട്രാഫിക് സെലക്ടർ 0.0.0.0/0 ആകുമ്പോൾ, റിമോട്ട് സെലക്ടർമാർ യഥാർത്ഥത്തിൽ വേണ്ട നെറ്റ്വർക്കുകൾ ലിസ്റ്റ് ചെയ്യുമ്പോൾ, ഒരു റൂട്ട് ടണലിലേക്ക് ചൂണ്ടിക്കാണിക്കുമ്പോൾ ഇതാണ് ലഭിക്കുന്നത്. മൂന്ന് കാര്യങ്ങൾ, ലേബലും അതിനെ പിന്തുടരുന്നു.
മിഥ്യ: ടണൽ മോഡ് ഫീൽഡ്
കൺസോൾ ലേബൽ API സെലക്ടർമാരിൽ കാണുന്നത് പ്രതിഫലിപ്പിക്കുന്നു. റിസോഴ്സിൽ ഒന്നും റൂട്ട് അധിഷ്ഠിതം എന്ന് പറയുന്നില്ല, അതിനാൽ ശരി മൂല്യത്തിൽ സജ്ജീകരിക്കാൻ ഒന്നുമില്ല.
ആ ഫീൽഡ് തിരയാൻ പ്രശ്നത്തിന്റെ ആദ്യ മണിക്കൂർ ചെലവാകുന്നു, സെലക്ടർ മൂല്യങ്ങൾ വായിക്കാൻ അവസാന അഞ്ച് മിനിറ്റ് എടുക്കുന്നു.
ഇവിടെ റൂട്ട് അധിഷ്ഠിതം എന്നതിന്റെ അർത്ഥം
Google Classic VPN-ന്റെ റൂട്ട് അധിഷ്ഠിത ടണലുകളെ പോളിസി അധിഷ്ഠിത ടണലുകളായി രേഖപ്പെടുത്തുന്നു, അവയുടെ ലോക്കൽ സെലക്ടർ 0.0.0.0/0 ആണ്. റിമോട്ട് ശ്രേണികൾ മാത്രം പേരിടുന്നു, ലോക്കൽ ഭാഗം ഏതെങ്കിലും വിലാസമായി കണക്കാക്കുന്നു. അതുകൊണ്ട് നിങ്ങളുടെ കോൺഫിഗറേഷനിലെ അടയാളം മോഡ് അല്ല, മൂല്യമാണ്. രണ്ട് സെലക്ടർമാരും വ്യക്തമായി എഴുതി പ്ലാന്റെ ഔട്ട്പുട്ടിൽ വായിക്കുക:
local_traffic_selector = ["0.0.0.0/0"]
remote_traffic_selector = ["10.20.0.0/16"]
ആ സ്നിപ്പെറ്റിലെ പിയർ പ്രിഫിക്സ് ഉദാഹരണത്തിന് മാത്രമാണ്; രൂപമാണ് പ്രധാനം.
റൂട്ട് ഒരു പ്രത്യേക ഒബ്ജക്റ്റ് ആണ്
ടണൽ ഒബ്ജക്റ്റ് ഒരു റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുന്നില്ല. പാക്കറ്റുകൾ ടണൽ പോളിസിയുമായി യോജിക്കാം, എന്നിട്ടും പോകാൻ സ്ഥലമില്ലാതിരിക്കാം, കാരണം അടുത്ത ഹോപ്പ് VPC റൂട്ടിംഗ് ടേബിൾ തീരുമാനിക്കുന്നു. റൂട്ടിന് ലക്ഷ്യ ശ്രേണി, നെറ്റ്വർക്ക്, അടുത്ത ഹോപ്പായി ടണൽ, വിശാലമായ എന്തിനെയും തോൽപ്പിക്കുന്ന മുൻഗണന എന്നിവ വേണം. ഇത് മറന്നാൽ, കണക്ഷൻ സ്ഥാപിച്ചു എന്ന് റിപ്പോർട്ട് ചെയ്യുന്ന ടണലും VPC വിടാത്ത ഒരു പരിശോധനയും ലഭിക്കും.
resource "google_compute_route" "office" {
name = "office-via-vpn"
dest_range = "10.20.0.0/16"
network = google_compute_network.vpc.name
next_hop_vpn_tunnel = google_compute_vpn_tunnel.to_office.id
priority = 1000
}
ടണൽ ഉള്ള അതേ മൊഡ്യൂളിൽ റൂട്ട് സൃഷ്ടിക്കുക, അവ രണ്ടും അവലോകനത്തിൽ അകന്നുപോകാതിരിക്കാൻ.
പിയറിൽ സെലക്ടർമാരെ പ്രതിഫലിപ്പിക്കുക
റിമോട്ട് ഉപകരണം കണ്ണാടി ചിത്രത്തോടെ കോൺഫിഗർ ചെയ്യണം: അതിന്റെ ലോക്കൽ ശ്രേണി നിങ്ങളുടെ റിമോട്ട് സെലക്ടർ ആണ്, അതിന്റെ റിമോട്ട് ശ്രേണി നിങ്ങൾ ഉപയോഗിക്കാൻ ഉദ്ദേശിക്കുന്ന GCP സബ്നെറ്റുകൾ ഉൾക്കൊള്ളണം. ഏതെങ്കിലും വശം ചുരുങ്ങിയാൽ, ഘട്ടം 1 വിജയിച്ചാലും ഘട്ടം 2 പരാജയപ്പെടും. കൺസോളിൽ ശരിയായി തോന്നുകയും ട്രാഫിക് വഹിക്കാതിരിക്കുകയും ചെയ്യുന്ന കോൺഫിഗറേഷന്റെ ഏറ്റവും സാധാരണ രൂപമാണിത്.
മാറ്റ അവലോകനത്തിൽ ഇരു വശങ്ങളുടെയും സെലക്ടർമാർ അടുത്തടുത്തായി അച്ചടിക്കുക.
സ്റ്റാറ്റിക് വിലാസം രണ്ട് അപ്ലൈകളായി വിഭജിക്കുക
റിസർവ് ചെയ്ത വിലാസവും അതിനെ റഫറൻസ് ചെയ്യുന്ന ടണലും ഒരു അപ്ലൈയിൽ സൃഷ്ടിക്കുന്നത് അറിയപ്പെടുന്ന അസ്ഥിരതയുടെ ഉറവിടമാണ്, കാരണം ഫോർവേഡിംഗ് നിയമം അത് ഉപയോഗിക്കുന്നതിന് മുമ്പ് വിലാസം നിലനിൽക്കണം. ആദ്യം വിലാസ റിസോഴ്സ് മാത്രം പ്രയോഗിക്കുക, പിന്നീട് ഗേറ്റ്വേ, ഫോർവേഡിംഗ് നിയമങ്ങൾ, ടണൽ എന്നിവ ചേർത്ത് വീണ്ടും പ്രയോഗിക്കുക. രണ്ടാം റണ്ണിൽ Terraform സ്റ്റേറ്റിൽ നിന്ന് നിലവിലുള്ള വിലാസം വായിച്ച് വീണ്ടും ഉപയോഗിക്കുന്നു. ഇത് ഒഴിവാക്കിയാൽ, ഓരോ അപ്ലൈയിലും ടണലിന് പുതിയ പൊതു വിലാസം ലഭിച്ചേക്കാം, ഇത് ഓരോ തവണയും പിയർ കോൺഫിഗറേഷൻ തകർക്കുന്നു.
ഇപ്പോൾ രണ്ട് അപ്ലൈകൾ ഓരോ റിലീസിലും പിയർ മാറ്റത്തെക്കാൾ വിലകുറഞ്ഞതാണ്.
ലേബൽ അല്ല, ചർച്ചകൾ പരിശോധിക്കുക
പ്രയോഗിച്ചതിന് ശേഷം മൂന്ന് പ്രത്യേക വസ്തുതകൾ പരിശോധിക്കുക: ടണൽ കണക്ഷൻ സ്ഥാപിച്ചു എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു, റൂട്ട് ഉദ്ദേശിച്ച അടുത്ത ഹോപ്പോടെ നിലനിൽക്കുന്നു, പിയർ ഘട്ടം 1 ഉം ഘട്ടം 2 ഉം ഉയർന്നിരിക്കുന്നു എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു.
ടണൽ ഉയർന്നിരിക്കെ ഘട്ടം 2 താഴെയാണെങ്കിൽ ഇരു വശങ്ങളും സെലക്ടർമാരിൽ യോജിക്കുന്നില്ല എന്നാണ് അർത്ഥം:
- ഒരു വശം മറുവശം ലിസ്റ്റ് ചെയ്യാത്ത സബ്നെറ്റ് ലിസ്റ്റ് ചെയ്യുന്നു.
- ഒരു വശം മറുവശം ചുരുക്കിയ ഒരു അഗ്രിഗേറ്റ് ഉപയോഗിക്കുന്നു.
- റൂട്ട് നിലനിൽക്കുന്നു, പക്ഷേ മറ്റൊരു ടണലിലേക്ക് ചൂണ്ടിക്കാണിക്കുന്നു.
Classic VPN HA VPN-നേക്കാൾ കുറഞ്ഞ SLA ഉള്ള ഒരു ടണൽ ആണ്, HA VPN രണ്ട് ഇന്റർഫേസുകൾ, രണ്ട് ടണലുകൾ, വ്യത്യസ്ത റിസോഴ്സ് തരങ്ങളുള്ള BGP എന്നിവ ഉപയോഗിക്കുന്നു. ഒരു ക്ലാസിക് ഉദാഹരണം HA കോൺഫിഗറേഷനിലേക്ക് പകർത്തി സെലക്ടർ ഫീൽഡുകൾ അതേപോലെ പ്രവർത്തിക്കും എന്ന് പ്രതീക്ഷിക്കുന്നത് ഒഴിവാക്കേണ്ട ഒരു പ്രത്യേക തെറ്റാണ്. ടണലിന്റെ ഫീൽഡുകൾ തന്നെ google_compute_vpn_tunnel റഫറൻസിൽ.