provare qualcosa di simile con il AWSSDK per avviare nuove istanze di un "ID immagine":
RunInstancesResponse response = Client.RunInstances(new RunInstancesRequest()
.WithImageId(ami_id)
.WithInstanceType(instance_type)
.WithKeyName(YOUR_KEYPAIR_NAME)
.WithMinCount(1)
.WithMaxCount(max_number_of_instances)
.WithUserData(Convert.ToBase64String(Encoding.UTF8.GetBytes(bootScript.Replace("\r", ""))))
);
(Nota: il .WithUserData() è facoltativo e viene utilizzato soprattutto per passare un breve script di shell.)
Se la chiamata ha esito positivo, la risposta deve contenere un elenco di istanze. Si può usare qualcosa di simile per creare una lista di "istanza id":
if (response.IsSetRunInstancesResult() && response.RunInstancesResult.IsSetReservation() && response.RunInstancesResult.Reservation.IsSetRunningInstance())
{
List<string> instance_ids = new List<string>();
foreach (RunningInstance ri in response.RunInstancesResult.Reservation.RunningInstance)
{
instance_ids.Add(ri.InstanceId);
}
// do something with instance_ids
...
}
fonte
2011-09-14 20:59:18