Possiedo un cluster Elasticsearch in esecuzione su due diversi droplet Digital Ocean. Sono entrambi impostati per reti private, e ho un set di repliche Mongo DB che funziona bene con le regole UFW impostate per accettare solo connessioni sulle porte rilevanti dagli specifici indirizzi IP (privati) delle goccioline.Cluster di Elasticsearch dietro firewall UFW
Tuttavia, non sono in grado di ottenere una salute del cluster Elasticsearch verde utilizzando lo stesso metodo, solo il giallo. Ciò significa che i nodi non sono in grado di connettersi l'un l'altro.
In elasaticsearch.yml (su entrambe le macchine) ho disabilitato il multicast e sto usando unicast per connettersi agli indirizzi IP interni della gocciolina. Quando imposto il firewall per accettare tutte le connessioni sulla porta 9300 (ufw allow 9300) funziona perfettamente e lo stato del cluster è segnalato come verde. Tuttavia, quando limito la regola per consentire solo gli indirizzi IP effettivi, proprio come con il set di repliche Mongo DB, non funziona. Ho provato con gli indirizzi pubblici e privati e con IPv4 e IPv6.
Cosa mi manca qui?
Grazie! usando netstat vedo che elasticsearch comunica su IPv6 Non capisco veramente quale sarebbe l'indirizzo IP corretto per ES a cui legarsi. A partire da ora ho impostato network.host = [localhost, 10.0.0.1 (esempio)] sul primo nodo e [localhost, 10.0.0.2 (esempio)] sul secondo host. È corretto? Da netstat vedo anche che ES utilizza un'intera gamma di porte oltre a 9300, ma questo non spiega perché i cluster possono comunicare quando apro la porta 9300 per qualsiasi traffico ma non quando specificano gli indirizzi IP del nodo. – Axelfran
Ho capito che ora funziona, ho seguito le tue istruzioni e in realtà ho dovuto consentire sia l'IP interno che quello esterno nel firewire tutto per farlo passare. Molte grazie! – Axelfran