View a markdown version of this page

Manage (Gestione) Amazon EC2 Istanze - AWS SDK for Java 2.x

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à.

Manage (Gestione) Amazon EC2 Istanze

Creare un'istanza

Crea una nuova Amazon EC2 istanza chiamando il runInstances metodo Ec2Client, fornendogli un file RunInstancesRequest contenente l'Amazon Machine Image (AMI) da utilizzare e un tipo di istanza. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html

Importazioni

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.InstanceType; import software.amazon.awssdk.services.ec2.model.RunInstancesRequest; import software.amazon.awssdk.services.ec2.model.RunInstancesResponse; import software.amazon.awssdk.services.ec2.model.Tag; import software.amazon.awssdk.services.ec2.model.CreateTagsRequest; import software.amazon.awssdk.services.ec2.model.Ec2Exception;

Codice

public static String createEC2Instance(Ec2Client ec2,String name, String amiId ) { RunInstancesRequest runRequest = RunInstancesRequest.builder() .imageId(amiId) .instanceType(InstanceType.T1_MICRO) .maxCount(1) .minCount(1) .build(); RunInstancesResponse response = ec2.runInstances(runRequest); String instanceId = response.instances().get(0).instanceId(); Tag tag = Tag.builder() .key("Name") .value(name) .build(); CreateTagsRequest tagRequest = CreateTagsRequest.builder() .resources(instanceId) .tags(tag) .build(); try { ec2.createTags(tagRequest); System.out.printf( "Successfully started EC2 Instance %s based on AMI %s", instanceId, amiId); return instanceId; } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }

Guarda l'esempio https://github.com/awsdocs/aws-doc-sdk-examples/blob/ac748d8ef99cd17e297cb74fe13aa671e2679088/javav2/example_code/ec2/src/main/java/com/example/ec2/CreateInstance.java completo su. GitHub

Avviare un'istanza

Per avviare un' Amazon EC2 istanza, chiamate il startInstances metodo di Ec2Client, fornendogli un codice StartInstancesRequest contenente l'ID dell'istanza da avviare.

Importazioni

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.StartInstancesRequest; import software.amazon.awssdk.services.ec2.model.StopInstancesRequest;

Codice

public static void startInstance(Ec2Client ec2, String instanceId) { StartInstancesRequest request = StartInstancesRequest.builder() .instanceIds(instanceId) .build(); ec2.startInstances(request); System.out.printf("Successfully started instance %s", instanceId); }

Guarda l'esempio https://github.com/awsdocs/aws-doc-sdk-examples/blob/ac748d8ef99cd17e297cb74fe13aa671e2679088/javav2/example_code/ec2/src/main/java/com/example/ec2/StartStopInstance.java completo su. GitHub

Arrestare un'istanza

Per interrompere un' Amazon EC2 istanza, chiamate il stopInstances metodo di Ec2Client, fornendogli un numero StopInstancesRequest contenente l'ID dell'istanza da arrestare.

Importazioni

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.StartInstancesRequest; import software.amazon.awssdk.services.ec2.model.StopInstancesRequest;

Codice

public static void stopInstance(Ec2Client ec2, String instanceId) { StopInstancesRequest request = StopInstancesRequest.builder() .instanceIds(instanceId) .build(); ec2.stopInstances(request); System.out.printf("Successfully stopped instance %s", instanceId); }

Guarda l'esempio https://github.com/awsdocs/aws-doc-sdk-examples/blob/ac748d8ef99cd17e297cb74fe13aa671e2679088/javav2/example_code/ec2/src/main/java/com/example/ec2/StartStopInstance.java completo su. GitHub

Riavviare un'istanza

Per riavviare un' Amazon EC2 istanza, chiamate il rebootInstances metodo Ec2Client, fornendogli un codice RebootInstancesRequest contenente l'ID dell'istanza da riavviare.

Importazioni

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.Ec2Exception; import software.amazon.awssdk.services.ec2.model.RebootInstancesRequest;

Codice

public static void rebootEC2Instance(Ec2Client ec2, String instanceId) { try { RebootInstancesRequest request = RebootInstancesRequest.builder() .instanceIds(instanceId) .build(); ec2.rebootInstances(request); System.out.printf( "Successfully rebooted instance %s", instanceId); } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

Guarda l'esempio completo su. https://github.com/awsdocs/aws-doc-sdk-examples/blob/ac748d8ef99cd17e297cb74fe13aa671e2679088/javav2/example_code/ec2/src/main/java/com/example/ec2/RebootInstance.java GitHub

Descrivere le istanze

Per elencare le tue istanze, crea DescribeInstancesRequest e chiama il metodo di Ec2Client. describeInstances Restituirà un DescribeInstancesResponse oggetto che puoi usare per elencare le Amazon EC2 istanze per il tuo account e la tua 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 il metodo reservations della classe DescribeInstancesResponse e quindi chiamare instances su ciascun oggetto Reservation restituito.

Importazioni

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.DescribeInstancesRequest; import software.amazon.awssdk.services.ec2.model.DescribeInstancesResponse; import software.amazon.awssdk.services.ec2.model.Instance; import software.amazon.awssdk.services.ec2.model.Reservation; import software.amazon.awssdk.services.ec2.model.Ec2Exception;

Codice

public static void describeEC2Instances( Ec2Client ec2){ String nextToken = null; try { do { DescribeInstancesRequest request = DescribeInstancesRequest.builder().maxResults(6).nextToken(nextToken).build(); DescribeInstancesResponse response = ec2.describeInstances(request); for (Reservation reservation : response.reservations()) { for (Instance instance : reservation.instances()) { System.out.println("Instance Id is " + instance.instanceId()); System.out.println("Image id is "+ instance.imageId()); System.out.println("Instance type is "+ instance.instanceType()); System.out.println("Instance state name is "+ instance.state().name()); System.out.println("monitoring information is "+ instance.monitoring().state()); } } nextToken = response.nextToken(); } while (nextToken != null); } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

I risultati vengono paginati; puoi ottenere altri risultati passando il valore restituito dal metodo nextToken dell'oggetto risultante a un nuovo metodo nextToken dell'oggetto richiesta e utilizzando il nuovo oggetto richiesta nella chiamata successiva a describeInstances.

Guarda l'esempio completo su. GitHub

Monitorare un'istanza

Puoi monitorare vari aspetti delle tue Amazon EC2 istanze, come l'utilizzo della CPU e della rete, la memoria disponibile e lo spazio su disco rimanente. Per saperne di più sul monitoraggio delle istanze, vedi Monitoraggio Amazon EC2 nella Guida per l' Amazon EC2 utente per le istanze Linux.

Per iniziare a monitorare un'istanza, è necessario crearne una MonitorInstancesRequest con l'ID dell'istanza da monitorare e passarla al metodo di Ec2Client. monitorInstances

Importazioni

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.MonitorInstancesRequest; import software.amazon.awssdk.services.ec2.model.UnmonitorInstancesRequest;

Codice

public static void monitorInstance( Ec2Client ec2, String instanceId) { MonitorInstancesRequest request = MonitorInstancesRequest.builder() .instanceIds(instanceId).build(); ec2.monitorInstances(request); System.out.printf( "Successfully enabled monitoring for instance %s", instanceId); }

Guarda l'esempio https://github.com/awsdocs/aws-doc-sdk-examples/blob/ac748d8ef99cd17e297cb74fe13aa671e2679088/javav2/example_code/ec2/src/main/java/com/example/ec2/MonitorInstance.java completo su. GitHub

Arrestare il monitoraggio delle istanze

Per interrompere il monitoraggio di un'istanza, creane una UnmonitorInstancesRequest con l'ID dell'istanza per interrompere il monitoraggio e passala al metodo di Ec2Client. unmonitorInstances

Importazioni

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.MonitorInstancesRequest; import software.amazon.awssdk.services.ec2.model.UnmonitorInstancesRequest;

Codice

public static void unmonitorInstance(Ec2Client ec2, String instanceId) { UnmonitorInstancesRequest request = UnmonitorInstancesRequest.builder() .instanceIds(instanceId).build(); ec2.unmonitorInstances(request); System.out.printf( "Successfully disabled monitoring for instance %s", instanceId); }

Guarda l'esempio https://github.com/awsdocs/aws-doc-sdk-examples/blob/ac748d8ef99cd17e297cb74fe13aa671e2679088/javav2/example_code/ec2/src/main/java/com/example/ec2/MonitorInstance.java completo su. GitHub

Ulteriori informazioni