Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemple : SQS et CloudWatch SNS
Dans cet exemple, une file d'attente Amazon SQS et une alarme relative à la longueur de la file d'attente sont ajoutées à l'environnement. Les propriétés que vous voyez dans cet exemple correspondent aux propriétés minimales requises que vous devez définir pour chacune de ces ressources. Vous pouvez télécharger l'exemple sur SQS, SNS et
Note
Cet exemple crée AWS des ressources qui peuvent vous être facturées. Pour plus d'informations sur la AWS tarification, consultezhttps://aws.amazon.com/pricing/
Pour utiliser cet exemple, procédez comme suit :
Créez un répertoire
.ebextensions
dans le répertoire de niveau supérieur de votre bundle de fichiers source.Créez deux fichiers de configuration avec l'extension
.config
, puis placez-les dans votre répertoire.ebextensions
. Un fichier de configuration définit les ressources et l'autre fichier de configuration définit les options.Déployez votre application sur Elastic Beanstalk.
YAML utilise une mise en retrait cohérente. Respectez le niveau de retrait lorsque vous remplacez du contenu dans un exemple de fichier de configuration et veillez à ce que votre éditeur de texte utilise des espaces, et non des caractères de tabulation, pour la mise en retrait.
Créez un fichier de configuration (par exemple, sqs.config) qui définit les ressources. Dans cet exemple, nous créons une file d'attente SQS et définissons la propriété VisbilityTimeout
dans la ressource MySQSQueue
. Ensuite, nous créons une rubrique (Topic
) SNS et nous indiquons que l'e-mail doit être envoyé à someone@example.com
lorsque l'alarme se déclenche. Enfin, nous créons une CloudWatch alarme si la file d'attente dépasse 10 messages. Dans la propriété Dimensions
, nous spécifions le nom de la dimension et la valeur représentant la mesure de la dimension. Nous utilisons Fn::GetAtt
pour renvoyer la valeur de QueueName
à partir de MySQSQueue
.
#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"]}
Pour plus d'informations sur les ressources utilisées dans cet exemple de fichier de configuration, consultez les références suivantes :
Créez un fichier de configuration distinct nommé options.config
et définissez les paramètres d'option personnalisés.
option_settings:
"aws:elasticbeanstalk:customoption":
VisibilityTimeout : 30
AlarmEmail : "nobody@example.com"
Ces lignes indiquent à Elastic Beanstalk d'obtenir les valeurs des propriétés et du point de terminaison d'abonnement à VisibilityTimeout partir des valeurs VisibilityTimeout du point de terminaison d'abonnement dans un fichier de configuration (options.config dans notre exemple) qui contient une section option_settings avec une section aws:elasticbeanstalk:customoption contenant une paire nom-valeur contenant la valeur réelle à utiliser. Dans l'exemple ci-dessus, cela signifie que les valeurs 30 et « nobody@amazon.com » seraient utilisées. Pour plus d’informations sur Fn::GetOptionSetting
, consultez Fonctions.