kakakakakku blog

Weekly Tech Blog: Keep on Learning!

月曜朝から AWS を学べる最高の勉強会「JAWS-UG 朝会 #3」に参加してきた

今日は朝 7:30 から「JAWS-UG 朝会 #3」に参加してきた!出勤前に開催される勉強会って個人的には初だったけど,早起きできるし,スッキリした時間帯にインプットができるし,最高なのでは?という感じだった.何よりも,朝から意識が高まって,気持よく仕事モードに切り替えられたのは良かった.もっと朝勉強会が増えたら良いなと期待してる.

jawsug-asa.connpass.com

テーマ

今回のハンズオンテーマは「AWS CLI を使って SNS / Lambda を連携する BluePrint を動かす!」だった.Lambda を管理コンソールで見ると表示される "sns-message : An Amazon SNS trigger that logs the message pushed to the SNS topic." を管理コンソール無しで実装していくという感じで,簡単に図を描いてみた.

f:id:kakku22:20160620111313p:plain

資料

ハンズオン資料は全て Qiita にまとまっていて,クオリティが高かった.特に CLI を使う上で,事前確認と事後確認のためのコマンドも詳細に書かれていて,ミス無く進められるように作られている点に驚いた.

qiita.com

qiita.com

qiita.com

qiita.com

学んだことなど

add-permission

Lambda 関数から SNS にアクセスできるようにパーミッションを付与する必要がある.トピック単位ではなく SNS に対するパーミッションで良い.出社してから復習をしながら管理コンソールで動作確認をしてみたけど,該当する設定は無さそうだった.ハンズオン中にも話題になっていて,既に開発サイドにリクエストはして頂いているとのこと.

$ aws lambda add-permission \
  --function-name sns-message-20160620 \
  --statement-id AllowSNS \
  --action lambda:InvokeFunction \
  --principal sns.amazonaws.com

fileb://code.zip

CLI から ZIP をアップロードする場合 --zip-file オプションを使う.そのときにプロトコルは fileb:// とする必要がある.一瞬 typo かと思ったけど.ドキュメントにもちゃんと書いてあった.

$ ~ aws lambda create-function \
  --function-name sns-message-20160620 \
  --description 'An Amazon SNS trigger that logs the message pushed to the SNS topic.' \
  --zip-file fileb://sns-message-20160620.zip \
  --runtime python2.7 \
  --role arn:aws:iam::111:role/lambdaBasicExecution \
  --handler sns-message-20160620.lambda_handler

空振り対応

ハンズオン後の自己紹介 & 雑談の場で「Lambda の空振り対応に対する課題が残っていて,もっとクリティカルなシステムに導入した事例やベストプラクティスが出ると良いかも」という話があった.個人的に Lambda って言うと AdRoll の事例など,大規模トラフィックも既に受けている認識で,十分安定してるのかと思ってたから,なるほどなー!という感じだった.

tech.adroll.com

お掃除も CLI でやった

「管理コンソールを使って良いのは中学生まで(笑)」って話もあったし,お掃除も CLI でやった.環境変数はハンズオン資料の前提で書いている.

$ aws sns delete-topic \
  --topic-arn ${SNS_TOPIC_ARN}

$ aws lambda delete-function \
  --function-name ${LAMBDA_FUNC_NAME}

前日までに準備しておくこと

僕は今回,第3回にして初参加だったけど,全然問題無かった.ただハンズオン後の自己紹介を聞いていたら皆勤賞の人も多かったし,参加者の人に聞いたら「実は第0回もあったんですよ!」とのことで,今まで参加してなかったことを悔やむw

初参加だとしても,セットアップ的な部分に時間は割けないし,ハンズオンも比較的スピード感を持って進んでいくので,事前に最低限の準備はしておく必要があると感じた.ザッと挙げておく.ちなみに IAM に関してはハンズオン用に広めに権限を付与しておくけど,使わなくなったら消しておくこと!

まとめ

冒頭に書いた通り「JAWS-UG 朝会」最高なのでは?と感じた.次回 7/25 の募集も既に開始されているから急ぐべし!ちなみに今日は時間に余裕を持って到着したのに「アルコタワー」と「アネックス」を間違えていて,遅刻するというミスをした.正しくは目黒駅前の坂を降りて雅叙園の隣のビルだった!次回は絶対間違えないようにしないと...w

あと Lambda の話で言うと,早く Ruby ランタイムがリリースされないかなー!なんて期待している.本日はありがとうございました!

jawsug-asa.connpass.com

去年 Lambda で遊んだときに書いた記事

kakakakakku.hatenablog.com