Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWSCLIでAmazonSQSのデッドレターキューを設定してみた

 AWSCLIでAmazonSQSのデッドレターキューを設定してみた

JAWS-UG CLI専門支部 #181R SQS入門 LT資料

Dc20c893cac0daddd607dfc9a5855d27?s=128

amarelo_n24

June 03, 2021
Tweet

Transcript

  1. AWS CLIでAmazon SQSの デッドレターキューを設定してみた 2021/6/3 JAWS-UG CLI専門支部 #181R SQS入門

  2. 1.はじめに 2.Amazon SQSの概要 3.デッドレターキューの設定 4.まとめ 話すこと

  3. 1.はじめに

  4. 自己紹介 氏名 :藤田 直幸 twitter:@amarelo_n24 ※ コーヒー焙煎人兼エンジニアと名乗ってます。 職場:都内にある企業の情報セキュリティ統制担当 資格:AWS認定クラウドプラクティショナー ソリューションアーキテクトアソシエイト

    ※現在、デベロッパーアソシエイトの勉強中 好きなAWSサービス:AWS CLI、AWS CloudShell、Cloud9 好きなコーヒー :ブラジル ブルボンアマレロ
  5. タイトル:Amazon SQSを勉強しなおしてみた ※資料はイベントページに掲載しています。 https://jawsug-asa.connpass.com/event/211381/ 先日、JAWS-UG 朝会 #21でSQSについて話しました。

  6. AWS CLI でのSQS設定について話しましたが、 資料作成時にデッドレターキューのコマンドでの 設定方法が分からなかったため、終了後調べなお しました。

  7. 今日はその成果を話したいと思います!!

  8. 2.Amazon SQSとは?

  9. ・フルマネージド型のメッセージキューイングサービス ・AWSサービスの中で最古のサービス(2004年サービスイン) ・システムやアプリケーションの疎結合化が可能 ・メッセージの配信順序を保証するFIFOキューと、配信順序の保証がない 標準キュー(デフォルト)がある。 ・プル型通信 ・ショートポーリング(即レス)とロングポーリング(指定時間経過後レス) がある。 ・AWS KMS(Key

    Management Service)と連携して、サーバ側の暗号化を することが可能 ・メッセージの最大容量は256KB (1)Amazon SQSとは?
  10. 3.デッドレターキューの設定

  11. 正しく処理できないメッセージをキュー内に残し続けないよう、 他のキューに移動させる機能。 デッドレターキューとは? プロデューサー コンシューマー 何らかの原因でメッセージを処理で きず、キューにメッセージが滞留し て最大受信数を超えたら、デッドレ ターキューに移動する。 デッドレターキュー

    キュー
  12. キュー設定画面にて、デッドレターキューを有効にする。 デッドレターキューとして使うキューと最大受信数を設定。 マネジメントコンソールでの設定箇所

  13. キューの属性RedrivePoricyにてJSON形式で保持している。 ・deadLetterTargetArn:デッドレターキュー用キューのARN ・maxRecieveCount:最大受信数 CLIで設定するには、この構造と同じJSONを読み取る必要がある。 デッドレターキューの設定構造

  14. 設定手順のすべてはZennに書きました。そちらをご覧ください🙇 ※Zenn初記事です。 AWS CLIでAmazon SQSのデッドレターキューを設定してみた https://zenn.dev/amarelo_n24/articles/e20da70629c77e 今回は手順の一部を話します。 手順説明の前に

  15. JSONファイルを作成 デッドレターキュー用キューのARN を指定

  16. --queue-url にデッドレターキュー設定をするキューを、 --attributes に作成したJSONを指定してコマンド実行。 エラーが返らなければ成功。 サブコマンドset-queue-attributesで設定

  17. サブコマンドget-queue-attributesで確認。 RedrivePolicy属性を確認

  18. 以下のようにJSON形式で返ってくれば、設定成功。

  19. マネコンでも設定確認 deadLetterTargetArnで指定した、 デッドレターキュー用キューのARN が表示されていることを確認 maxRecieveCountで設定した数が 表示されていることを確認。

  20. JSONファイルを作らない場合は、以下のように直にJSONを書いてコマンド実 行すれば同じ結果となる。 JSON部分をシングルクォーテーションで囲う必要がある。 ※AWS CLI ユーザーズガイドにも記載があります。 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-usage-parameters-quoting- strings.html ※余談

  21. 4.まとめ

  22. ・AWS CLIでのデッドレターキューの設定について話しました。 ・AWS CLIを使いこなすためにはLinuxの知識をつけることが大切。 ・AWS CLIユーザガイドを読む込むことも大切。 英語だからって読み飛ばさないことw まとめ

  23. ポケットスタディ AWS認定デベロッパーアソシエイト https://www.shuwasystem.co.jp/book/9784798063409.html AWS認定資格試験テキスト AWS認定ソリューションアーキテクトアソシエイト(初版の方) https://www.sbcr.jp/product/4815607388/ AWS開発者ガイド https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuid e/welcome.html AWS

    CLI Command Reference https://docs.aws.amazon.com/cli/latest/reference/sqs/ 参考文献
  24. None