omuronの雑記

個人的な備忘録

「JAWS-UG 初心者支部&千葉支部 #26 新人さん歓迎!ハンズオン&LT(オンライン)」参加

今日はこの勉強会です。

jawsug-bgnr.connpass.com

ハッシュタグ#jawsug_bgnr

AWS歴10年目ぐらいの永遠の初心者なので参加しました。 勉強会色々参加してますが、Amazon Chime 使うのは AWS の中の人との打合せや JAWS イベントぐらいで、それ以外では使ったことがない。AWS Chime が使えるのも AWS なイベントならではですね。

JAWS-UG 初心者支部&千葉支部 #26 新人さん歓迎!ハンズオン&LT(オンライン)

サーバーレスクイックスタート: 手を動かしながら学ぶサーバーレスはじめの一歩

資料

speakerdeck.com

ソース

GitHub - ketancho/aws-serverless-quick-start-hands-on: "サーバーレスクイックスタート: 手を動かしながら学ぶサーバーレスはじめの一歩" のサンプルコードです

「ソースは資料からコピーをするとスペースが重要な Python では正しくコピーができない可能性があるため、GitHub からとっておきましょう。」とのこと。

git clone git@github.com:ketancho/aws-serverless-quick-start-hands-on.git

LT1 モリサワの伊藤さん

資料

speakerdeck.com

ソース

GitHub - michimani/jaws-ug-bgnr-24-homework: JAWS-UG 初心者支部#24 サーバレスハンズオン勉強会 にて宿題となっていた 文字起こし + 翻訳 パイプライン を構築するための CDK プロジェクトです。

AWSコンソールじゃなくて、違う方法(CDKやaws cli)も試してみよう」とのこと。

LT2 クラスメソッドのbatchiさん

クラスメソッドの千葉さん(埼玉出身)。 アウトプットのお話でした。5年AWSやってて、9冠なのに「AWSいまだにわからん」。 これは「完全に理解した」の向こうの世界の人の言葉だ。 「アウトプットによる情報発信をしましょう!」とのこと。 前回参加して宿題をやった結果をアウトプットしたお話でした。 こちらは前回のアウトプット。

dev.classmethod.jp

LT3 千葉支部運営の和田さん

iret の中の人の「サーバーレスLT-Lambdaって課金されるの?〜非同期処理でちょっとやらかした話」。 「無限ループとかでLambdaにありえないか金額がきた。」とのこと。 テスト大事。監視大事。

ハンズオン 1 , 2 を SAM でやってみる

AWSコンソールじゃなくて、違う方法(CDKやaws cli)も試してみよう」とのことなので、SAM でやってみる。 REST API 書くなら、 API Gateway + Lambda が一発でできるのでフレームワーク利用が楽ですね。 自分的には、コンソールよりも SAM のほうが楽なので手を抜きたかったというのもあります。

環境構築

git clone したディレクトリで環境構築。 sam init はすべてデフォルトとの 1 。 これで、 API Gateway + Lambda の雛形できあがり。

$ sam init --runtime python3.7 --name hello

ハンズオン1

ソースコピー

$ cp src/translate-function.py hello/hello_world/app.py

IAM 設定

$ cd hello/
$ vi template.yaml 

20行目の Lambda 内に追加

      ## ポリシー追加
      Policies:
        - arn:aws:iam::aws:policy/TranslateFullAccess

ビルドしてデプロイ。

$ sam build
$ sam package --s3-bucket <適当なバケット> --output-template-file packaged.yaml
$ sam deploy --template-file packaged.yaml --stack-name <適当なスタック名> --capabilities CAPABILITY_IAM

ハンズオン2

ソースコピー

$ cp ../src/translate-function-with-apigw.py ./hello_world/app.py

ビルドしてデプロイ。

$ sam build
$ sam package --s3-bucket <適当なバケット> --output-template-file packaged.yaml
$ sam deploy --template-file packaged.yaml --stack-name <適当なスタック名> --capabilities CAPABILITY_IAM

SAM だけ追加したソース

GitHub - omuron/aws-serverless-quick-start-hands-on: "サーバーレスクイックスタート: 手を動かしながら学ぶサーバーレスはじめの一歩" のサンプルコードです

所感

プレミアパートナーに並んで LT やった伊藤さんすごい。