1
Help us understand the problem. What are the problem?

Python初心者がAWS LambdaのPython3.6→3.9へランタイム変更対応を行ってみた。

1.はじめに

2022年8月17日にLambdaのPython3.6ランタイムが非推奨になるとのアナウンスがありました。

名前 識別子 オペレーティングシステム 非推奨化フェーズ 1 非推奨化フェーズ 2
Python 3.6 python3.6 Amazon Linux 2022 年 7 月 18 日 2022 年 8 月 17 日

現在のプロジェクトではPython3.6ランタイムを使用しているLambdaが開発環境2つ、本番環境2つの合計4つありました。
今回はバージョンアップで追加された新機能等は使用せず、バージョンアップのみの対応を行う事となります。
私はAWS実務1か月、Python実務1か月の初心者で、初めて行ったLambdaのPythonランタイムのバージョンアップのため手順を備忘録として残したいと思います。

2.環境

  • AWS Lambda
  • Python3.6

3.手順

3.1 バージョンアップ手順

  1. Python公式ページからリリースノートを確認
  2. 現在動作しているLambdaをコピー
  3. コピーしたLambda(Python3.6)を検証実行
  4. コピーしたLambdaのランタイムを3.9に変更して検証実行
  5. 発生した不具合を1番のリリースノートを確認しながら修正
  6. テスト仕様書作成
  7. テスト実行
  8. 不具合修正

この記事では2番から5番までの情報をまとめていきます。

3.2 Lambdaコピー手順・Pythonランタイム変更について

  1. 現状確認
    Pythonランタイム確認
    コメント 2022-05-30 133819.png
    Lambdaレイヤー確認
    コメント 2022-05-30 133833_02.png
    各種設定確認(例として、メモリ、タイムアウト、実行ロールの設定)
    コメント 2022-05-30 133939.png
    コメント 2022-05-30 133914.png
    Lambdaに設定しているソースをエクスポート
    コメント 2022-05-30 134222.png
    コメント 2022-05-30 134206.png

  2. Lambda新規作成(ランタイム Python3.6)
    Lambda関数を新規作成し、1番で確認した設定を反映する。
    コメント 2022-05-30 135725.png

  3. 2番で作成したLambda関数をテスト実行
    注意点:CSVファイル連携等の外部連携を行っている場合は事前にソース修正して既存ファイルを更新しないように注意が必要。

  4. 2番で作成したPythonのランタイムを3.9に変更
    コメント 2022-05-30 133819_02.png
    コメント 2022-05-30 141022.png

  5. 4番でバージョン変更後のLambda関数をテスト実行

おわりに

チーム異動前はPHPを使用しておりましたが、言語が変わってもログを確認して対応する事が大事と再認識しました。
まだ単体テスト実行前のため本格的な検証が出来ておりませんが、手早く最低限の検証は出来たと考えております。
何かご参考になりましたら幸いです。

参考資料

貴重な情報を頂きありがとうございました!

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?