O AWS SDK for Java 1.x entrou no modo de manutenção em 31 de julho de 2024 e chegará end-of-support
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Gerenciar instâncias do Amazon EC2
Criar uma instância
Crie uma instância do Amazon EC2 chamando o método runInstances
do AmazonEC2Client, fornecendo um RunInstancesRequest contendo a imagem de máquina da Amazon (AMI) a ser usada e um tipo de instância.
Importações
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 o exemplo completo
Iniciar uma instância
Para iniciar uma instância do Amazon EC2, chame o método startInstances
do AmazonEC2Client, fornecendo um StartInstancesRequest contendo o ID da instância para iniciar.
Importações
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 o exemplo completo
Interromper uma instância
Para interromper uma instância do Amazon EC2, chame o método stopInstances
do AmazonEC2Client, fornecendo um StopInstancesRequest contendo o ID da instância para interromper.
Importações
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 o exemplo completo
Como reinicializar uma instância
Para reinicializar uma instância do Amazon EC2, chame o método rebootInstances
do AmazonEC2Client, fornecendo um RebootInstancesRequest contendo o ID da instância para reinicializar.
Importações
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 o exemplo completo
Descrever instâncias
Para listar as instâncias, crie um DescribeInstancesRequest e chame o método describeInstances
do AmazonEC2Client. Isso retornará um objeto DescribeInstancesResult que você pode usar para listar as instâncias do Amazon EC2 para a conta e a região.
As instâncias são agrupadas por reserva. Cada reserva corresponde à chamada a startInstances
que iniciou a instância. Para listar as instâncias, você deve primeiro chamar a classe DescribeInstancesResult
getReservations' method, and then call `getInstances
em cada objeto Reservation retornado.
Importações
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; } }
Os resultados são paginados. É possível obter mais resultados passando o valor retornado do método getNextToken
do objeto resultante para o método setNextToken
do objeto de solicitação original e usando o mesmo objeto de solicitação na próxima chamada para describeInstances
.
Consulte o exemplo completo
Monitorar uma instância
Você pode monitorar diversos aspectos das instâncias do Amazon EC2, como utilização de CPU e rede, memória disponível e espaço em disco restante. Para saber mais sobre monitoramento de instância, consulte Monitoramento do Amazon EC2 no Guia do Usuário do Amazon EC2 para instâncias do Linux.
Para iniciar o monitoramento de uma instância, você deve criar um MonitorInstancesRequest com o ID da instância para monitorar e passá-lo para o método monitorInstances
do AmazonEC2Client.
Importações
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 o exemplo completo
Interromper monitoramento de instâncias
Para interromper o monitoramento de uma instância, crie um UnmonitorInstancesRequest com o ID da instância para interromper o monitoramento e passá-lo para o método unmonitorInstances
do AmazonEC2Client.
Importações
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 o exemplo completo
Mais informações
-
RunInstances na Referência de API do Amazon EC2
-
DescribeInstances na Referência de API do Amazon EC2
-
StartInstances na Referência de API do Amazon EC2
-
StopInstances na Referência de API do Amazon EC2
-
RebootInstances na Referência de API do Amazon EC2
-
MonitorInstances na referência de API do Amazon EC2
-
UnmonitorInstances na referência de API do Amazon EC2