AWS Lambda の Arm64 対応試してみた の続き。
前回は クロスコンパイルが簡単な Go で試してみました。 でもやっぱり・・・皆さん Perl を動かしたいですよね?
というわけでご用意しました。
ARN 一覧
ランタイム本体
ランタイム本体のビルド済みレイヤーです。使い方は過去記事をどうぞ。
-
arn:aws:lambda:ap-northeast-1:445285296882:layer:perl-5-32-runtime-al2-arm64:1
-
arn:aws:lambda:ap-south-1:445285296882:layer:perl-5-32-runtime-al2-arm64:1
-
arn:aws:lambda:ap-southeast-1:445285296882:layer:perl-5-32-runtime-al2-arm64:1
-
arn:aws:lambda:ap-southeast-2:445285296882:layer:perl-5-32-runtime-al2-arm64:1
-
arn:aws:lambda:eu-central-1:445285296882:layer:perl-5-32-runtime-al2-arm64:1
-
arn:aws:lambda:eu-west-1:445285296882:layer:perl-5-32-runtime-al2-arm64:1
-
arn:aws:lambda:eu-west-2:445285296882:layer:perl-5-32-runtime-al2-arm64:1
-
arn:aws:lambda:us-east-1:445285296882:layer:perl-5-32-runtime-al2-arm64:1
-
arn:aws:lambda:us-east-2:445285296882:layer:perl-5-32-runtime-al2-arm64:1
-
arn:aws:lambda:us-west-2:445285296882:layer:perl-5-32-runtime-al2-arm64:1
Paws
AWS SDK for Perl のビルド済みレイヤーです。ランタイム本体と合わせてご使用ください。
-
arn:aws:lambda:ap-northeast-1:445285296882:layer:perl-5-34-paws-al2-arm64:1
-
arn:aws:lambda:ap-south-1:445285296882:layer:perl-5-34-paws-al2-arm64:1
-
arn:aws:lambda:ap-southeast-1:445285296882:layer:perl-5-34-paws-al2-arm64:1
-
arn:aws:lambda:ap-southeast-2:445285296882:layer:perl-5-34-paws-al2-arm64:1
-
arn:aws:lambda:eu-central-1:445285296882:layer:perl-5-34-paws-al2-arm64:1
-
arn:aws:lambda:eu-west-1:445285296882:layer:perl-5-34-paws-al2-arm64:1
-
arn:aws:lambda:eu-west-2:445285296882:layer:perl-5-34-paws-al2-arm64:1
-
arn:aws:lambda:us-east-1:445285296882:layer:perl-5-34-paws-al2-arm64:1
-
arn:aws:lambda:us-east-2:445285296882:layer:perl-5-34-paws-al2-arm64:1
-
arn:aws:lambda:us-west-2:445285296882:layer:perl-5-34-paws-al2-arm64:1
x86_64 レイヤー
レイヤーの名前にCPUアーキテクチャーが入るようになったので、 わかりやすいよう x86_64 のレイヤー名も変更しました。 もちろん今までのレイヤー名でも同じものが利用可能です。
ランタイム本体
arn:aws:lambda:af-south-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:1
arn:aws:lambda:ap-east-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:1
arn:aws:lambda:ap-northeast-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:2
arn:aws:lambda:ap-northeast-2:445285296882:layer:perl-5-34-runtime-al2-x86_64:1
arn:aws:lambda:ap-northeast-3:445285296882:layer:perl-5-34-runtime-al2-x86_64:1
arn:aws:lambda:ap-south-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:2
arn:aws:lambda:ap-southeast-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:2
arn:aws:lambda:ap-southeast-2:445285296882:layer:perl-5-34-runtime-al2-x86_64:2
arn:aws:lambda:ca-central-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:1
arn:aws:lambda:eu-central-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:2
arn:aws:lambda:eu-south-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:1
arn:aws:lambda:eu-west-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:2
arn:aws:lambda:eu-west-2:445285296882:layer:perl-5-34-runtime-al2-x86_64:2
arn:aws:lambda:eu-west-3:445285296882:layer:perl-5-34-runtime-al2-x86_64:1
arn:aws:lambda:me-south-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:1
arn:aws:lambda:sa-east-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:1
arn:aws:lambda:us-east-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:2
arn:aws:lambda:us-east-2:445285296882:layer:perl-5-34-runtime-al2-x86_64:2
arn:aws:lambda:us-west-1:445285296882:layer:perl-5-34-runtime-al2-x86_64:1
arn:aws:lambda:us-west-2:445285296882:layer:perl-5-34-runtime-al2-x86_64:2
ちなみにレイヤーバージョン 1 と 2 が混在しているのは、CloudFormation のテンプレートパラメーターを利用しようとして失敗したためです。
- レイヤー管理をしている CloudFormation テンプレートに
Architectures: [ x86_64 ]
を追加する - Arm64未対応のリージョンでは「
Architectures
なんて属性知らないよ!」と言われる。もちろん Arm64 対応リージョンでは作成に成功する - 仕方がないので
Architectures: [ x86_64 ]
を削除して再生成 - Arm64 対応済みリージョンでは
Architectures
の有無が異なるのでバージョン2に上がる。未対応リージョンでは新規作成になるのでバージョン1が作成される
未対応リージョンでは、さすがに Architectures: [ arm64 ]
は通らないだろうけど、 Architectures: [ x86_64 ]
は通ると思ったんだ・・・。
互換アーキテクチャーが明示されているか否かの違いだけで、中身は同じものです。
Paws
arn:aws:lambda:af-south-1:445285296882:layer:perl-5-34-paws-al2-x86_64:1
arn:aws:lambda:ap-east-1:445285296882:layer:perl-5-34-paws-al2-x86_64:1
arn:aws:lambda:ap-northeast-1:445285296882:layer:perl-5-34-paws-al2-x86_64:2
arn:aws:lambda:ap-northeast-2:445285296882:layer:perl-5-34-paws-al2-x86_64:1
arn:aws:lambda:ap-northeast-3:445285296882:layer:perl-5-34-paws-al2-x86_64:1
arn:aws:lambda:ap-south-1:445285296882:layer:perl-5-34-paws-al2-x86_64:2
arn:aws:lambda:ap-southeast-1:445285296882:layer:perl-5-34-paws-al2-x86_64:2
arn:aws:lambda:ap-southeast-2:445285296882:layer:perl-5-34-paws-al2-x86_64:2
arn:aws:lambda:ca-central-1:445285296882:layer:perl-5-34-paws-al2-x86_64:1
arn:aws:lambda:eu-central-1:445285296882:layer:perl-5-34-paws-al2-x86_64:2
arn:aws:lambda:eu-south-1:445285296882:layer:perl-5-34-paws-al2-x86_64:1
arn:aws:lambda:eu-west-1:445285296882:layer:perl-5-34-paws-al2-x86_64:2
arn:aws:lambda:eu-west-2:445285296882:layer:perl-5-34-paws-al2-x86_64:2
arn:aws:lambda:eu-west-3:445285296882:layer:perl-5-34-paws-al2-x86_64:1
arn:aws:lambda:me-south-1:445285296882:layer:perl-5-34-paws-al2-x86_64:1
arn:aws:lambda:sa-east-1:445285296882:layer:perl-5-34-paws-al2-x86_64:1
arn:aws:lambda:us-east-1:445285296882:layer:perl-5-34-paws-al2-x86_64:2
arn:aws:lambda:us-east-2:445285296882:layer:perl-5-34-paws-al2-x86_64:2
arn:aws:lambda:us-west-1:445285296882:layer:perl-5-34-paws-al2-x86_64:1
arn:aws:lambda:us-west-2:445285296882:layer:perl-5-34-paws-al2-x86_64:2
参考
- AWS::Lambda 0.0.30
- Achieve up to 34% better price/performance with AWS Lambda Functions powered by AWS Graviton2 processor
- Release 1.33.0 - AWS Lambda ARM Support
- AWS::Serverless::Function - AWS Serverless Application Model
- CreateFunction - AWS Lambda API
- AWS Lambda の Arm64 対応試してみた
- AWS LambdaでCGIを蘇らせる
- AWS SDK for Perl Lambda Layerを公開しました