Afaik EC2 does not offer Windows clusters, and as such you will not be able to install a SQL Server Cluster. This leaves you with database mirroring or replication, which are both deployable on EC2 for high availability and disaster recoverability.
But your description of the 'solution' (you meantion 'NLB' and the mytical 'active-active') would indicate that you are not actually thinking at high availability, but instead you are thinking at load balancing solution with scale out. Such is not achievable with SQL Server clustering, nor with Database Mirroring. It is achievable with Peer-To-Peer Transactional Replication which is an Enterprise Edition only feature, not available in the Standard Edition offered on EC2. You would have to purchase you own EE licenses and run them on EC2.
When you add all these up, and consider the quite bad IO performance ESB storage offers, you will likely realize that for SQL Server high availability in the cloud, SQL Azure is actually significantly better.