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

AWS re:invent 2020 振り返り-AWS Lambdaのアップデートを中心に- /jawsug-chiba9

AWS re:invent 2020 振り返り-AWS Lambdaのアップデートを中心に- /jawsug-chiba9

JAWS-UG 千葉 オンライン #9 発表資料です。

665aa20c57717b4f34d0635308d272f7?s=128

Kenichiro Wada

April 16, 2021
Tweet

More Decks by Kenichiro Wada

Other Decks in Technology

Transcript

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

  2. ࠓ೔࿩͢͜ͱ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • ⾃⼰紹介 • ラスベガスに⾏きたかった2020

    • (初めてちゃんと参加した)AWS re:invent 2020 • 気になったサービス・アップデートについて • AWS Lambdaのアップデートをちょっと深掘り
  3. ⾃⼰紹介 ⽒名:和⽥ 健⼀郎 @Keni_W アイレット株式会社 エンジニア 好きなAWSサービス: AWS Lambda 2020年共著で本書きました。

    SORACOM UGコアメンバー JAWS-UG 千葉 運営メンバー
  4. ラスベガスに⾏きたかった2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB Facebookとかで流れてくる ラスベガスの写真を⾒て、 来年は(2020)はラスベガス⾏きたいなー。 社内稟議あげてもらおうかなー

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

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

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

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

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

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

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

    ⾃分の英語読解⼒の無さよ。。。
  12. (初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB キーノートを含め、 英語セッション、結構視聴しましたが、

    全然わかりませんでした。 表⽰されている資料をみて、 なんとなく理解する感じ。。。
  13. (初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB

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

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

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

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

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

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

  20. (初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 2回ぐらいクリアしたけど、 申し込みのメール来ませんでした。残念。

    問い合わせ先メモるの忘れたってのもあるんですけど。。。w
  21. 気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB ここからは、個⼈的に気になった。 サービス・アップデートについて まとめてみます。

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

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

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

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

    う話を聞いて、ラズパイでいいんか!ってちょっ と感動。
  26. 気になったサービス・アップデートについて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB その3 AWS CloudShell

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

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

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

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

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

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

  33. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 使い慣れたモニタリング、オブザーバビリティ、 セキュリティ、ガバナンスツールをLambdaと 簡単に統合するための新たな⼿段(公式より抜 粋)

    • 今の所、Datadog、New Relic、SumoLogic、 AWS AppSyncなどが対応済み。 AWS Lambdaのアップデートをちょっと深掘り
  34. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB ってことで、試してみました。 AWS Lambdaのアップデートをちょっと深掘り

  35. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Datadog Lambda 拡張機能 (プレビュー)

    というサイトを参考に実施。。。 (https://docs.datadoghq.com/ja/serverless/datadog_lambda_library/extension/) • ⽇本語版サイトがちょっとバージョン古い 問題に当たる。 AWS Lambdaのアップデートをちょっと深掘り
  36. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 設定⾃体は、LayerにExtensions⽤の DatadogライブラリのLayerといくつかの 環境変数を設定すればOK。 •

    AWS Lambda Runtime Logs APIが内包さ れている(Layerバージョン4から)ので、 CW Logsにログ吐き出さないLambdaを 作っても、Datadogにはログが送られる。 AWS Lambdaのアップデートをちょっと深掘り
  37. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • メモリーはユーザー作成の関数と共有され るので、128MBだと、Used Memoryが 128MBになったしたので、、128MB以上

    にしたほうが良さげ。 • Extensions使ってても、CWのメトリクス を凄まじい勢いで取りに来るので、使って る時は取りに来ない設定とかできたら嬉し いけど、Lambda特化になっちゃうな感。 AWS Lambdaのアップデートをちょっと深掘り
  38. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • クラメソさんがブログ書いていたので、そ れを参考に実施。 (https://dev.classmethod.jp/articles/newrelic-serverless-monitoring-with-lambda-extension/) •

    公式ページも参考にしましたけれども。 AWS Lambdaのアップデートをちょっと深掘り
  39. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Datadogよりは設定⾃体は簡単 • newrelic-lambda CLIという設定⽤のCLI

    があるので、それを実⾏すればいい。 • ただ、検証してた当時(12⽉初旬)、CLI⾃ 体にバグあって、CLIがコケて、その調査 に時間取られた。 AWS Lambdaのアップデートをちょっと深掘り
  40. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • newrelic-lambda CLI使うと、newrelic- log-ingestionっていうLambda関数を作る けど、これいらんのでは?って思ってる。

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

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

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

  44. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • コンソールでのコード書きこみ、Zipでのアッ プロードに続き、第3のデプロイ⼿段。 • ECRにPushしたイメージを使って、Lambdaを

    デプロイ。 • ユースケースとしては、ローカルでDockerで開 発して、そのままLambdaにデプロイする。⼤ きいパッケージをインストールしてそのまま 持っていく(コンテナサイズは最⼤10Gまで OK)。 AWS Lambdaのアップデートをちょっと深掘り
  45. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • AWSが⽤意しているイメージ(Base Image)は、 現在Lambdaで利⽤可能なランタイムは全部 揃っているほか、カスタマイズ⽤にAmazon

    Linux、Amazon Linux2のイメージもある。 • それ以外にも、⾃分でイメージを⽤意して使う こともできる。 AWS Lambdaのアップデートをちょっと深掘り
  46. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB とりあえず試してみた。あえて、Javaで。 AWS Lambdaのアップデートをちょっと深掘り

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

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

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

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

  51. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB CHAPTER 06に、 AWS Transfer for

    SFTPを使ったバッチシステム という構築例が掲載されています。 AWS Lambdaのアップデートをちょっと深掘り
  52. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB Lambdaのコード⾃体、Pythonで書かれているの ですが、SSH接続の際、Paramikoというモ ジュールを使うのですが。。。 AWS Lambdaのアップデートをちょっと深掘り

  53. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 本にも記載してある通り、 ⼀部OSに依存しているため、 Lambdaが動く環境、 つまりAmazon Linux1/2内で

    paramikoモジュールを ビルドする必要があります。 AWS Lambdaのアップデートをちょっと深掘り
  54. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 1. EC2内orDockerコンテナを起動 2. ログイン 3.

    コードを配置 4. paramikoをビルド 5. zipで固めてアップロード AWS Lambdaのアップデートをちょっと深掘り
  55. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 1. Dockerファイルを記載 2. コードをローカルで準備 3.

    コンテナをビルド 4. ビルドしたコンテナをECRにアップロード AWS Lambdaのアップデートをちょっと深掘り
  56. +"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のアップデートをちょっと深掘り
  57. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB せっかくなので、Demoしてみます。 初Demoなので、失敗したらごめんなさい。 (時間がなかったら割愛) AWS Lambdaのアップデートをちょっと深掘り

  58. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • JavaとかGoとかコンパイル必須なランタイムで もつかえるのでは。 • Classファイルの形で配置する必要ありなので

    VS CodeのRemote Containerで開発して、そ のまま持ってくとかなのかな? • Qiitaにはコンテナ内でビルドする例も載せてあ ります。どうなのって話はありそう。 AWS Lambdaのアップデートをちょっと深掘り
  59. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB AWS Lambdaのアップデートをちょっと深掘り • ColdStart時の起動料⾦も課⾦対象なのでinit処 理は短めになるようにしたほうがいいですね。

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

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

    ⾼性能?! AWS Lambdaのアップデートをちょっと深掘り
  62. まとめ&今年に向けて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Lambdaのアップデートに関しては、数は 多くなかったものの、重要なアップデート だったかな。

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

    ECS AnywhereとかMacインスタンスとか ⾊々試してみたいものが出てきました。 • 今年は(も)Containerと FrontEnd(Amplify)が強化⽬標です。
  64. まとめ&今年に向けて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • 今年もきっとオンラインっぽいので、オー ト⾃動翻訳とか作らないとダメかな。。。 •

    試している⼈いたのでなんで、それを真似る感じ • AWSが作って出してくれるんじゃない感はあり • COVID-19の猛威がなくなって、少し旅が し易くなったらラスベガス⾏きたいです!
  65. ͓ΘΓ +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB

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