2016-10-26 4 views
0

Ich bin auf der Suche nach einer Möglichkeit, eine JSON-Datei mit Boto, die DNS-Einträge haben wird, und diese DNS-Einträge können in Route 53 so schnell wie möglich gemacht werden.Erstellen DNS-Einträge in Route 53 mit Boto

Schätzen Sie jede mögliche Hilfe, Richtung oder irgendetwas.

Vielen Dank im Voraus :)

+0

Mithilfe von aws CLI können wir eine Stapelanforderung wie hier dokumentiert durchführen (http://docs.aws.amazon.com/cli/latest/reference/route53/change-resource-record-sets.html) Versuchen Sie herauszufinden, wie dies mit Boto tun? –

+0

Wenn Sie bereits eine JSON-Datei haben. Warum machst du es nicht mit CloudFormation? – Ali

+0

Eigentlich würde ich gerne ein Skript sagen alle 30 Sekunden und sehen, ob es neue Maschinen hochskaliert, die bis zu 100 gehen können, dann für alle diese hochskalierten Maschinen, erstellen Sie eine JSON - Datei mit Instanzdetails und machen DNS - Einträge in einem Batch-Anforderung statt sequenziell .... –

Antwort

0

Wenn Sie das Skript ausgeführt wird für alle 30 Sekunden zu halten leisten können, es ist großartig.

Sie können ein Python-Skript schreiben, das Folgendes ausführt.

  • Auslöser ein SNS Benachrichtigung für jede Instanz automatisch skaliert mit SQS Warteschlange Cloudwatch Metriken
  • Bind SNS verwenden.
  • Informationen aus der SQS-Warteschlange abrufen. (Instanz IP und Hostname)
  • Generieren Sie erforderliche Route53-Datensätze mit den Informationen entsprechend Ihrer Anforderung.
  • Wenn die Instanz gelöscht wird, werden die zugehörigen Datensätze entfernt.
+0

Dies ist der aktuelle Mechanismus, den wir bereits haben, aber es scheitert, da wir von Warteschlangen abhängig sind. Um 100 Maschinen zu vergrößern, braucht es viel Zeit. :( –

0

Wenn Ihr Ziel ist für neu erstellte Instanzen einen DNS-Eintrag hinzufügen möchten, dann könnten Sie haben die Instanzen registrieren sich.

Ein user data script kann automatisch ausgeführt werden, wenn eine Instanz zum ersten Mal gestartet wird. Dieses Skript könnte die AWS Command-Line Interface (CLI) rufen Sie einen neuen DNS-Eintrag in Route 53.

Das Skript folgendes tun würde, registrieren: mit dem gewünschten DNS

  • erstellen JSON-Datei CREATE Eintrag
  • Rufen Sie den Befehl aws route53 change-resource-record-sets

See: AWS CLI documentation for change-resource-record-sets

Allerdings müssten Sie Finden Sie eine Möglichkeit, DNS-Einträge zu löschen, wenn Instanzen beendet werden.

Verwandte Themen