I do this exact same thing to remote into servers. I have always used local port forwarding for my vnc and remote desktop connections. So you may be able to do it with remote forwarding, but I have never tried it.
You have:
ssh -L 5900:localhost:5555 ubuntu@ec2serveraddress.com
I think the ports should be reversed and destination is not localhost but your server. So, it should look this:
ssh -L 5555:ec2serveraddress:5900 ubuntu@ec2serveraddress.com
Since we locally forward port 5555, we can access vnc using:
127.0.0.1:5555 in the vnc client
As an fyi, ubuntu@ec2serveraddress.com does not have to be on the same server, but needs to be able to access the server you are trying remote into
As an other side note, ubuntu server does not have a gui installed be default