Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Amazon AWS java SDK describeInstances für eu-west-1 Region

Mitglied: Shamaz

Shamaz (Level 1) - Jetzt verbinden

09.09.2012, aktualisiert 13:07 Uhr, 3002 Aufrufe

Ich habe jetzt schon so einige Beiträge gelesen. Alle machen sie auch ungefähr das selbe, aber keiner dieser Beiträge konnte mein Problem lösen.

Bei amazon habe ich in der Region eu-west-1 (Irland) einige Instanzen. Diese sind teils angeschaltet oder auch aus. Beim einschalten über das Webinterface (Amazon AWS Console) kann man leider nicht gleich fest mit geben, welche elastic ip auf der instanze liegen soll. Also wollte ich mir ein Java programm schreiben, was einfach das nach einem start macht.

Dafür holte ich mir die AWS java SDK mit den tools für Eclipse (Juno). Über diese AWS Tools legte ich ein neues Projekt an wodurch gleich das richtige "Credential File" im Projekt mit den richtigen werten angelegt wurde.

Nun dachte ich, lass dir erst mal die Instanz IDs geben, mit denen gehts dann weiter. Nüscht ist. Mein Programm, was das machen soll sieht folgendermaßen aus:
01.
import java.io.IOException; 
02.
import java.util.List; 
03.
 
04.
import com.amazonaws.auth.AWSCredentials; 
05.
import com.amazonaws.auth.PropertiesCredentials; 
06.
import com.amazonaws.services.ec2.AmazonEC2Client; 
07.
import com.amazonaws.services.ec2.model.DescribeInstancesRequest; 
08.
import com.amazonaws.services.ec2.model.DescribeInstancesResult; 
09.
import com.amazonaws.services.ec2.model.Instance; 
10.
import com.amazonaws.services.ec2.model.Reservation; 
11.
 
12.
/** 
13.
 *  
14.
 */ 
15.
 
16.
/** 
17.
 * @author shamaz 
18.
 *  
19.
 */ 
20.
public class Main { 
21.
	private static AWSCredentials credentials = null; 
22.
	private static AmazonEC2Client ec2 = null; 
23.
 
24.
	/** 
25.
	 * @param args 
26.
	 */ 
27.
	public static void main(String[] args) { 
28.
 
29.
		init(); 
30.
 
31.
		DescribeInstancesRequest request = new DescribeInstancesRequest(); 
32.
		DescribeInstancesResult result = ec2.describeInstances(request); 
33.
		List<Reservation> reservations = result.getReservations(); 
34.
 
35.
		 
36.
		System.out.println("Die InstanzenIDs sind:"); 
37.
		for (Reservation reservation : reservations) { 
38.
			List<Instance> instances = reservation.getInstances(); 
39.
			for (Instance instance : instances) { 
40.
				System.out.println(instance.getInstanceId()); 
41.
42.
43.
 
44.
45.
 
46.
	public static void init() { 
47.
		try { 
48.
			credentials = new PropertiesCredentials( 
49.
					Main.class.getResourceAsStream("AwsCredentials.properties")); 
50.
			ec2 = new AmazonEC2Client(credentials); 
51.
 
52.
		} catch (IOException e) { 
53.
			e.printStackTrace(); 
54.
55.
 
56.
57.
}
Es kommt einfach nichts in das result.Reservation zurück. Dann habe ich mir gedacht, dass könnte an den Zonen und/oder Regionen liegen. Gib mir diese also mal aus. Das mache ich mit diesem Programm:
01.
import java.io.IOException; 
02.
import java.util.HashSet; 
03.
import java.util.List; 
04.
import java.util.Set; 
05.
 
06.
import com.amazonaws.AmazonServiceException; 
07.
import com.amazonaws.auth.AWSCredentials; 
08.
import com.amazonaws.auth.PropertiesCredentials; 
09.
import com.amazonaws.services.ec2.AmazonEC2Client; 
10.
import com.amazonaws.services.ec2.model.DescribeAvailabilityZonesResult; 
11.
import com.amazonaws.services.ec2.model.DescribeInstancesRequest; 
12.
import com.amazonaws.services.ec2.model.DescribeInstancesResult; 
13.
import com.amazonaws.services.ec2.model.Instance; 
14.
import com.amazonaws.services.ec2.model.Reservation; 
15.
 
16.
/** 
17.
 *  
18.
 */ 
19.
 
20.
/** 
21.
 * @author shamaz 
22.
 *  
23.
 */ 
24.
public class Main { 
25.
	private static AWSCredentials credentials = null; 
26.
	private static AmazonEC2Client ec2 = null; 
27.
 
28.
	/** 
29.
	 * @param args 
30.
	 */ 
31.
	public static void main(String[] args) { 
32.
 
33.
		init(); 
34.
 
35.
		try { 
36.
            DescribeAvailabilityZonesResult availabilityZonesResult = ec2.describeAvailabilityZones(); 
37.
            System.out.println("You have access to " + availabilityZonesResult.getAvailabilityZones().size() + 
38.
                    " Availability Zones."); 
39.
            System.out.println("These are: " + availabilityZonesResult.getAvailabilityZones()); 
40.
 
41.
            DescribeInstancesResult describeInstancesRequest = ec2.describeInstances(); 
42.
            List<Reservation> reservations = describeInstancesRequest.getReservations(); 
43.
            Set<Instance> instances = new HashSet<Instance>(); 
44.
 
45.
            for (Reservation reservation : reservations) { 
46.
                instances.addAll(reservation.getInstances()); 
47.
48.
 
49.
            System.out.println("You have " + instances.size() + " Amazon EC2 instance(s) running."); 
50.
        } catch (AmazonServiceException ase) { 
51.
                System.out.println("Caught Exception: " + ase.getMessage()); 
52.
                System.out.println("Reponse Status Code: " + ase.getStatusCode()); 
53.
                System.out.println("Error Code: " + ase.getErrorCode()); 
54.
                System.out.println("Request ID: " + ase.getRequestId()); 
55.
56.
 
57.
58.
 
59.
	public static void init() { 
60.
		try { 
61.
			credentials = new PropertiesCredentials( 
62.
					Main.class.getResourceAsStream("AwsCredentials.properties")); 
63.
			ec2 = new AmazonEC2Client(credentials); 
64.
 
65.
		} catch (IOException e) { 
66.
			e.printStackTrace(); 
67.
68.
 
69.
70.
}
Heraus kommt:

You have access to 3 Availability Zones.
These are: [{ZoneName: us-east-1b, State: available, RegionName: us-east-1, }, {ZoneName: us-east-1c, State: available, RegionName: us-east-1, }, {ZoneName: us-east-1d, State: available, RegionName: us-east-1, }]
You have 0 Amazon EC2 instance(s) running.

Da fehlt einfach meine Zone und Region. Ich habe die Instanzen in "eu-west-1". Und deshalb denke ich, dass deshalb keine "Reservations" zurück geliefert werden.

Meine Frage also, was muss ich machen um das Problem zu lösen?

mfg

Shamaz


EDIT:

Kaum gibt man das richtige bei Google ein, schon gehts. Dieser Artikel war die Lösung: http://aws.amazon.com/articles/3604
Der Trick war einfach noch beim "init" diese Zeile einzufügen:

ec2.setEndpoint("https://eu-west-1.ec2.amazonaws.com");

Schade, dass es so viel Nerven gekostet hat, was passendes für den Europäischen Raum zu finden. Da finde ich gibt es noch Nachholungsbedarf.

Somit ist die Sache erst mal für mich erledigt.

mfg Shamaz
Ähnliche Inhalte
Cloud-Dienste

Amazon AWS Directory Services + RDS Rolle + MS Office auf einer AWS Instance

Frage von neueradmuserCloud-Dienste2 Kommentare

Hallo, ich soll weit entfernte Büro Räume mit einem AD + MS Office Möglichkeit ausstatten. wäre der Weg über ...

DNS

Domaintransfer zu AWS Route 53 wegen AWS Loadbalancer?

Frage von Peter-GernoutDNS4 Kommentare

Hallo Zusammen, ich möchte bei Amazon ein Loadbalancer mit 2 oder 3 Webservern dahinter betreiben. Derzeit sind meine Domains ...

Webbrowser

Java und IE 11 in Verbindung mit Amazon Seller Central

Frage von Diddi-tbWebbrowser

Hallo zusammen, ich google nun schon seit acht Tagen und komme leider nicht weiter. Wir sind Onlinehändler und müssen ...

Cloud-Dienste

DC und Terminaldienste in AWS cloud

Frage von neueradmuserCloud-Dienste13 Kommentare

Hi, für ein neues Projekt möchte ich gerne einen DC in der amazon Cloud erstellen und darauf dann die ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 19 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung22 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...