Turning off password checking on your EC2 boxes could mean that anyone can login and use them. That can be a problem. For instance, someone could run up a bill on your account.
Also, I don't know why you would want to run 100 instances all running firefox. If you want to automate the collection of web pages, consider looking at wget.
Firefox through X to/from a remote desktop is usually unacceptably slow.
I'm not using NX but you've made me curious about it if you think it is fast enough to support this sort of thing.
There is a way to do this sort of thing without NX; namely, with an X client (like a local ubuntu installation) and ssh with Xwindows forwarding. Perhaps this is similar enough that you can modify it for your needs.
The password requirement can be eliminated through the use of ssh public key authentication instead of turning off passwords on your ec2 boxes.
The ssh command to use is
ssh -C -Y remoteid@remotehost.com firefox
or just
ssh -C -Y remoteid@remotehost.com
and then execute whatever command you like from the remote shell.
Explanation:
-Y forward Xwindows from the remote host to the local host in trusting mode
-C compress Xwindows traffic
No Passwords:
to do this without passwords in ssh run ssh-keygen, and generate a key pair
you keep the private key in your .ssh/id_rsa and you copy the public key to the remote computer and paste it into .ssh/authorized_keys
If you decide you want a password after all, you can add a passphrase to your key if you like, but you only have to do that on the local computer, not the remotes. Or, you can delete the key out of .ssh/authorized_keys and ssh will use password checking instead of key checking when you log in.
Best Answer
Assuming that it is a full-fledged Windows service you need to start, then it's as simple as @Mxx points out: just set the service startup type to Automatic rather than Manual.
If it's not a service but just a regular Windows process, then you can look into using Sysinternals Autologon to cause the instance to automatically log in as a particular user when it boots, and then the normal ways of running things at startup (the Startup group in the Start Menu, the Run and RunOnce keys in the registry, etc.) will function as you expect.