2012-11-19 12 views
7

La mia azienda desidera scattare istantanee giornaliere di una finestra in Amazon Web Service. Possiamo scattare istantanee senza alcun problema, ma quando provo a creare un'istanza dallo snapshot, crea sempre un ami di Linux. così quando il server si avvia, fallisce sempre il controllo dello stato.Come creare un'istanza di Windows da snapshot in AWS

È possibile creare un'istanza di Windows da un'istantanea?

risposta

10

[Si noti che presumo che si stiano utilizzando istanze EC2 supportate da EBS; in caso contrario, si prega di controllare la spiegazione di Eric Hammond perché You Should Use EBS Boot Instances on Amazon EC2.]

suona come ci potrebbe essere un equivoco per quanto riguarda i relativi concetti AWS:

Mentre Amazon EBS istantanee sono infatti utilizzati per la creazione di una Amazon Machine Images (AMI) sotto il cofano, si non interagire esplicitamente con loro per il caso d'uso in questione. In particolare, non si desidera utilizzare CreateSnapshot, che solo crea uno snapshot di un Amazon EBS volumi e lo memorizza in Amazon S3, piuttosto si vuole creare semplicemente un tale AMI tramite l'azione dedicato CreateImage, che Crea un'amazzone EBS-backed AMI da un Amazon EBS-backed esempio che è o in esecuzione o interrotto [sottolineatura mia]:

  • Questo processo è descritto nella Creating Amazon EBS-Backed AMIs (mentre questa gli indirizzi sezione creazione di un 'nuovo' AMI , il processo è identico allo scenario di backup).
  • prega di notare che CreateImage si occupa automaticamente di volumi EBS aggiuntivi collegati al caso e, se del caso:
    • se è stata personalizzata l'istanza con volumi Istanza archivio o volumi EBS oltre al volume del dispositivo di root, il la nuova AMI contiene informazioni sulla mappatura dei dispositivi a blocchi per quei volumi. Quando si avvia un'istanza da questa nuova AMI, l'istanza viene automaticamente avviata con tali volumi aggiuntivi.

Una volta che si dispone di un'immagine (AMI) generata in questo modo al suo posto, creando l'istanza Amazon EC2 da quel AMI dovrebbe funzionare, se lo desideri, sia esso Windows o Unix uno.

0

provare questo

var launchRequest = new RunInstancesRequest() 
       { 
        ImageId = amiID, 
        InstanceType = ConfigurationManager.AppSettings["AwsInstanceType"], 
        MinCount = 1, 
        MaxCount = 1, 
        KeyName = keyPairName, 
        SecurityGroupIds = groups, 
        SubnetId = ConfigurationManager.AppSettings["AwsSubnetId"], 

       }; 
       RunInstancesResponse runInstancesResponse = amazonEc2client.RunInstances(launchRequest); 
       var InstanceId = runInstancesResponse.Reservation.Instances[0].InstanceId; 
       var trequest = new CreateTagsRequest(); 
       trequest.Resources=new List<string>(){InstanceId}; 
       List<Tag> tags=new List<Tag>(); 
       Tag tag=new Tag("Name","TestCodeFinal"); 
       tags.Add(tag); 
       trequest.Tags = tags; 
       amazonEc2client.CreateTags(trequest); 
       Reservation reservation = runInstancesResponse.Reservation; 
Problemi correlati