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 発表資料です。

Kenichiro Wada

April 16, 2021
Tweet

More Decks by Kenichiro Wada

Other Decks in Technology

Transcript

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

    • (初めてちゃんと参加した)AWS re:invent 2020 • 気になったサービス・アップデートについて • AWS Lambdaのアップデートをちょっと深掘り
  2. (初めてちゃんと参加した)AWS re:invent 2020 +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB CTOのWerner Vogels⽒の

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

    「[ライブ配信] 毎週⾦曜 & 3週連続! re:Invent コンテナ関連アナウンスを⼀気に おさらい!」も助かりました。 https://aws-container.connpass.com/event/197536/
  4. AWS Lambdaのアップデートをちょっと深掘り +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Lambda Extensions

    • Container Support • Lambda Extensions • 課⾦が1ms単位に • 最⼤メモリが10G
  5. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Datadog Lambda 拡張機能 (プレビュー)

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

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

    にしたほうが良さげ。 • Extensions使ってても、CWのメトリクス を凄まじい勢いで取りに来るので、使って る時は取りに来ない設定とかできたら嬉し いけど、Lambda特化になっちゃうな感。 AWS Lambdaのアップデートをちょっと深掘り
  8. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Datadogよりは設定⾃体は簡単 • newrelic-lambda CLIという設定⽤のCLI

    があるので、それを実⾏すればいい。 • ただ、検証してた当時(12⽉初旬)、CLI⾃ 体にバグあって、CLIがコケて、その調査 に時間取られた。 AWS Lambdaのアップデートをちょっと深掘り
  9. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • コンソールでのコード書きこみ、Zipでのアッ プロードに続き、第3のデプロイ⼿段。 • ECRにPushしたイメージを使って、Lambdaを

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

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

    SFTPを使ったバッチシステム という構築例が掲載されています。 AWS Lambdaのアップデートをちょっと深掘り
  12. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB 本にも記載してある通り、 ⼀部OSに依存しているため、 Lambdaが動く環境、 つまりAmazon Linux1/2内で

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

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

    コンテナをビルド 4. ビルドしたコンテナをECRにアップロード AWS Lambdaのアップデートをちょっと深掘り
  15. +"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のアップデートをちょっと深掘り
  16. +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • JavaとかGoとかコンパイル必須なランタイムで もつかえるのでは。 • Classファイルの形で配置する必要ありなので

    VS CodeのRemote Containerで開発して、そ のまま持ってくとかなのかな? • Qiitaにはコンテナ内でビルドする例も載せてあ ります。どうなのって話はありそう。 AWS Lambdaのアップデートをちょっと深掘り
  17. まとめ&今年に向けて +"846(ઍ༿ ΦϯϥΠϯ 7PM KBXTVH KBXTVHDIJCB • Lambdaのアップデートに関しては、数は 多くなかったものの、重要なアップデート だったかな。

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

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

    試している⼈いたのでなんで、それを真似る感じ • AWSが作って出してくれるんじゃない感はあり • COVID-19の猛威がなくなって、少し旅が し易くなったらラスベガス⾏きたいです!