View a markdown version of this page

Verwalten Amazon EC2 -Instances - AWS SDK for Java 2.x

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwalten Amazon EC2 -Instances

Erstellen einer -Instance

Erstellen Sie eine neue Amazon EC2 Instance, indem Sie die runInstances Methode des Ec2Client aufrufen und ihr eine Datei mit dem zu RunInstancesRequest verwendenden Amazon Machine Image (AMI) und einem Instance-Typ zur Verfügung stellen.

Importe

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;

Code

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

Das vollständige Beispiel finden Sie unter. GitHub

Starten einer Instance

Um eine Amazon EC2 Instanz zu starten, rufen Sie die startInstances Methode des Ec2Client auf und geben Sie ihr eine, die die ID der zu startenden Instanz StartInstancesRequest enthält.

Importe

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;

Code

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

Das vollständige Beispiel finden Sie unter. GitHub

Anhalten einer Instance

Um eine Amazon EC2 Instanz zu stoppen, rufen Sie die stopInstances Methode des Ec2Client auf und geben Sie ihr eine, die die ID der zu stoppenden Instanz StopInstancesRequest enthält.

Importe

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;

Code

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

Das vollständige Beispiel finden Sie unter. GitHub

Neustarten einer Instance

Um eine Amazon EC2 Instanz neu zu starten, rufen Sie die rebootInstances Methode des Ec2Client auf und geben Sie ihr eine, die die ID der Instanz RebootInstancesRequest enthält, die neu gestartet werden soll.

Importe

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;

Code

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

Das vollständige Beispiel finden Sie unter. GitHub

Beschreiben von Instances

Um Ihre Instances aufzulisten, erstellen Sie eine DescribeInstancesRequest und rufen Sie die Methode des Ec2Client auf. describeInstances Es wird ein DescribeInstancesResponse Objekt zurückgegeben, mit dem Sie die Amazon EC2 Instances für Ihr Konto und Ihre Region auflisten können.

Instances werden nach Reservierung gruppiert. Jede Reservierung entspricht dem Aufruf von startInstances, durch den die Instance gestartet wurde. Um Ihre Instances aufzulisten, müssen Sie zuerst die Methode reservations der Klasse DescribeInstancesResponse aufrufen und dann instances für jedes zurückgegebene Reservation-Objekt aufrufen.

Importe

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;

Code

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

Die Ergebnisse werden seitenweise zurückgegeben. Sie können die weiteren Ergebnisse abrufen, indem Sie den von der nextToken-Methode des Rückgabeobjekts zurückgegebenen Wert an die nextToken-Methode eines neuen Anforderungsobjekts übergeben. Verwenden Sie dann das neue Anforderungsobjekt für den nächsten Aufruf von describeInstances.

Das vollständige Beispiel finden Sie unter GitHub.

Überwachen einer Instance

Sie können verschiedene Aspekte Ihrer Amazon EC2 Instances überwachen, z. B. die CPU- und Netzwerkauslastung, den verfügbaren Arbeitsspeicher und den verbleibenden Festplattenspeicher. Weitere Informationen zur Instance-Überwachung finden Sie unter Monitoring Amazon EC2 im Amazon EC2 Benutzerhandbuch für Linux-Instances.

Um mit der Überwachung einer Instanz zu beginnen, müssen Sie eine MonitorInstancesRequest mit der ID der zu überwachenden Instanz erstellen und sie an die Methode des Ec2Client übergeben. monitorInstances

Importe

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;

Code

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

Das vollständige Beispiel finden Sie unter. GitHub

Anhalten der Instance-Überwachung

Um die Überwachung einer Instanz zu beenden, erstellen Sie eine UnmonitorInstancesRequest mit der ID der Instanz, die die Überwachung beenden soll, und übergeben Sie sie an die Methode des unmonitorInstances Ec2Client.

Importe

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;

Code

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

Das vollständige Beispiel finden Sie unter. GitHub

Weitere Informationen