みなさん、こんにちは。サニービュー事業部の小寺です。

昨日、LambdaでPython2.7のサポート終了が発表されました。
https://aws.amazon.com/jp/blogs/compute/announcing-end-of-support-for-python-2-7-in-aws-lambda/

Python 2.7 自体は 2020年1月1日をもってサポート終了となっていましたが、
Lambdaでは継続して、サポートが提供されていました。なお、現在の最新のバージョンはPython 2.7.18です。

■Lambdaのランタイムサポートのポリシー

そもそもどのようにサポートが終了されていくのでしょうか。以下の図にまとめてみました。

Lambdaランタイムサポートのポリシーは、2フェーズに分かれています。 第1フェーズでは、廃止予定のランタイムを使用する関数を作成することはできませんが、既存関数の更新はできます。第1フェーズの期間は最低30日間とされています。
第2フェーズになると、廃止予定のランタイムを使用する関数の作成と更新のいずれもできなくなります。ただし、関数の更新はできませんが、呼び出しイベントの処理に引き続き使用ができます。

フェーズを分けて段階的に終了させていくことで、ランタイムを完全に廃止するまでに利用者が対応できる仕組みになっていますね。

■サポート終了の詳細について

・現在から2021年7月15日
今まで通り、Python 2.7のランタイムの関数の作成と既存関数の更新が可能です。

・2021年7月15日から2021年9月30日
フェーズ1の期間です。Python 2.7のランタイムの関数の作成はできなくなります。この期間中は既存関数の更新はできます。また7月15日より、セキュリティパッチやその他のアップデートの提供がなくなります。

・2021年9月30日以降
フェーズ2の期間です。Python 2.7のランタイムを使用する関数の作成と更新のいずれもできなくなります。 更新はできませんが、呼び出しイベントの処理に引き続き使用ができます。

■コンテナイメージへのデプロイしている場合は?

サポート終了日以降もコンテナイメージとして、Python 2.7関数のデプロイはできます。ただし、セキュリティパッチやその他のアップデートについては、利用者の責任範囲となるので、注意が必要です。

■おすすめの対応方法

AWSでは本日(2021/3/25)時点で最新のPython3.8への移行を推奨しています。該当の関数を利用されている方は、AWSからメール通知とPersonal Health Dashboardへの通知がされます。

■今使っている関数のバージョンを知りたい

AWS CLIで現時点でPython2.7を利用した関数をリストするコマンドです。

Bash
aws lambda list-functions –output text –query Functions[?Runtime==’python2.7′].FunctionArn

このコマンドで、Python2.7を使っている関数の確認ができます。

■まとめ

いかがでしたでしょうか。2021年7月15日以降はセキュリティパッチやその他のアップデートの提供がなくなりますので、利用されている方は、早めに移行の計画を立てる必要がありそうですね。

AWSに関する請求代行、構築、移行、運用保守等は、SunnyCloudまでお問合せをお願いします。担当者より追ってご連絡させていただきます。