Yuta NakataのBlog

Python / AWS / ITについて役立つ情報を発信します

サポートが終わるLambdaを洗い出し、改めてそのリスクを考える

背景

ふと、Emailを眺めるとこんなMailが入ってました

お客様の AWS アカウントで現在、Python 3.9 ランタイムを使用している 1 つ以上の AWS Lambda 関数があることをご連絡いたします。 AWS Lambda での Python 3.9 のサポートは、Python 3.9 のサポート終了日である 2025 年 10 月 30 日 [1] に伴い、2025 年 12 月 15 日に終了します。サポート終了は関数の実行に影響しませんので、関数は引き続き実行されます。ただし、これらの関数は AWS Lambda チームによるメンテナンスやパッチの適用が行われないサポート対象外のランタイムで実行されます。 Lambda ランタイムサポートポリシー [2] に記載されているように、Lambda の言語ランタイムのサポート終了はいくつかの段階で行われます。 - 2025 年 12 月 15 日以降、Lambda は Lambda 関数で使用される Python 3.9 ランタイムにセキュリティパッチやその他の更新を適用しなくなり、Python 3.9 を使用する関数はテクニカルサポートの対象外となります。また、Python 3.9 は AWS コンソールでは利用できなくなりますが、AWS CloudFormation、AWS CLIAWS Serverless Application Model (SAM)、またはその他のツールを使用して Python 3.9 を使用した関数の作成および更新は引き続き可能です。 - 2026 年 1 月 15 日以降、Python 3.9 ランタイムを使用した新しい Lambda 関数の作成ができなくなります。 - 2026 年 2 月 15 日以降、Python 3.9 ランタイムを使用した既存の関数の更新ができなくなります。 2025 年 12 月 15 日までに、Python 3.9 ランタイムを使用した既存の関数を Lambda で利用可能な最新の Python ランタイムにアップグレードすることをお勧めします。 Python 3.9 ランタイムを使用する影響を受ける Lambda 関数は、AWS Health Dashboard影響を受けるリソース タブに一覧表示されています。 この通知は、$LATEST 関数バージョンの Python 3.9 ランタイムを使用する関数に対して生成されています。次のコマンドは、AWS CLI [3] を使用して、公開されている関数バージョンを含む、Python 3.9 を使用している特定のリージョンのすべての関数を一覧表示する方法を示しています。アカウントにあるこのような関数をすべて確認するには、それぞれのリージョンで次のコマンドを実行してください。

AWSからのMailで、Lambda Python3.9のサポートが終わるって話でした。

個人的にはそこそこリソースがあるので、改めて

  • サポートが終わるとどうなるの?
  • 対象のLambdaを見つける方法は?

について解説していきたいと思います。

対象のLamnbdaを洗い出す

全リージョンを対象に、Python3.9のランタイムを持つLambdaを洗い出す

ことを目的に、Shellを書きました。

#!/bin/bash

declare -a REGIONS=($(aws ec2 describe-regions --output text --query "sort(Regions[].RegionName)"))

for REGION in "${REGIONS[@]}"
do
  aws lambda list-functions --region ${REGION} --output table --query "sort_by(Functions[?Runtime=='python3.9'].{Name:FunctionName,Runtime:Runtime},&Name)" >& functions.txt &
done

これを実行

./main.sh

し、functions.txtを確認すると

一覧で確認できます

サポートが終わるとどうなるの??

上述したメールにもあるように、

Python 3.9 のサポート終了日である 2025 年 10 月 30 日 [1] に伴い、2025 年 12 月 15 日に終了します。サポート終了は関数の実行に影響しませんので、関数は引き続き実行されます。ただし、これらの関数は AWS Lambda チームによるメンテナンスやパッチの適用が行われないサポート対象外のランタイムで実行されます

また、

  • 2025 年 12 月 15 日以降、Lambda は Lambda 関数で使用される Python 3.9 ランタイムにセキュリティパッチやその他の更新を適用しなくなり、Python 3.9 を使用する関数はテクニカルサポートの対象外となります。また、Python 3.9 は AWS コンソールでは利用できなくなりますが、AWS CloudFormation、AWS CLIAWS Serverless Application Model (SAM)、またはその他のツールを使用して Python 3.9 を使用した関数の作成および更新は引き続き可能です。

  • 2026 年 1 月 15 日以降、Python 3.9 ランタイムを使用した新しい Lambda 関数の作成ができなくなります。

  • 2026 年 2 月 15 日以降、Python 3.9 ランタイムを使用した既存の関数の更新ができなくなります。

のように段階的に制限が厳しくなります。

まとめ

今回の記事では、Lambdaのサポートが終わるとどうなるのか?解説してみました。

Lambdaのメンテを行うためにも、SAMやCloudFormationを用いたIaC化や、UT等、運用アプリケーションとして必要なことは一つずつ確実にやっていきましょう。

参考文献

dev.classmethod.jp