2013-02-21 3 views
5

wenn ich versuche, einen HTTP-Endpunkt aus einer EC2-Instanz in ein SNS Thema zu abonnieren, erhalte ich die folgende Meldung:SNS-Publishing auf mehr EC2-Instanzen

„Nicht autorisierte interne Endpunkte abonnieren“

Gibt es Irgendeine Abhilfe dafür? Was ist der beste Weg, um einen Pub/Sub-Mechanismus in AWS zu implementieren?

+0

Hallo, haben Sie eine Problemumgehung gefunden? Vielen Dank. –

Antwort

5

Dies bedeutet, dass Sie die private IP anstelle der öffentlichen IP verwendet haben.

Der einfachste Weg, dies zu lösen, ist die Anmeldung bei der AWS Console für EC2 (https://console.aws.amazon.com/ec2). Klicken Sie dann auf die Instanz und Sie sehen, dass sowohl ein öffentlicher als auch ein privater DNS vorhanden ist. Sie möchten das öffentliche verwenden.

Um diese Informationen programmgesteuert von einer Instanz zu erhalten, können Sie dies für die Instanz tun: curl -s http://169.254.169.254/2009-04-04/meta-data/public-hostname. Dies ist hier dokumentiert: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html

+2

danke für Ihre Hilfe, die Sache ist, diese Instanz ist eine private Instanz, ich wollte SNS als Pub/Sub-Mechanismus zum Austausch von Nachrichten zwischen meinen privaten Instanzen verwenden, aber ich denke, das ist nicht möglich. – smnbss

+0

@smnbss hast du das jemals anders gelöst? hatte gehofft, das Gleiche zu tun. – mlenner

+0

wäre Kinesis in der Lage dies zu tun? – yegeniy