0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2でLambda実行:Lambda Managed Instances

0
Posted at

TL;DR

AWS Lambda Managed Instances は「Lambda関数を、自分のAWSアカウント内のEC2インスタンス上で動かせる仕組み」

通常LambdaとEC2/ECSの中間にある、定常高負荷向けのLambda実行基盤という理解

メリット

主なメリットは、高トラフィック下でLambdaを使いたい、Lambdaの実行基盤のCPU/ネットワーク要件をカスタマイズしたいというもの。

要件 メリット
常時高トラフィック EC2ベース料金・Savings Plans・Reserved Instancesを使いやすい
CPUやネットワーク性能を選びたい インスタンスタイプやアーキテクチャを指定・制御できる

作成手順

作成フローは大きく3段階

  • Capacity Providerを作る
    VPC、サブネット、SG、IAM operator role、インスタンス要件、最大vCPU、スケーリング設定などを定義する。
  • Lambda関数を作る
    Compute typeとして Lambda Managed Instances を選び、Capacity Providerに紐づける。
  • 関数バージョンをpublishする
    Lambda Managed Instancesでは、関数バージョンをpublishするとCapacity Provider上のインスタンスに実行環境が展開されます。AWSのGetting Startedでも、Capacity Provider作成後に関数を作成し、publish-version してからinvokeする流れになっています。
Capacity Providerの作成
aws lambda create-capacity-provider \
  --capacity-provider-name my-capacity-provider \
  --vpc-config SubnetIds=[$SUBNET_ID],SecurityGroupIds=[$SECURITY_GROUP_ID] \
  --permissions-config CapacityProviderOperatorRoleArn=arn:aws:iam::${ACCOUNT_ID}:role/MyCapacityProviderOperatorRole \
  --instance-requirements Architectures=[x86_64] \
  --capacity-provider-scaling-config MaxVCpuCount=30
Lambda関数の作成
aws lambda create-function \
--function-name my-managed-instance-function \
--package-type Zip \
--runtime python3.13 \
--handler lambda_function.lambda_handler \
--zip-file fileb://function.zip \
--role arn:aws:iam::${ACCOUNT_ID}:role/MyLambdaExecutionRole \
--architectures x86_64 \
--memory-size 2048 \
--ephemeral-storage Size=512 \
--capacity-provider-config LambdaManagedInstancesCapacityProviderConfig={CapacityProviderArn=arn:aws:lambda:${REGION}:${ACCOUNT_ID}:capacity-provider:my-capacity-provider}

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?