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

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

mominosin
December 18, 2019

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

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

mominosin

December 18, 2019
Tweet

More Decks by mominosin

Other Decks in Technology

Transcript

  1. © UniFa Inc. プロフィール 名前: 鈴木進吾 (すずきしんご) SNS: @mominosin •

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

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

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

    Security Jamとは異なるが ◦ 類似の問題をWEBから Security Jamだけなら
  5. © UniFa Inc. AWS Lambda Provisioned Concurrencyとは • Lambdaのコールドスタート問題に対応可能 •

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

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

    今回のアップデートでこの対策が不要となる? ◦ コストは増加するはずなので状況に応じて これまでの対策と今後
  8. © 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)利用 お触りサンプル
  9. © 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を利用 お触り方法
  10. © 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
  11. © 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
  12. © UniFa Inc. AWS Lambda Provisioned Concurrencyを触ってみた 比較 有 無

    952 22 26 有 有 983 17 0 VPC Provisioned Concurrency 200ms未満(件数) 400ms未満(件数) 400ms以上(件 数) 無 無 962 35 3 無 有 980 19 1
  13. © UniFa Inc. おまけ • Provisioned Concurrencyを950にする ◦ CloudWatch Logsのストリームが950一気に増える

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