Network.Socket.bind: unsupported operation (Cannot assign requested address)!

Hi guys, I was following the cardano node stake pool tutorials for the testnet and was unsure how to properly run the node. I am using an amazon EC2 instance. In the tutorial (Cardano stake pool tutorial | Download configuration files and run the node - YouTube), the guy uses the public IP address of his instance, however when I try to do the same thing, I get an error message: cardano-node: Network.Socket.bind: unsupported operation (Cannot assign requested address). I played around a little and found two solutions. The private IP address of my instance and 0.0.0.0. Can someone please clear this up for me. More specifically, why does the public IP address of the instance work for the guy in the tutorial, but not me ? Why does my private IP address of the instance work ? Why does 0.0.0.0 also work ? Are there potential security implications for using a particular host-addr ? I am new to programming and I would appreciate any advice. I am also open to mentorship as I plan on running my own stakepool in the near future. Thanks for reading :slight_smile: