AWS / PHP / Python ちょいメモ

amazon web service , PHP, Python を使ったときのメモ。日本語でググってもわからなかった事を中心に。

JAWS-UG CLI専門支部 SQSハンズオン オンライン参加

先日参加したハンズオンの続きで参加しました。

SQSをCLIで使ったのは初めてでしたが、シンプルなサービスだからか、思った以上に簡単に使えました。

152R SQS入門

jawsug-cli.connpass.com

事前準備は、ちゃんとやっておく

前回の失敗ポイントとして、事前準備がたりてなく Cloud9 の環境を作り上げられずでした。

前述のイベントページの中にある手順書「AWS CLI環境の構築」を、事前準備のところまで終わらせておきましょう。

Cloud9は aws-cli v1 を使うために構築しているので、EC2上のAmazon Linux2などでも大丈夫です。

dockerやMac上で作った環境でもいいですが、手順書の説明はIAMロールをベースにしているので、読み替え出来る方向けかな?

SQSの歴史

もともとは標準キューのみの提供。最近、FIFOキューが追加された。

  • 標準キュー
    • だいたい順番だけど、たまにちがう。
    • 大多数は、これでいいだろう
  • FIFOキュー
    • 名前の通り、パイプにはいってきたものが、はいってきた順番で外にでる

ジョブスケジューラなどに使うのが、手軽かつ、高パフォーマンス。

無限のキューを作れるということで、便利に使えるとのこと。なるほど。

ちなみに、S3よりも先にリリースされていた最古のサービスらしい。



仕組みとか使い方

サービスの特色で比較

  • SQS : PULL型
  • SNS : PUSH型


クラウドサービスは、疎結合にする上で、キューが重要になる。

  • 片方のグループから、もう片方のグループの情報を渡す
  • 送る側
    • キューの入り口のみ
  • 受け取る側
    • キューに溜まったものを順番にまってる

ポイントは、「キューをはさんで、キューの自分側だけをみていればいい」。

相手側はどーしてるかは、見なくても良い構造がとれ、キューを挟んだ疎結合となる。

キャッチアップのオススメ

  • まずGetting Startedがおすすめ
  • AWS公式ドキュメント
  • よくある質問 を読む
    • これがけっこうばかにならない。
    • DeveloperDocumentにないものがあったり。試験対策にもゆうこうだったり

AWS CLIで出来ることは、やったほうが、公式サポートも受けやすい。なるほど。

いっそ月100USDの技術サポートを使うのも、やり込む時は一つだなと思った。

ハンズオンのポイント


波田野さんの資料は、1手順1Terminalで作ってある。

確かに環境変数やシェル変数の準備が全ての手順にあるので、便利。

とりあえず、オンラインでは、コマンド打ちまくって、そのTerminal残しておいて、後から振り返りたいところはタブに戻って確認。

って使い方をしてみた。

関連

変数

あらためて調べた事。

手順書がきちんとしてて、新たな学びが多かった。


SQS エンドポイント URL の違い

ハンズオン中に話題にあがって調べたこと。

なお本ブログでは、下記のバージョンのAWS CLIで検証を行っています。(2019/03/03時点で最新)
...
SQSのAPIエンドポイントには実は2種類あります。
かつて使われていたエンドポイント(以下、レガシーエンドポイント)と、新しいエンドポイント(以下、現行エンドポイント)です。

レガシーエンドポイント: ap-northeast-1.queue.amazonaws.com
現行エンドポイント: sqs.ap-northeast-1.amazonaws.com

歴史の長いサービスは、このような大きな変更も発生するので、キャッチアップ大事ですね。

このあたりのやり取りを、すべてチャットから組み上げて対話していただける、素晴らしいハンズオンでした。


その他

今後予定されてる IAMハンズオンも気になるなー

マネージメントコンソールでは、それなりに使えてると思うのだけど、CLIで設定できたら、もっと楽になりそう。


最後に、講師の方が過去に出した資料を教えてもらったので、また時間があったらのぞいてみようと思います。