Slide 1

Slide 1 text

"84SFJOWFOU ৼΓฦΓ "84-BNCEBͷΞοϓσʔτΛத৺ʹ KBXTVH KBXTVHDIJCB JAWS-UG 千葉 オンライン #9

Slide 2

Slide 2 text

ࠓ೔࿩͢͜ͱ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • ⾃⼰紹介 • ラスベガスに⾏きたかった2020 • (初めてちゃんと参加した)AWS re:invent 2020 • 気になったサービス・アップデートについて • AWS Lambdaのアップデートをちょっと深掘り

Slide 3

Slide 3 text

⾃⼰紹介 ⽒名:和⽥ 健⼀郎 @Keni_W アイレット株式会社 エンジニア 好きなAWSサービス: AWS Lambda 2020年共著で本書きました。 SORACOM UGコアメンバー JAWS-UG 千葉 運営メンバー

Slide 4

Slide 4 text

ラスベガスに⾏きたかった2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB Facebookとかで流れてくる ラスベガスの写真を⾒て、 来年は(2020)はラスベガス⾏きたいなー。 社内稟議あげてもらおうかなー と思った2019年冬

Slide 5

Slide 5 text

ラスベガスに⾏きたかった2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB (当初予定だと)re:inventの直前に F1のアブダビGPがあるから、 それ⾒てから⾏く(⼤⻄洋経由でした)とか 妄想した2019年

Slide 6

Slide 6 text

ラスベガスに⾏きたかった2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB すべて、 COVID-19 でパーになりました! (>_<)

Slide 7

Slide 7 text

ラスベガスに⾏きたかった2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 嗚呼、re:invent & ラスベガス。。。

Slide 8

Slide 8 text

ラスベガスに⾏きたかった2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB その代わりにオンラインで開催された AWS re:invent 2020。

Slide 9

Slide 9 text

ラスベガスに⾏きたかった2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 嬉しいやら、悲しいやら、 初参加のAWS re:inventとなりました。

Slide 10

Slide 10 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 主にAsia/Pacificの向け時間帯で セッションを視聴していましたが。。。

Slide 11

Slide 11 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 結論 : ⾃分の英語読解⼒の無さよ。。。

Slide 12

Slide 12 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB キーノートを含め、 英語セッション、結構視聴しましたが、 全然わかりませんでした。 表⽰されている資料をみて、 なんとなく理解する感じ。。。

Slide 13

Slide 13 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB

Slide 14

Slide 14 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB CTOのWerner Vogels⽒の 砂糖⼯場内を歩きながらプレゼンするという めっちゃかっこいいキーノートは、 ほぼ⾒てただけです。

Slide 15

Slide 15 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB AWSJ⻲⽥さんが 12⽉のre:invent期間中の ⽔曜⽇から⾦曜⽇のお昼にやってた AWS on Airはめっちゃ助かりました。

Slide 16

Slide 16 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB Toriさんが 毎週⾦曜⽇にやってた 「[ライブ配信] 毎週⾦曜 & 3週連続! re:Invent コンテナ関連アナウンスを⼀気に おさらい!」も助かりました。 https://aws-container.connpass.com/event/197536/

Slide 17

Slide 17 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB こんなことを書いている間に、 クラメソさんのブログにこんな記事が!

Slide 18

Slide 18 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB おおおおおおおっ。 https://dev.classmethod.jp/articles/reinvent-2020-support-japanese-subtitles/

Slide 19

Slide 19 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB もう1回みてみます!(ほんとか?)

Slide 20

Slide 20 text

(初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 2回ぐらいクリアしたけど、 申し込みのメール来ませんでした。残念。 問い合わせ先メモるの忘れたってのもあるんですけど。。。w

Slide 21

Slide 21 text

気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB ここからは、個⼈的に気になった。 サービス・アップデートについて まとめてみます。

Slide 22

Slide 22 text

気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB その1 EC2 Mac インスタンス

Slide 23

Slide 23 text

気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB いや、まじか?って思いましたね。 しかも⼤量のMac miniを DCに並べてっていう、ある意味⼒技。

Slide 24

Slide 24 text

気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB その2 ECS/ECS Anywhere

Slide 25

Slide 25 text

気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 「re:Invent コンテナ関連アナウンスを⼀気にお さらい!」でToriさんが、 家のラズパイでEC2のタスクを動かしているとい う話を聞いて、ラズパイでいいんか!ってちょっ と感動。

Slide 26

Slide 26 text

気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB その3 AWS CloudShell

Slide 27

Slide 27 text

気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 発表されて、試してみましたが、 ハンズオンとかCloudShell上で できそうですね。

Slide 28

Slide 28 text

気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB ちなみに、 弊社(アイレット)で聞いてみたところ。。。

Slide 29

Slide 29 text

気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • S3の強い整合性 • Amazon DevOpsGuru • AWS Fault Injection Simulator • AWS Cloudshell

Slide 30

Slide 30 text

AWS Lambdaのアップデートをちょっと深掘り +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB ここからは気になった Lambdaのアップデートをご紹介。

Slide 31

Slide 31 text

AWS Lambdaのアップデートをちょっと深掘り +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Lambda Extensions • Container Support • Lambda Extensions • 課⾦が1ms単位に • 最⼤メモリが10G

Slide 32

Slide 32 text

AWS Lambdaのアップデートをちょっと深掘り +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB Lambda Extensions

Slide 33

Slide 33 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 使い慣れたモニタリング、オブザーバビリティ、 セキュリティ、ガバナンスツールをLambdaと 簡単に統合するための新たな⼿段(公式より抜 粋) • 今の所、Datadog、New Relic、SumoLogic、 AWS AppSyncなどが対応済み。 AWS Lambdaのアップデートをちょっと深掘り

Slide 34

Slide 34 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB ってことで、試してみました。 AWS Lambdaのアップデートをちょっと深掘り

Slide 35

Slide 35 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Datadog Lambda 拡張機能 (プレビュー) というサイトを参考に実施。。。 (https://docs.datadoghq.com/ja/serverless/datadog_lambda_library/extension/) • ⽇本語版サイトがちょっとバージョン古い 問題に当たる。 AWS Lambdaのアップデートをちょっと深掘り

Slide 36

Slide 36 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 設定⾃体は、LayerにExtensions⽤の DatadogライブラリのLayerといくつかの 環境変数を設定すればOK。 • AWS Lambda Runtime Logs APIが内包さ れている(Layerバージョン4から)ので、 CW Logsにログ吐き出さないLambdaを 作っても、Datadogにはログが送られる。 AWS Lambdaのアップデートをちょっと深掘り

Slide 37

Slide 37 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • メモリーはユーザー作成の関数と共有され るので、128MBだと、Used Memoryが 128MBになったしたので、、128MB以上 にしたほうが良さげ。 • Extensions使ってても、CWのメトリクス を凄まじい勢いで取りに来るので、使って る時は取りに来ない設定とかできたら嬉し いけど、Lambda特化になっちゃうな感。 AWS Lambdaのアップデートをちょっと深掘り

Slide 38

Slide 38 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • クラメソさんがブログ書いていたので、そ れを参考に実施。 (https://dev.classmethod.jp/articles/newrelic-serverless-monitoring-with-lambda-extension/) • 公式ページも参考にしましたけれども。 AWS Lambdaのアップデートをちょっと深掘り

Slide 39

Slide 39 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Datadogよりは設定⾃体は簡単 • newrelic-lambda CLIという設定⽤のCLI があるので、それを実⾏すればいい。 • ただ、検証してた当時(12⽉初旬)、CLI⾃ 体にバグあって、CLIがコケて、その調査 に時間取られた。 AWS Lambdaのアップデートをちょっと深掘り

Slide 40

Slide 40 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • newrelic-lambda CLI使うと、newrelic- log-ingestionっていうLambda関数を作る けど、これいらんのでは?って思ってる。 AWS Lambdaのアップデートをちょっと深掘り

Slide 41

Slide 41 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • LambdaのColdStart時と死ぬときに、Extensionsで 処理が⾏われてます。 AWS Lambdaのアップデートをちょっと深掘り

Slide 42

Slide 42 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 画⾯はこんな感じ。左がExtensions利⽤ AWS Lambdaのアップデートをちょっと深掘り

Slide 43

Slide 43 text

AWS Lambdaのアップデートをちょっと深掘り +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB Container Support

Slide 44

Slide 44 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • コンソールでのコード書きこみ、Zipでのアッ プロードに続き、第3のデプロイ⼿段。 • ECRにPushしたイメージを使って、Lambdaを デプロイ。 • ユースケースとしては、ローカルでDockerで開 発して、そのままLambdaにデプロイする。⼤ きいパッケージをインストールしてそのまま 持っていく(コンテナサイズは最⼤10Gまで OK)。 AWS Lambdaのアップデートをちょっと深掘り

Slide 45

Slide 45 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • AWSが⽤意しているイメージ(Base Image)は、 現在Lambdaで利⽤可能なランタイムは全部 揃っているほか、カスタマイズ⽤にAmazon Linux、Amazon Linux2のイメージもある。 • それ以外にも、⾃分でイメージを⽤意して使う こともできる。 AWS Lambdaのアップデートをちょっと深掘り

Slide 46

Slide 46 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB とりあえず試してみた。あえて、Javaで。 AWS Lambdaのアップデートをちょっと深掘り

Slide 47

Slide 47 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB AWS Lambdaのアップデートをちょっと深掘り https://qiita.com/keni_w/items/112114eff2ccffed94fb

Slide 48

Slide 48 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 他にユースケースないかなー って探したところ。。。 AWS Lambdaのアップデートをちょっと深掘り

Slide 49

Slide 49 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB ありました! AWS Lambdaのアップデートをちょっと深掘り

Slide 50

Slide 50 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB (宣伝) AWS Lambdaのアップデートをちょっと深掘り

Slide 51

Slide 51 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB CHAPTER 06に、 AWS Transfer for SFTPを使ったバッチシステム という構築例が掲載されています。 AWS Lambdaのアップデートをちょっと深掘り

Slide 52

Slide 52 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB Lambdaのコード⾃体、Pythonで書かれているの ですが、SSH接続の際、Paramikoというモ ジュールを使うのですが。。。 AWS Lambdaのアップデートをちょっと深掘り

Slide 53

Slide 53 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 本にも記載してある通り、 ⼀部OSに依存しているため、 Lambdaが動く環境、 つまりAmazon Linux1/2内で paramikoモジュールを ビルドする必要があります。 AWS Lambdaのアップデートをちょっと深掘り

Slide 54

Slide 54 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 1. EC2内orDockerコンテナを起動 2. ログイン 3. コードを配置 4. paramikoをビルド 5. zipで固めてアップロード AWS Lambdaのアップデートをちょっと深掘り

Slide 55

Slide 55 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 1. Dockerファイルを記載 2. コードをローカルで準備 3. コンテナをビルド 4. ビルドしたコンテナをECRにアップロード AWS Lambdaのアップデートをちょっと深掘り

Slide 56

Slide 56 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB Dockerfileの記載としてはこんな感じです。 --------------------------------------------------------- FROM public.ecr.aws/lambda/python:3.8 RUN pip install paramiko -t . RUN pip install pymysql -t . COPY lambda_function.py ${LAMBDA_TASK_ROOT} CMD [ "lambda_function.handler" ] --------------------------------------------------------- AWS Lambdaのアップデートをちょっと深掘り

Slide 57

Slide 57 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB せっかくなので、Demoしてみます。 初Demoなので、失敗したらごめんなさい。 (時間がなかったら割愛) AWS Lambdaのアップデートをちょっと深掘り

Slide 58

Slide 58 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • JavaとかGoとかコンパイル必須なランタイムで もつかえるのでは。 • Classファイルの形で配置する必要ありなので VS CodeのRemote Containerで開発して、そ のまま持ってくとかなのかな? • Qiitaにはコンテナ内でビルドする例も載せてあ ります。どうなのって話はありそう。 AWS Lambdaのアップデートをちょっと深掘り

Slide 59

Slide 59 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB AWS Lambdaのアップデートをちょっと深掘り • ColdStart時の起動料⾦も課⾦対象なのでinit処 理は短めになるようにしたほうがいいですね。

Slide 60

Slide 60 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 課⾦が1ms単位。これは地味に効いているぽい。 ただ、現在、Lambdaを個⼈利⽤つかっていま すが、無料枠を超えることがない。。。 AWS Lambdaのアップデートをちょっと深掘り

Slide 61

Slide 61 text

+"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • メモリ10G対応。そもそもそんなにメモリー使 うLambdaを作ったことがなく。。。 • 10Gだと、6Coreまで使えるので、家のPCより ⾼性能?! AWS Lambdaのアップデートをちょっと深掘り

Slide 62

Slide 62 text

まとめ&今年に向けて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Lambdaのアップデートに関しては、数は 多くなかったものの、重要なアップデート だったかな。 • Lambda以外にもAPIGWなど、サーバーレ スでアップデートあったので、その辺含め て来週AWSJさん主催のサーバーレス re:capがあるので、改めて勉強する予定。 • 本アップデートしたい。

Slide 63

Slide 63 text

まとめ&今年に向けて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • わかっていたけど、英語読解⼒はつけない とな。。。 • ECS AnywhereとかMacインスタンスとか ⾊々試してみたいものが出てきました。 • 今年は(も)Containerと FrontEnd(Amplify)が強化⽬標です。

Slide 64

Slide 64 text

まとめ&今年に向けて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 今年もきっとオンラインっぽいので、オー ト⾃動翻訳とか作らないとダメかな。。。 • 試している⼈いたのでなんで、それを真似る感じ • AWSが作って出してくれるんじゃない感はあり • COVID-19の猛威がなくなって、少し旅が し易くなったらラスベガス⾏きたいです!

Slide 65

Slide 65 text

͓ΘΓ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB

Slide 66

Slide 66 text

͓ΘΓ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB ご静聴ありがとうございました