This may not be the right answer for you but certainly worth a consideration. You should define the metric and threshold for your application.
instantiate ec2 servers by script as the load increases
In above statement, you need to define what do you mean by "load"? what is the threshold that load should cross in order to say the load has "increased"
Once you have this information handy, check whether you can monitor these metrics and thresholds using AWS cloudwatch. If yes, then you can create an autscalling group where the autscalling will spin-up a new instance as soon as it told by the cloudwatch alarm that "the load has increased".
If you find that cloudwatch does not support your metrics, then write your own custom metric and have cloudwatch monitor it. Click here for custom cloudwatch metrics documentations.
Once you have your custom metric, then again integrate autoscalling and cloudwatch alarms to manage creation of new EC2 instances when your load increases.
In short, explore AWS cloudwatch alarms and AWS autoscalling.
This whole process assumes that you do have a fully-automated way of creating an EC2 instance along with your software stack. You can create a pre-baked AMI with your application stack OR you can install the application stack on the fly using tools like Opscode Chef.