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.
Beispiel: SQS, CloudWatch und SNS
In diesem Beispiel wird der Umgebung eine Amazon SQS-Warteschlange sowie ein Alarm für die Warteschlange hinzugefügt. In diesem Beispiel werden die mindestens erforderlichen Eigenschaften verwendet, die für jede Ressource eingerichtet werden müssen. Sie können das Beispiel unter SQS, SNS und CloudWatch
Anmerkung
Mit diesem Beispiel werden AWS-Ressourcen erstellt, für die möglicherweise Kosten anfallen. Weitere Informationen zu den Preisen von AWSerhalten Sie unter https://aws.amazon.com/pricing/
In diesem Beispiel gehen Sie wie folgt vor:
Erstellen Sie ein
.ebextensions
-Verzeichnis im Verzeichnis der obersten Ebene Ihres Quell-Bundles.Erstellen Sie zwei Konfigurationsdateien mit der Erweiterung
.config
und speichern Sie sie in Ihrem Verzeichnis.ebextensions
. Eine Konfigurationsdatei definiert die Ressourcen und die andere die Optionen.Stellen Sie Ihre Anwendung in Elastic Beanstalk bereit.
Für YAML sind konsistente Einrückungen erforderlich. Wählen Sie die entsprechende Einrückungsebene aus, wenn Sie Inhalte in einer Beispielkonfigurationsdatei ersetzen, und stellen Sie sicher, dass Ihr Texteditor Leerzeichen statt Tabulatorzeichen zum Einrücken verwendet.
Erstellen Sie eine Konfigurationsdatei (z. B. sqs.config), in der die Ressourcen definiert werden. In diesem Beispiel wird eine SQS-Warteschlange erstellt und die VisbilityTimeout
-Eigenschaft wird in der MySQSQueue
-Ressource definiert. Anschließend wird ein SNS-Topic
erstellt und angegeben, dass die E-Mail im Falle eines ausgelösten Alarms an someone@example.com
gesendet wird. Abschließend wird ein CloudWatch-Alarm erstellt, falls die Warteschlange mehr als zehn Nachrichten umfasst. In der Eigenschaft Dimensions
werden der Name der Dimension und der Wert, der die Maßeinheit der Dimension darstellt, angegeben. Hier wird Fn::GetAtt
für die Rückgabe des Werts QueueName
von MySQSQueue
verwendet.
#This sample requires you to create a separate configuration file to define the custom options for the SNS topic and SQS queue.
Resources:
MySQSQueue:
Type: AWS::SQS::Queue
Properties:
VisibilityTimeout:
Fn::GetOptionSetting:
OptionName: VisibilityTimeout
DefaultValue: 30
AlarmTopic:
Type: AWS::SNS::Topic
Properties:
Subscription:
- Endpoint:
Fn::GetOptionSetting:
OptionName: AlarmEmail
DefaultValue: "nobody@amazon.com"
Protocol: email
QueueDepthAlarm:
Type: AWS::CloudWatch::Alarm
Properties:
AlarmDescription: "Alarm if queue depth grows beyond 10 messages"
Namespace: "AWS/SQS"
MetricName: ApproximateNumberOfMessagesVisible
Dimensions:
- Name: QueueName
Value : { "Fn::GetAtt" : [ "MySQSQueue", "QueueName"] }
Statistic: Sum
Period: 300
EvaluationPeriods: 1
Threshold: 10
ComparisonOperator: GreaterThanThreshold
AlarmActions:
- Ref: AlarmTopic
InsufficientDataActions:
- Ref: AlarmTopic
Outputs :
QueueURL:
Description : "URL of newly created SQS Queue"
Value : { Ref : "MySQSQueue" }
QueueARN :
Description : "ARN of newly created SQS Queue"
Value : { "Fn::GetAtt" : [ "MySQSQueue", "Arn"]}
QueueName :
Description : "Name newly created SQS Queue"
Value : { "Fn::GetAtt" : [ "MySQSQueue", "QueueName"]}
Weitere Informationen zu den Ressourcen, die in dieser Beispielkonfigurationsdatei verwendet wurden, finden Sie unter folgenden Referenzen:
Erstellen Sie eine separate Konfigurationsdatei mit dem Namen options.config
und definieren Sie benutzerdefinierte Optionseinstellungen.
option_settings:
"aws:elasticbeanstalk:customoption":
VisibilityTimeout : 30
AlarmEmail : "nobody@example.com"
Mit diesen Zeilen wird Elastic Beanstalk angewiesen, die Werte für die Eigenschaften VisibilityTimeout und Subscription Endpoint aus den Werten VisibilityTimeout und Subscription Endpoint einer Konfigurationsdatei (in diesem Beispiel „options.config“) abzurufen. Diese enthält im Bereich „option_settings“ den Abschnitt aws:elasticbeanstalk:customoption mit einem Name-Wert-Paar, in dem sich der zu verwendende Wert befindet. Im obigen Beispiel werden folglich die Werte "30" und "nobody@amazon.com" verwendet. Mehr über Fn::GetOptionSetting
erfahren Sie unter Funktionen.