My advice would be to find a good tutorial on iptables as you really need to understand the basics. There are many good examples of tutorials and basic and proven iptables rulesets, like, for example these tutorials from DigitalOcean which relate to Ubuntu but can easily be applied to any Linux version,
https://www.digitalocean.com/community/tutorials/how-the-iptables-firewall-works
and
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-iptables-on-ubuntu-14-04
and
https://www.digitalocean.com/community/tutorials/iptables-essentials-common-firewall-rules-and-commands
My advice would also be to use iptable’s connection tracking as explained in the answer by Davidgo here. This will not only work for outgoing but also for incoming connections and can greatly reduce the number of rules that iptables needs to process for each incoming packet.
Also be aware that a good firewall is just one layer in your server's security. You should never rely on it as the only line of defence. I would advise you to add more, where practical (such as key based SSH authentication).
Basically, a simple iptables ruleset could look like this
SETUP POLICIES
Set default policies with -P (i.e. DROP for INPUT, DROP for OUTPUT and ALLOW for FORWARD). These will set the default behaviour when no rules match. You will probably not use the FORWARD chain as it is used for routing.
INPUT CHAIN
ALLOW traffic on your lo (loopback) interface (i.e. traffic that stays internal to your VPS and should never be blocked)
ALLOW traffic from ESTABLISHED and RELATED connections (i.e. connections that were already given permission before. This saves time and processing resources)
ALLOW NEW connections from your IP addresses to the two ports you want to allow incoming sessions on (in your case SSH and VNC)
DROP or REJECT everything else (you can do this explicitly or rely on the policy you set before)
OUTPUT CHAIN
ALLOW traffic from NEW, ESTABLISHED and RELATED connections. This basically means that all outgoing connections initiated from your VPS will be permitted, as well as outgoing traffic that is part of an already permitted and established incoming connection (i.e. your SSH and VNC sessions).
DROP everything else, or rely on your default policy for the OUTPUT chain.