How do I publish Elasticsearch cluster run on a remote machine (via its public IP address) and access it from another machine with Python Client?

Hi, I was wondering if anyone could give me concrete instructions (or point me to where in the documentation there are specific instructions) for publishing an Elasticsearch cluster on the host machine (via the public IP address), and then connection to that machine via python client on another machine. Also, how would I restrict the public IP addresses that can access the cluster?

Please don't post the same question more than one, it makes it harder for people to help :slight_smile: