Administración de Amazon EC2 instancias - AWS SDK para Java 1.x

La AWS SDK para Java versión 1.x entró en modo de mantenimiento el 31 de julio de 2024 y estará disponible el 31 de end-of-supportdiciembre de 2025. Le recomendamos que migre al para AWS SDK for Java 2.xseguir recibiendo nuevas funciones, mejoras de disponibilidad y actualizaciones de seguridad.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de Amazon EC2 instancias

Crear una instancia

Para crear una nueva Amazon EC2 instancia, llama al runInstances método del EC2 cliente de Amazon y le proporciona la imagen de máquina de Amazon (AMI) RunInstancesRequestque va a utilizar y un tipo de instancia.

Importaciones

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;

Código

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();

Consulte el ejemplo completo

Iniciar una instancia

Para iniciar una Amazon EC2 instancia, llama al startInstances método de Amazon EC2 Client y dale una StartInstancesRequestque contenga el ID de la instancia que se va a iniciar.

Importaciones

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

Código

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

Consulte el ejemplo completo

Detener una instancia

Para detener una Amazon EC2 instancia, llama al stopInstances método del EC2 cliente de Amazon y proporciona un identificador StopInstancesRequestde la instancia que se va a detener.

Importaciones

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

Código

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

Consulte el ejemplo completo

Reiniciar una instancia

Para reiniciar una Amazon EC2 instancia, llama al rebootInstances método Amazon EC2 Client y proporciona un identificador RebootInstancesRequestde la instancia que se va a reiniciar.

Importaciones

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;

Código

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

Consulte el ejemplo completo

Describir instancias

Para enumerar tus instancias, crea un describeInstances método de Amazon EC2 Client DescribeInstancesRequesty llámalo. Devolverá un DescribeInstancesResultobjeto que puedes usar para enumerar las Amazon EC2 instancias de tu cuenta y región.

Las instancias se agrupan por reserva. Cada reserva se corresponde con la llamada a startInstances que lanzó la instancia. Para mostrar sus instancias, primero debe llamar al método getReservations' method, and then call `getInstances de la clase DescribeInstancesResult en cada objeto Reservation devuelto.

Importaciones

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;

Código

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; } }

Los resultados se paginan; puede obtener más resultados pasando el valor devuelto del método getNextToken del objeto resultante al método setNextToken del objeto de la solicitud original, usando el mismo objeto de la solicitud en la siguiente llamada a describeInstances.

Consulte el ejemplo completo

Monitorizar una instancia

Puede supervisar varios aspectos de las Amazon EC2 instancias, como el uso de la CPU y la red, la memoria disponible y el espacio en disco restante. Para obtener más información sobre la supervisión de instancias, consulta la sección Supervisión Amazon EC2 en la Guía del Amazon EC2 usuario de instancias de Linux.

Para empezar a monitorizar una instancia, debes crear una MonitorInstancesRequestcon el ID de la instancia que quieres monitorizar y pasarla al monitorInstances método del EC2 cliente de Amazon.

Importaciones

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

Código

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

Consulte el ejemplo completo

Detener la monitorización de instancias

Para dejar de monitorizar una instancia, crea una UnmonitorInstancesRequestcon el ID de la instancia que quieres detener la monitorización y pásala al unmonitorInstances método de Amazon EC2 Client.

Importaciones

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

Código

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

Consulte el ejemplo completo

Más información