Cassandra VPN-ээр: клиент болон зангилаанд тусдаа хандалт өгөх
Нэг Cassandra кластер гурван бүлэг хэрэглэгчийг нуудаг. Клиентүүд, хос зангилаа болон операторууд түүнд хэрхэн хүрэхийг тус тусад нь шийдэж, таних тэмдэгийг VPN замын дотор байлгаарай.
Cassandra-гийн байршуулалтад нэг бүх нийтийн мэдээллийн сангийн сүлжээ байдаггүй. Аппликешнүүд клиент үйлчилгээтэй ярьдаг, кластерийн гишүүд бие биетэйгээ ярьдаг, операторууд захиргааны интерфейс ашигладаг бөгөөд эдгээр гурван бүлэг бие биенийхээ хүрэх боломжийг өвлөх ёсгүй. VPN мэтийн хувийн зам сайн эхлэл боловч энэ нь мэдээллийн сангийн хэрэглэгчийн таних тэмдэг биш бөгөөд түүний шифрлэлтийн бодлого ч биш юм. Холболтын шийдвэр болон зөвшөөрлийн шийдвэрийг хоёр тусдаа хяналт гэж үзээрэй.
Гурван бүлгийн нэг бүр өөрийн хариултыг авдаг бөгөөд доорх хэсгүүд тэдгээрийг илрэх дарааллаар авч үзнэ.
Гурван бүлэг, гурван шийдвэр
Ямар ч дүрэмд хүрэхээс өмнө бүлэг бүрт үнэхээр юу хэрэгтэйг тодорхойлоорой. Клиентүүдэд клиентийн сонсогч болон тэдэнд өгч болох зангилаа бүрт хүрэх хангалттай мэдээлэл хэрэгтэй, хос зангилаануудад зангилаа хоорондын порт дээр бие бие хэрэгтэй, операторуудад runbook үнэхээр шаарддаг зүйлд зориулсан удирдлагын интерфейс хэрэгтэй. Гурван жагсаалт, гурван бүлэг, итгэлийн гурван түвшин.
Нийтлэг алдаа нь нэг хавтгай хувийн сегмент барьж, VPN-ийн хил үлдсэнийг нь хийнэ гэж таамаглах явдал. Түүний дотор клиентийн портод хүрдэг аппликешн ихэвчлэн зангилаа хоорондын портод ч хүрдэг, операторын захиргааны хэрэгслүүд ихэвчлэн аппликешнтэй нэг үсрэх хост дээр суудаг. Эдгээрийг хамт хавтгайруулна гэдэг нь эвдэрсэн аппликешны таних тэмдэг аль хэдийн өөрийн асуулгаас илүү хүрээтэй болсон гэсэн үг. Дизайны баримт бичигт гурван бүлгийг гурван мөр байдлаар зурж, мөр бүрд зөвшөөрөх дүрмийг бичээрэй, тэгвэл хэн нэгэн тэдгээрийг барихаас өмнө цоорхойнууд харагдана.
Клиентүүдэд юу хэрэгтэй, үүнээс илүү юу ч биш
Байршуулсан хувилбарт зориулсан аппликейшны эх сурвалжуудад клиентийн төгсгөлийн цэгүүдэд хүрэхийг зөвшөөрч, холбоогүй кластер болон удирдлагын үйлчилгээг тэр хүрээнээс гадуур байлгаарай. Дараа нь драйвер зангилааг хэрхэн илрүүлдэг болохыг шалгаарай. Хүрч болох анхны холбоо барих цэг нь драйвер дараа нь сонгох зангилаа бүрийн хаяг тэр клиентийн орчноос хүрч болохыг нотлохгүй, учир нь драйвер кластерээс хосуудыг асууж, дараа нь кластерийн зарласан хаягуудтай холбогддог.
Тиймээс хувийн хаягийн нэг зөрүү танил хэв маягийг үүсгэдэг: амжилттай эхний холболт, дараа нь хугацаа дуусах. Зарласан хаяг болон клиентийн маршрутыг санаатайгаар тохируулаарай; нэг зөрүүг засахын тулд бүх кластерийг интернетэд нийтлэх нь маршрутын алдааг буцааж авах боломжгүй ил болголтоор сольдог.
Аппликейшны мэдээллийн сангийн баталгаажуулалт болон дүрүүдийн зөвшөөрлийг бас байранд нь байлгаарай. Хуваалцсан орчуулсан VPN хаяг олон хэрэглэгч эсвэл үйлчилгээг төлөөлж болох тул энэ нь тусдаа мэдээллийн сангийн таних тэмдгийг хэзээ ч орлохгүй.
Клиентээс зангилаа хүртэлх болон зангилаа хоорондын холболтыг тусад нь шифрлээрэй
Apache-гийн аюулгүй байдлын баримт бичиг клиентээс зангилаа хүртэлх болон зангилаа хоорондын шифрлэлтийг тусдаа тохиргоо гэж үздэг бөгөөд нэгийг идэвхжүүлэх нь нөгөөг идэвхжүүлэхгүй. Тэр ялгаа VPN дотор ч үйлчилнэ, учир нь туннель өөрийн сегментийг хамгаалдаг бөгөөд аппликейшны процессоос мэдээллийн сангийн процесс хүртэл эсвэл кластерийн гишүүдийн хос бүрийн хооронд автоматаар тархдаггүй.
Загварын анхдагч утгыг өвлөхгүйгээр хоёуланг нь тодорхой асаах тохиргоо ойролцоогоор ийм харагдана:
client_encryption_options:
enabled: true
optional: false
server_encryption_options:
internode_encryption: allКлиентийн шифрлэлтийг сонголтоор зөвшөөрдөг серверийн тохиргоонд TLS хүлээн авах нь шифрлээгүй холболт хүлээн авахтай зэрэгцэн оршиж болох тул зорилгыг бус, үйлчилж буй бодлогыг уншаарай. Клиент бүр үнэхээр холбогддог төгсгөлийн цэгүүдэд сертификатын нэр, итгэлийн хуваарилалт, шинэчлэлтийг төлөвлөөрэй; хостын нэрийг IP хаягаар солих нь клиентийн таних тэмдгийн шалгалтыг өөрчилдөг, зөвхөн маршрутыг нь биш.
Захиргааг өөрийн замаар нь байлгаарай
Зангилаа хоорондын урсгалд зөвшөөрөгдсөн хосын олонлог болон өөрийн хамгаалалтын бодлого хэрэгтэй. Захиргааны хандалтад, ашиглагдаж буй газрын JMX-ийг оролцуулан, тусдаа бүлэг болон өөрийн баталгаажуулалт хэрэгтэй. Энгийн асуулга гаргах зөвшөөрөлтэй аппликешн үүгээр удирдлагын бүх чадварыг шаарддаггүй, харин эсрэг нь илүү муу: аппликейшны сегментэд нээлттэй захиргааны зам алдаанаас дахин бүтээх хүртэлх хамгийн богино зам юм. Эдгээр хоёр бүлгийг тусад нь бичиж, эздийг нь нэрлээрэй, учир нь ихэвчлэн эдгээр нь дүрэм нь санамсаргүй нэгдсэн өөр багууд байдаг.
Үйлчилж буй үүлэн дүрэм, хост дүрэм болон сонсогчийн тохиргоог зэрэгцүүлэн байлгаарай. Хувийн сонсогч санамсаргүй орчуулга эсвэл проксигоор нээлттэй хэвээр байж болох бөгөөд өргөн олон нийтийн дүрэм нарийн VPN дүрмийн хажууд чимээгүй сууж болно, хэн нэгэн хоёуланг нь зэрэг шалгах хүртэл.
Операторуудад үнэхээр удирдлагын зам хэрэгтэй бол түүнд нэрлэсэн эзэн болон аппликейшнаас богино итгэмжлэлийн хугацаа өгөөрэй. Энэ нь дараагийн хүн кластерийг өвлөх үед төлөөлөл харагдахуйц байлгана.
Дизайн юу амладаг
Гурван амлалтыг зөвхөн холболтын туршилтаар бус, бодит дүрээр баталгаажуулаарай. Зөвшөөрөгдсөн аппликешн зөвшөөрөгдсөн ажлаа дуусгах ёстой, үүнээс илүүгүй, хасагдсан эх сурвалж клиентийн орох хэсэгт бүтэлгүйтэх ёстой, аппликейшны таних тэмдэг нь нөөцөлсөн захиргааны замууд дээр татгалзагдах ёстой. Клиентийн дахин холболт болон зангилааны сонголтыг мөн адил байршуулалтын туршилтад нэмээрэй, учир нь илрүүлэлтийн алдаа яг тэнд илэрдэг.
Дизайны баримт бичигт гурван өгүүлбэрээр дуусгаарай: ямар клиентүүд асууж болох, ямар зангилаанууд харилцаж болох, ямар операторууд удирдаж болох. VPN-ийн ард байх нь ашигтай топологийн мэдээлэл боловч энэ нь тэдгээр гурван асуултын аль нэгэнд нь хариулт биш юм.