[アップデート]AWS LambdaにAmazon Linux 2023ベースのカスタムランタイムが追加されました

2023.11.10

初めに

先日カスタムランタイムで利用されるAmazon Linux 2023のベースのコンテナイメージのプレビュー版の公開をご紹介させていただきました。

本日AWS SAM CLIのv1.101.0がリリースされその中に先日のAmazon Linux 2023対応のRevertのRevertが含まれているのが見えたのでもしやと思ったところ、AWS LambdaのAPIに更新が入っておりついにAmazon Linux 2023ベースのカスタムランタイムが利用できるようになります。

マネジメントコンソールの対応はこれから

本記事執筆前の確認時点(2023/11/10 AM9時頃)ではAPI側の口としては用意されているもののまだマネジメントコンソールは未対応のようです。

CloudFormationやSAM側ではすでに対応していますが、マネジメントコンソールから設定されている方はまだ少し待つ形にはなるかと思います(例外的にAPIで対応するのも大変かと思いますので)。

適用

先日Amazon Linux無印のEOL到来のお知らせに伴いAmazon Linux 2に対して切り替える対応を実施した環境があるので、これをさらにAmazon Linux 2023にアップデートしていきます。

対応としてはSAMを利用している環境なので先日同様Runtimeの値を書き換えてbuild&deployを行うだけです。
Amazon Linux 2023ののランタイム識別子はprovided.al2023となります。

Resources:
  ChangeXXXProject:
    Type: "AWS::Serverless::Function"
    Properties:
      Timeout: 60
      FunctionName: ChangeXXX
      Handler: main
-     Runtime: provided.al2
+     Runtime: provided.al2023
      CodeUri: ./rust.zip
      Events:
        ...

マネジメントコンソールの選択肢にない為本当に対応しているのか不安でしたが無事デプロイでき、尚且つ一覧や詳細などの名称表示部分であればAmazon Linux 2023の表示に対応しているみたいです。

ただデプロイした後マネジメントコンソール上で編集をするとランタイムの選択肢は空白のままです(マスクはかけてません)。

ちなみにこのまま「保存」を押すと選択肢何か選んでください的なエラーが出ると思いきや特に出ずAmazon Linux 2023として保存されました。
APIリリース~マネジメントコンソール対応までの間にしかできないある意味貴重な光景かもしれません。

終わりに

Amazon Linux無印のEOLとなる2023年末まで残り2ヶ月弱とはなりますが間に合いそうであればAmazon Linux 2ではなくよりサポート期限の長いAmazon Linux 2023も選択肢として検討してみてください。

glibc等内部モジュール周りのアップデートもありますが、世代を跨ぐ毎にどんどんコンテナサイズが小さくなっており無印では332MB、2では107MBとなっていたのがなんと2023では37.8MBとなっております(2023/11/10時点)。

コンテナはサイズが小さければその分起動も高速となるため、実測したことはないのですがAWS Lambda環境上でも一定起動のオーバーヘッドを小さくする可能性もあるのではないでしょうか。