I realized that the external IP of my VM instance changed to an IP that I don't know. Also, next to the external IP it says "(ephemeral)".
What could cause this to change? How do I prevent that in the future?
Instances are automatically given an IP address, which is subject to change if the server is restarted, crashes, etc. If you want it to have a fixed IP, you need to provision one.
Chances are you've lost the original IP - it'll be back into the pool of millions of IP addresses for someone else's instance to use. You'll need to change the IP in your DNS records to the new static one.
In addition to ceejayoz's answer, it should be noted that you can promote an ephemeral IP to a static IP without it changing.