Gestione di istanze Amazon EC2 - AWS SDK for Java 1. x

La AWS SDK for Java versione 1.x è entrata in modalità manutenzione il 31 luglio 2024 e sarà disponibile il 31 end-of-supportdicembre 2025. Ti consigliamo di eseguire la migrazione a per continuare AWS SDK for Java 2.xa ricevere nuove funzionalità, miglioramenti della disponibilità e aggiornamenti di sicurezza.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione di istanze Amazon EC2

Creazione di un'istanza

Creazione di un nuovoAmazon EC2istanza chiamando AmazonEC2ClientrunInstancesmetodo, fornendogli unRunInstancesRequestcontenenteAmazon Machine Image (AMI)da usare e untipo di istanza.

Importazioni

import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.InstanceType; import com.amazonaws.services.ec2.model.RunInstancesRequest; import com.amazonaws.services.ec2.model.RunInstancesResult; import com.amazonaws.services.ec2.model.Tag;

Codice

RunInstancesRequest run_request = new RunInstancesRequest() .withImageId(ami_id) .withInstanceType(InstanceType.T1Micro) .withMaxCount(1) .withMinCount(1); RunInstancesResult run_response = ec2.runInstances(run_request); String reservation_id = run_response.getReservation().getInstances().get(0).getInstanceId();

Consulta ilEsempio completo.

Avvio di un'istanza

Per avviare unAmazon EC2istanza, chiama AmazonEC2ClientstartInstancesmetodo, fornendogli unStartInstancesRequestcontenente l'ID dell'istanza da avviare.

Importazioni

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.StartInstancesRequest;

Codice

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); StartInstancesRequest request = new StartInstancesRequest() .withInstanceIds(instance_id); ec2.startInstances(request);

Consulta ilEsempio completo.

Arresto di un'istanza

Per arrestare unAmazon EC2istanza, chiama AmazonEC2ClientstopInstancesmetodo, fornendogli unStopInstancesRequestcontenente l'ID dell'istanza da arrestare.

Importazioni

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.StopInstancesRequest;

Codice

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); StopInstancesRequest request = new StopInstancesRequest() .withInstanceIds(instance_id); ec2.stopInstances(request);

Consulta ilEsempio completo.

Riavvio di un'istanza

Per riavviare unAmazon EC2istanza, chiama AmazonEC2ClientrebootInstancesmetodo, fornendogli unRebootInstancesRequestcontenente l'ID dell'istanza da riavviare.

Importazioni

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.RebootInstancesRequest; import com.amazonaws.services.ec2.model.RebootInstancesResult;

Codice

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); RebootInstancesRequest request = new RebootInstancesRequest() .withInstanceIds(instance_id); RebootInstancesResult response = ec2.rebootInstances(request);

Consulta ilEsempio completo.

Descrizione delle istanze

Per elencare le istanze, crea unDescribeInstancesRequeste chiama il client AmazonEC2describeInstancesMetodo. Restituirà unDescribeInstancesResultoggetto che è possibile utilizzare per elencare ilAmazon EC2istanze per l'account e la regione.

Le istanze sono raggruppate in base alla prenotazione. Ogni prenotazione corrisponde alla chiamata a startInstances che ha avviato l'istanza. Per elencare le istanze, devi prima chiamare ilDescribeInstancesResultclasse»getReservations' method, and then call `getInstancessu ogni restituitoPrenotazioneoggetto.

Importazioni

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.DescribeInstancesRequest; import com.amazonaws.services.ec2.model.DescribeInstancesResult; import com.amazonaws.services.ec2.model.Instance; import com.amazonaws.services.ec2.model.Reservation;

Codice

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); boolean done = false; DescribeInstancesRequest request = new DescribeInstancesRequest(); while(!done) { DescribeInstancesResult response = ec2.describeInstances(request); for(Reservation reservation : response.getReservations()) { for(Instance instance : reservation.getInstances()) { System.out.printf( "Found instance with id %s, " + "AMI %s, " + "type %s, " + "state %s " + "and monitoring state %s", instance.getInstanceId(), instance.getImageId(), instance.getInstanceType(), instance.getState().getName(), instance.getMonitoring().getState()); } } request.setNextToken(response.getNextToken()); if(response.getNextToken() == null) { done = true; } }

I risultati vengono paginati; puoi ottenere altri risultati passando il valore restituito dall'oggetto risultantegetNextTokenmetodo per il tuo oggetto richiesta originalesetNextTokenmetodo, quindi utilizzando lo stesso oggetto richiesta nella prossima chiamata adescribeInstances.

Consulta ilEsempio completo.

Monitoraggio di un'istanza

Puoi monitorare diversi aspetti delle istanze Amazon EC2, ad esempio utilizzo della CPU e della rete, memoria disponibile e spazio su disco rimanente. Per ulteriori informazioni sul monitoraggio delle istanze, consultaMonitoraggioAmazon EC2nellaAmazon EC2Guida per l'utente di istanze Linux.

Per iniziare a monitorare un'istanza, è necessario creare unMonitorInstancesRequestcon l'ID dell'istanza da monitorare e passarlo a quello di AmazonEC2ClientmonitorInstancesMetodo.

Importazioni

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.MonitorInstancesRequest;

Codice

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); MonitorInstancesRequest request = new MonitorInstancesRequest() .withInstanceIds(instance_id); ec2.monitorInstances(request);

Consulta ilEsempio completo.

Arresto del monitoraggio delle istanze

Per interrompere il monitoraggio di un'istanza, creare unUnmonitorInstancesRequestcon l'ID dell'istanza di cui interrompere il monitoraggio e passarlo a AmazonEC2ClientunmonitorInstancesMetodo.

Importazioni

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.UnmonitorInstancesRequest;

Codice

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); UnmonitorInstancesRequest request = new UnmonitorInstancesRequest() .withInstanceIds(instance_id); ec2.unmonitorInstances(request);

Consulta ilEsempio completo.

Ulteriori informazioni