type
status
date
slug
summary
tags
category
icon
password
 

理論

Provisioned Concurrency

プロビジョンドコンカレンシー (Provisioned Concurrency) は、AWS Lambdaの機能の1つで、Lambda関数が処理するリクエストの待機時間を短縮し、スケーラビリティを向上させるための設定です。
具体的には、プロビジョンドコンカレンシーを使用すると、Lambda関数が呼び出される前に、指定した数のインスタンス(コンカレンシー)を予め起動しておくことができます。これにより、関数の初回実行(コールドスタート)を避けることができ、リクエストが来た時にすぐに処理を開始できるようになります。

どういう時に役立つか

  • 高い可用性が求められる場合や、即時に応答が必要なシステムに有効です。
  • 特に、Lambda関数の初回起動時に発生するコールドスタート(処理開始までにかかる遅延)を減らしたい場合に使用します。

使い方

  1. プロビジョンドコンカレンシーの設定では、Lambda関数の指定された数のインスタンスを常に実行しておくように設定します。
  1. これにより、関数がトラフィックの増加に素早く対応できるようになり、急なスパイクにも迅速に対応できるようになります。

メリット

  • 低遅延: コールドスタートの遅延を削減できる。
  • 安定したパフォーマンス: リクエストに対してすぐに処理を開始できる。
  • スケーラビリティ: 予測可能なトラフィックパターンに基づいてスケールできる。

デメリット

  • コスト: プロビジョンドコンカレンシーを使用することで、予めインスタンスを確保するため、通常のLambda実行時よりも追加費用がかかる可能性があります。
 
AWS Lambdaのタイムアウト制限、。
  1. AWS Lambdaのタイムアウト制限: Lambdaは最大15分までしか実行できず、大きなファイルや長時間処理が必要な場合、タイムアウトエラーが発生します。
  1. 代替アーキテクチャ:
      • AWS Fargate + ECS: 長時間かかる処理をサーバーレスで実行できるコンテナサービス。インフラ管理が不要で、大規模な処理を効率的に行えます。
      • Amazon S3との統合: 新しいファイルがS3にアップロードされた際にECSタスクをトリガーして処理を実行できます。
これにより、Lambdaのタイムアウトを回避し、大規模な画像処理を安定的に実行できます。

実践

一問道場


あるビデオ処理会社が、Amazon S3バケットから画像をダウンロードし、画像を処理して、変換された画像を別のS3バケットに保存し、画像に関するメタデータをAmazon DynamoDBテーブルに更新するアプリケーションを持っています。このアプリケーションはNode.jsで書かれており、AWS Lambda関数を使用して実行されます。Lambda関数は、新しい画像がAmazon S3にアップロードされると起動されます。
アプリケーションはしばらく問題なく動作していましたが、画像のサイズが大きくなり、Lambda関数がタイムアウトエラーで頻繁に失敗するようになりました。関数のタイムアウトは最大値に設定されています。ソリューションアーキテクトは、呼び出し失敗を防ぐためにアプリケーションのアーキテクチャをリファクタリングする必要があります。会社は基盤となるインフラを管理したくありません。
この要件を満たすために、ソリューションアーキテクトが取るべき手順の組み合わせはどれですか?(2つ選んでください)

選択肢:

A. アプリケーションのデプロイメントを変更して、アプリケーションコードを含むDockerイメージを作成し、そのイメージをAmazon Elastic Container Registry (Amazon ECR)に公開する。
B. 新しいAmazon Elastic Container Service (Amazon ECS)タスク定義を作成し、互換性タイプをAWS Fargateに設定する。タスク定義が新しいイメージをAmazon Elastic Container Registry (Amazon ECR)から使用するように設定し、新しいファイルがAmazon S3に到着したときにLambda関数がECSタスクを呼び出すように調整する。
C. AWS Step Functionsのステートマシンを作成し、Parallelステートを使ってLambda関数を呼び出す。Lambda関数のプロビジョンドコンカレンシーを増加させる。
D. 新しいAmazon Elastic Container Service (Amazon ECS)タスク定義を作成し、互換性タイプをAmazon EC2に設定する。タスク定義が新しいイメージをAmazon Elastic Container Registry (Amazon ECR)から使用するように設定し、新しいファイルがAmazon S3に到着したときにLambda関数がECSタスクを呼び出すように調整する。
E. アプリケーションを変更して、画像をAmazon Elastic File System (Amazon EFS)に保存し、メタデータをAmazon RDS DBインスタンスに保存する。Lambda関数を調整してEFSファイル共有をマウントする。

解説

問題の要点:

  • Lambda関数がタイムアウトエラーで失敗する。
  • 画像の処理が大きくなり、Lambda関数のタイムアウト制限を超える。
  • アプリケーションはインフラ管理を最小限にしたい。

正しい解答は AB です。

A. アプリケーションのデプロイメントを変更して、アプリケーションコードを含むDockerイメージを作成し、そのイメージをAmazon Elastic Container Registry (Amazon ECR)に公開する。

  • 画像処理が重くなり、Lambdaがタイムアウトしているので、Dockerイメージ を作成して Amazon ECR に公開し、アプリケーションコードをコンテナ化することで、インフラの管理を最小限にしつつ、処理を分散できます。これにより、Lambda関数のタイムアウトを回避するための対応が可能になります。

B. 新しいAmazon Elastic Container Service (Amazon ECS)タスク定義を作成し、互換性タイプをAWS Fargateに設定する。タスク定義が新しいイメージをAmazon Elastic Container Registry (Amazon ECR)から使用するように設定し、新しいファイルがAmazon S3に到着したときにLambda関数がECSタスクを呼び出すように調整する。

  • AWS Fargate は、サーバーレスでコンテナを実行できるサービスです。これにより、画像処理を ECSタスク にオフロードすることができ、Lambdaのタイムアウト制限を回避できます。Fargateを使用すると、インフラ管理なしでスケーラブルなコンテナ環境を提供できます。

まとめ:

  • AB の組み合わせが最適です。Dockerイメージを作成し、ECSで処理をオフロードすることで、Lambda関数のタイムアウト問題を解決し、インフラ管理を最小限に抑えることができます。
 
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
064-AWS SAP AWS 「理論・実践・一問道場」AWS Control Tower062-AWS SAP AWS 「理論・実践・一問道場」VMをEC2に移行
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
02-生成AIパスポート試験対策:第2章「生成AI」
2025-2-1
01-生成AIパスポート試験対策:第1章「人口知能」
2025-2-1
究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
2025-1-27
不要再傻傻的直接买NISA啦
2025-1-27
Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
2025-1-24
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
2025-1-22
公告
🎉欢迎访问我的博客🎉
- 感谢您的支持 --
本站点于2024/09/01建立
👏主要分享IT相关主题👏
系统管理:
Redhat…
容器和编排:
Kubernetes、Openshift…
云计算:
AWS、IBM…
AI入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签