2017-05-13 6 views
1

Momentan verwende ich Lambda, um meine Instanzen automatisch zu markieren/zu starten/zu stoppen. Aber ich finde, das scheint regionalspezifisch zu sein. Muss ich es in jeder Region bereitstellen, wenn ich in jeder Region das Gleiche machen möchte? Gibt es einen besseren Weg?Lambda, um Multi-Region-AWS-Änderungen/-Ereignisse zu überwachen

Selbst dann haben einige Regionen kein Lambda?

Antwort

3

Sie brauchen kein Lambda in jeder Region. Sie müssen nur die Region in Ihrem Service Config Objekt ändern, die wie folgt festgelegt werden können:

var ec2 = new AWS.EC2({region: 'eu-west-1'}); 

ODER

AWS.config.update({region:'eu-west-1'}); 

Sie benötigen ein Array zu verwenden, die aus allen Regionen, die Sie brauchen, um Überwachen Sie, durchlaufen Sie sie, stellen Sie die AWS-Konfiguration auf die Zielregion ein und führen Sie dann Ihre Operationen aus. Stellen Sie sicher, dass Sie die Region in der Konfiguration festlegen, bevor Sie Ihre Instanzen automatisch markieren/starten/stoppen, sodass die Vorgänge in der gewünschten Region ausgeführt werden.

+0

Dies ist nützlich, wenn ich möchte, dass mein Lambda auf die Ressource einer anderen Region zugreift, aber was ist mit den Auslösern? Ich verwende derzeit cloudwatch-Ereignisse, kann ich es konfigurieren, um alle Regionen zu überprüfen? Sieht so aus, als gäbe es dafür keine Option? –

+1

@JiewMeng Ich bin mir nicht sicher, was Ihre genaue Anforderung ist, aber die Auslöser und Ziele der Cloudwatch-Ereignisse sind regionalspezifisch. Ereignisse können nicht alle Regionen überprüfen. Sie können jedoch ein SNS-Thema als Ziel verwenden und diese Ereignisse behandeln. Das Thema könnte einen Dienst (http/https-Endpunkt, der die Ereignisse verarbeitet) als Abonnent haben. Eine andere Möglichkeit ist die Verwendung von SQS. Sie müssen dies jedoch in jeder Region replizieren. – user818510

+0

Wo ist diese Service-Konfiguration? Sprichst du über Boto3 oder was? – Suncatcher

Verwandte Themen