GNU/Linux >> Znalost Linux >  >> Linux

Jak používat Cloudformation k vytváření front SQS na AWS

AWS Simple Queue Service (SQS) je plně spravovaná služba řazení zpráv, která nám umožňuje oddělovat a škálovat mikroslužby, bezserverové aplikace a distribuované systémy. Pomocí SQS můžeme odesílat, ukládat a přijímat zprávy mezi softwarovými komponentami, aniž bychom o ně přišli. AWS SQS nabízí dva typy front zpráv, standardní fronty a fronty FIFO. Chcete-li se dozvědět více o frontách SQS, vyhledejte „Jak vytvořit frontu SQS na AWS?“ článek.

AWS CloudFormation nám umožňuje používat programovací jazyky (yaml/json) nebo jednoduchý textový soubor k modelování a poskytování všech zdrojů potřebných pro naše aplikace. To nám poskytuje jediný zdroj pravdy pro naše zdroje AWS.

V tomto článku se podíváme na kroky k vytvoření standardní fronty a fronty FIFO pomocí Cloudformation Stack.

Předpoklady

  1. Účet AWS (vytvořte si jej, pokud jej nemáte).
  2. Základní pochopení Cloudformation Stack.
  3. Základní porozumění frontám SQS.

Co budeme dělat?

  1. Přihlaste se do AWS.
  2. Vytvořte Standardní frontu pomocí Cloudformation Stack
  3. Vytvořte frontu FIFO pomocí Cloudformation Stack

Přihlaste se do AWS

  1. Kliknutím sem přejdete na přihlašovací stránku AWS.

Když klikneme na výše uvedený odkaz, uvidíme následující webovou stránku, kde se musíme přihlásit pomocí našich přihlašovacích údajů.

Jakmile se úspěšně přihlásíme do AWS, uvidíme hlavní konzoli se všemi uvedenými službami.

Vytvoření Standardní fronty pomocí Cloudformation Stack

Než přistoupíme k vytvoření standardní fronty, zkopírujte kód z následujícího bloku nebo si stáhněte šablonu odtud a uložte ji na místní počítač. Tato šablona bude vyžadována při vytváření Cloudformation Stack.

---AWSTemplateFormatVersion:'2010-09-09'Popis:Tento zásobník vytvoří standardní QueueParameters:DelaySeconds:Popis:"Čas v sekundách, po který je zpožděno doručení všech zpráv ve frontě" Typ:Číslo Výchozí:'5' MaximumMessageSize:Typ:Číslo Popis:"Limit počtu bajtů, které může zpráva obsahovat, než ji Amazon SQS odmítne" Výchozí:'262144' MessageRetentionPeriod:Popis:"Počet sekund, po které Amazon SQS uchovává zprávu." Typ:Číslo Výchozí:'345600' ReceiveMessageWaitTimeSeconds:Popis:"Uvádí dobu v sekundách, po kterou volání akce ReceiveMessage čeká, dokud není zpráva ve frontě, aby ji bylo možné zahrnout do odpovědi" Typ:Číslo Výchozí:'0' UsedeadletterQueue:Popis:"Fronta nedoručených zpráv je fronta, na kterou se mohou ostatní (zdrojové) fronty zaměřovat na zprávy, které nelze úspěšně zpracovat (spotřebovat." Typ:Řetězec PovolenéHodnoty:- 'true' - 'false' Výchozí:'false' VisibilityTimeout:Popis:"To by mělo být delší než doba, kterou by trvalo zpracování a odstranění zprávy" Typ:Číslo Výchozí:'5'Mapování:{}Podmínky:CreateDeadLetterQueue:Fn::Equals:- Ref:UsedeadletterQueue - 'true'Resources:SQSQueue:Typ:AWS::SQS::Queue Vlastnosti:ZpožděníSeconds:Ref:ZpožděníSeconds:Ref:DelaySecondsMessage:Ref.SecondsMessage MaximumMessageSizeSizeSizeSizeSizeSize :Ref:ReceiveMessageWaitTimeSeconds RedrivePolicy:Fn::If:- CreateDeadLetterQueue - deadLetterTargetArn:Fn::GetAtt:- MyDeadLetterQueue - Arn maxReceiveCount:5 - Ref:AWS::NoValue Ref.Queue Viditelnost:Doba viditelnosti:Con. SQS::QueueOutputs:QueueURL:Popis:URL vytvořené hodnoty SQS:Ref:SQSQueue QueueARN:Popis:ARN vytvořené hodnoty SQS:Fn::GetAtt:- SQSQueue - Arn QueueName:Popis:Název vytvořené hodnoty SQS:Fn::GetAtt:- SQSQueue - QueueName DeadLetterQueueURL:Podmínka:CreateDeadLetterQueue Popis:URL fronty nedoručených dopisů Hodnota:Ref:MyDeadLetterQueue DeadLetterQueueARN:Podmínka:CreateDeadLetterQueue Popis:ARNQueFueue:Hodnota ARN:ARNFeuDeadG - ARNARN:ARNFeuDeadG 

Chcete-li vytvořit standardní frontu pomocí Cloudformation Stack, klikněte na "Služby" v horní liště nabídek a vyhledejte "Cloudformation".

Na hlavním panelu pro Cloudformation klikněte na "Vytvořit zásobník" a vytvořte zásobník.

Chcete-li nahrát šablonu z místního počítače, klikněte na přepínač „Nahrát soubor šablony“ a klikněte na „Další“.

Zadejte název zásobníku, který se má vytvořit, a vyplňte požadované údaje nebo pokračujte s výchozími hodnotami a klikněte na „Další“.

Specifikujte tag, který lze použít na SQS při jeho vytvoření, a klikněte na "Další".

Posuňte stránku dolů a klikněte na tlačítko „Vytvořit zásobník“, abyste vytvořili zásobník, který vytvoří standardní frontu.

Stav můžete vidět v části Události. Jakmile se stav zásobníku změní na „CREATE_COMPLETE“, znamená to, že fronta byla vytvořena.

Klikněte na "Služby" a vyhledejte "SQS", abyste viděli, zda byla fronta vytvořena nebo ne.

Na hlavním panelu SQS můžete vidět, že fronta byla vytvořena a název přidělený frontě je název zásobníku Cloudformation s nějakým náhodným řetězcem přípon, důvodem je, že jsme v zásobníku neuvedli název fronty.

Vytvoření fronty FIFO pomocí Cloudformation Stack

Než přistoupíme k vytvoření fronty FIFO , zkopírujte kód z následujícího bloku nebo si stáhněte šablonu zde a uložte ji do místního systému.

---AWSTemplateFormatVersion:'2010-09-09'Popis:Tento zásobník vytvoří FIFO QueueParameters:ContentBasedDeduplication:Popis:Určete, zda povolit deduplikaci založenou na obsahu Typ:Řetězec AllowedValues:- 'true' - 'false' Výchozí :'true' QueueName:Popis:Tento zásobník připojí .fifo na konec názvu fronty. Typ:String DelaySeconds:Popis:"Čas v sekundách, po který jsou doručeny všechny zprávy ve frontě" Typ:Číslo Výchozí:'5' MaximumMessageSize:Typ:Číslo Popis:"Limit počtu bajtů, které může zpráva obsahovat předtím Amazon" Výchozí:'262144' MessageRetentionPeriod:Popis:"Počet sekund, po které Amazon SQS uchovává zprávu." Typ:Číslo Výchozí:'345600' ReceiveMessageWaitTimeSeconds:Popis:"Uvádí dobu v sekundách, po kterou volání akce ReceiveMessage čeká, dokud není zpráva ve frontě, aby ji bylo možné zahrnout do odpovědi" Typ:Číslo Výchozí:'0' UsedeadletterQueue:Popis:"Fronta nedoručených zpráv je fronta, na kterou se mohou ostatní (zdrojové) fronty zaměřovat na zprávy, které nelze úspěšně zpracovat (spotřebovat." Typ:Řetězec PovolenéHodnoty:- 'true' - 'false' Výchozí:'false' VisibilityTimeout:Popis:"To by mělo být delší než doba, kterou by trvalo zpracování a odstranění zprávy" Typ:Číslo Výchozí:'5'Mapování:{}Podmínky:CreateDeadLetterQueue:Fn::Equals:- Ref:UsedeadletterQueue - 'true'Zdroje:SQSQueue:Typ:AWS::SQS::Queue Vlastnosti:ContentBasedDeduplication:Ref:ContentBasedDeduplication:Ref:ContentBasedDeduplication:Fintruee Queue:FifoQue :- '' - - Ref:QueueName - ".fifo" MaximumMessageSize:Ref:MaximumMessageSize MessageRetentionPeriod:Ref:MessageRetentionPeriod ReceiveMessageWaitTimeSeconds:Ref:ReceiveMessageWaitTimeSeconds RedrivePolicy:Fn::Ife:Fettere:LetterDeadLetterAt maxReceiveCount:5 - Ref:AWS::NoValue VisibilityTimeout:Ref:VisibilityTimeout MyDeadLetterQueue:Podmínka:CreateDeadLetterQueue Type:AWS::SQS::Queue Properties:FifoQueue:'true' QueueName:Fn::Join:- '' - - Ref:QueueName.Outfi QueueURL:Popis:URL vytvořené hodnoty SQS:Ref:SQSQueue QueueARN:Popis:ARN vytvořené hodnoty SQS:Fn::GetAtt:- SQSQueue - Arn QueueName:Popis:Název vytvořené hodnoty SQS:Fn::GetAtt:- SQSQueue - QueueName

Vraťte se zpět na hlavní panel Cloudformation a postupujte podle stejných kroků, které jsme použili při vytvoření standardní fronty.

Po vytvoření zásobníku můžete vidět, že fronta FIFO je připravena k použití. Zde vidíte, že fronta FIFO nemá nějaký náhodný řetězec, důvodem je to, že máme možnost v šabloně Cloudformation, kde můžeme zadat název fronty, která se má vytvořit.

Pokud již fronty nejsou potřeba, lze je odstranit odstraněním Cloudformation Stack z hlavního panelu.

Závěr

V tomto článku jsme viděli kroky k vytvoření standardní fronty a fronty FIFO pomocí Cloudformation Stack.


Linux
  1. Jak používat příkaz mkdir k vytvoření nebo vytvoření adresáře Linux

  2. Jak vytvořit roli IAM v AWS pomocí Terraform

  3. Jak používat AWS CLI ke správě Amazon S3

  1. Jak vytvářet a používat vlastní fakta v Ansible

  2. Spravujte fronty AWS SQS pomocí aws-cli

  3. Jak používat Cloudformation k vytvoření VPC na AWS

  1. Jak vytvořit obraz Amazon Machine Image (AMI) a použít jej na AWS

  2. Jak vytvořit statický web na AWS S3 Bucket

  3. Jak vytvořit nástroj pro vyrovnávání zatížení sítě na AWS