re:Invent 初参加報告と AWS Lambda Provisioned Concurrency 触ってみた

C269fcdbb9c870db883ca134bab96447?s=47 mominosin
December 18, 2019

re:Invent 初参加報告と AWS Lambda Provisioned Concurrency 触ってみた

AWS re:Invent 2019 報告会 @ Repro株式会社

C269fcdbb9c870db883ca134bab96447?s=128

mominosin

December 18, 2019
Tweet

Transcript

  1. © UniFa Inc. re:Invent 初参加報告と AWS Lambda Provisioned Concurrency 触ってみた

    ユニファ株式会社 鈴木進吾
  2. © UniFa Inc. プロフィール 名前: 鈴木進吾 (すずきしんご) SNS: @mominosin •

    ユニファという会社でインフラしています • 今年の秋頃まで一人インフラしてました ◦ 一人じゃなくなったことは関係なく初re:Invent ◦ 会社としても初参加 • Fargate,Lmabda
  3. © UniFa Inc. ユニファって

  4. © UniFa Inc. テクノロジーの力で “家族” をもっと豊かに Bringing "families" closer together

    through the power of technology
  5. © UniFa Inc. 今後の展開:「スマート保育園」をルクミーと一緒に

  6. © UniFa Inc. re:Invent初参加してきました

  7. © UniFa Inc. 楽しみました

  8. © UniFa Inc. re:Invent初参加 • 英語話せない • 会社から一人 • 海外経験少ない

    行く前は不安
  9. © UniFa Inc. re:Invent初参加 • 英語話せない ◦ Excuse Me +

    Where is ~. で生き残れた • 会社から一人 ◦ 事前イベントで知り合った方 ◦ AWS営業さん企画の集まりが多々あった • 海外経験少ない ◦ JTBのツアーでなんとか とりあえずなんとかなった
  10. © UniFa Inc. re:Invent初参加 • チームで行うセッションの参加難しい ◦ Hackathon、Game Day、Security Jam

    ◦ 言語のハードルが高い ただ英語つらいのは変わらないので
  11. © UniFa Inc. re:Invent初参加 • Jam Loungeへいこう ◦ 日本のSAのかたも? •

    Security Jamとは異なるが ◦ 類似の問題をWEBから Security Jamだけなら
  12. © UniFa Inc. re:Inventで発表のあった AWS Lambda Provisioned Concurrency を触ってみました

  13. © UniFa Inc. 元々は会社で利用開始したサービスの話そうとしましたが… • AWS Fargate Spot 以外事前アップデートだった… •

    なのでAWS Lambda Provisioned Concurrencyを触ってみま した
  14. © UniFa Inc. AWS Lambda Provisioned Concurrencyとは • Lambdaのコールドスタート問題に対応可能 •

    前もって決めた数のLambdaを起動する • 起動し続けるので追加で費用が発生する
  15. © UniFa Inc. Lambdaのコールドスタート • Lambdaのレイテンシが悪くなる事 ◦ Lambdaのコンテナが新規で起動する際 ▪ 同時実行数の増加など

    ▪ デプロイされた際 • VPC環境ではENIのマウントの影響もあった ◦ 9月のアップデートで解消済み?
  16. © UniFa Inc. Lambdaのコールドスタート • 定期的にlambdaやAPI Gatewayにアクセスする ◦ 停止してるコンテナがない状態にする •

    今回のアップデートでこの対策が不要となる? ◦ コストは増加するはずなので状況に応じて これまでの対策と今後
  17. © UniFa Inc. AWS Lambda Provisioned Concurrencyを触ってみた • 「チュートリアル: Lambda

    プロキシ統合による Hello World API の構築」に乗っ取りサンプル環境構築 ◦ https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api -gateway-create-api-as-simple-proxy-for-lambda.html ◦ メモリ量でも挙動が変わる話はありますがデフォルト(128MB)利用 お触りサンプル
  18. © UniFa Inc. AWS Lambda Provisioned Concurrencyを触ってみた • 以下のパターンで比較する ◦

    API Gateway + Lambda ◦ API Gateway + Lambda(Provisioned Concurrency) ◦ API Gateway + VPC Lambda ◦ API Gateway + VPC Lambda(Provisioned Concurrency) • 秒間100リクエストを10秒間 ◦ Vegetaを利用 お触り方法
  19. © UniFa Inc. AWS Lambda Provisioned Concurrencyを触ってみた • テスト結果 •

    2回目(コールドスタート起きてないこと確認) VPCなしパターン Provisioned Concurrency 200ms未満(件数) 400ms未満(件数) 400ms以上(件数) 無 962 35 3 有 980 19 1 無 993 7 0 有 994 6 0
  20. © UniFa Inc. AWS Lambda Provisioned Concurrencyを触ってみた • テスト結果 •

    2回目(コールドスタート起きてないこと確認) VPCパターン Provisioned Concurrency 200ms未満(件数) 400ms未満(件数) 400ms以上(件数) 無 952 22 26 有 983 17 0 無 986 14 0 有 995 5 0
  21. © UniFa Inc. AWS Lambda Provisioned Concurrencyを触ってみた 比較 有 無

    952 22 26 有 有 983 17 0 VPC Provisioned Concurrency 200ms未満(件数) 400ms未満(件数) 400ms以上(件 数) 無 無 962 35 3 無 有 980 19 1
  22. © UniFa Inc. まとめ • Provisioned Concurrencyでコールドスタートの数が減らせる • CloudWatchを確認する消費量が確認できた ◦

    Provisioned Concurrencyの AutoScalingなどでコスト調整できるかも?
  23. © UniFa Inc. おまけ • Provisioned Concurrencyを950にする ◦ CloudWatch Logsのストリームが950一気に増える

    • 950プロビジョニングしたが今回のテストでは50消費 • 2回目は消費が減るので APIGateway間で効率化される?