LoginSignup
0
0

【AWS】AWS Lambdaで既存のLambdaを複製して作成する方法

Last updated at Posted at 2024-02-12

背景

  • AWS Lambdaはサーバーレスにプログラムを実行できるサービスです。
  • Lmabdaを使用していると既存のLambdaを複製して新しいLambdaを作成したいことがあると思います。
  • この記事では
    1. AWSコンソールで複製する方法
    2. AWS CLIを一部活用する方法
      の2つをご紹介します。
  • ※本方法はpythonかつzipデブロイによって作成されたLambdaでのみ検証した方法です。python以外の言語やzipデブロイ以外で作成されたLambdaで使用できる方法かは不明です。

目標

  • 既存のLmabdaを複製した新しいLmabdaを作成できるようになる。

1.AWSコンソールで複製する方法

既存のLambdacodecopy方法

  • 複製したいLambdaのコンソール画面を開きます。
  • 「関数の概要」セクションの真横にある「ダウンロード」をクリックします。
  • 「ファンクションコード.zipをダウンロード」をクリックします。
  • ローカルPCの適当な場所に上記でダウンロードしたzipファイルを保存します。

新しいLambdaの作成方法

  • Lambdaのコンソール画面に移動します。
  • 「関数の作成」をクリックします。
  • 「一から作成」をクリックします。
  • 新しく作成する関数名を「関数名」に入力します。
  • 「ランタイム」・「アーキテクチャ」・「実行ロール」は複製元のLambdaに合わせて作成します。
  • 「関数の作成」をクリックします。
  • 作成された関数の画面の「コードソース」セクションで「アップロード元」をクリックします。
  • 「.zipファイル」を選択し、先ほど複製元のLambdaからダウンロードしたzipファイルをuploadします。
  • 「保存」をクリックします。
  • 複製元のLambda codeが反映されます。
  • その他、実行時間やメモリの変更が必要であれば、設定から設定を変更します。

2. AWS CLIを一部活用する方法

既存のLambdacodecopy方法(ここまでは同様です。)

  • 複製したいLambdaのコンソール画面を開きます。
  • 「関数の概要」セクションの真横にある「ダウンロード」をクリックします。
  • 「ファンクションコード.zipをダウンロード」をクリックします。
  • ローカルPCの適当な場所に上記でダウンロードしたzipファイルを保存します。

AWS CLIで新しいLambdaを作成する方法

  • 元の関数の設定を以下のコマンドで取得します。
bash
$aws lambda get-function --function-name {複製元の関数名} > original-function.json --region ap-northeast-1
  • AWS CLIで新しい関数を作成します。
  • 設定値は先ほど出力したjsonを参考にすると良いです。
bash
aws lambda create-function --function-name {新しく作成する関数名} \
--runtime "{ランタイム ex)python3.9等}" \
--role "{ロールのARN}" \
--handler "{ハンドラ ex)lambda_function.lambda_handler等}" \
--zip-file fileb://{ZIPファイルのローカルのファイルパス} \
--timeout {タイムアウト時間} \
--memory-size {メモリサイズ} \
--region {リージョン名}
  • ターミナルの出力が途中で止まるので最後にqを押して完成です。

参考資料

個人ブログ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0