【AWS】Lambdaのバックアップ、復元

AWS

1. 概要

AWSで作成した各関数やテーブルのバックアップを取りたい、もしくは他のユーザーが作成した資材を取り込みたいけどどうすれば良いか・・・
といった悩みが業務において発生すると思います。

今回は以下についてバックアップと復元方法について解説致します。
・Lambda

2. 注意事項

本記事で紹介するLambdaの復元ですが関数内のコードを復元させることができます。
本記事の内容で全ての設定のバックアップと復元ができるわけではありません
特に、別リージョンでの復元は注意が必要です
実施前に各機能の設定事項のハードコピーを控えるなどをおススメ致します。

3. AWSアカウントにサインアップ

3-1. 前提条件

4. Lambdaのバックアップ

4-1. AWS Lambdaからナビゲーションペインより「関数」を選択し、バックアップしたい関数のリンク
  を押下する。

4-2. 表示された画面から「ダウンロード」プルダウンを押下し、
  「ファンクションコード.zipをダウンロード」を押下する。

4-3. PCの任意の場所へ保存する。

5. Lambdaの復元

5-1. AWS Lambdaからナビゲーションペインより「関数」を選択し、「関数の作成」を押下する。

5-2. 表示された画面から以下を選択し、「関数の作成」を押下する。
  ※ロール内容含め、以外の部分は必要に応じて設定変更する。

  • 関数名:一意に設定
  • 実行ロール:既存のロールを使用する
  • 既存のロール:バックアップ元と同じロールを選択

5-3. 作成された関数から「アップロード元」プルダウンを表示させ「.zipファイル」を押下する。

5-4. 表示されたモーダルから「アップロード」を押下し、復元対象のリソースを選択し「保存」を押下   
  する。

5-5. 保存後、リソースが更新されたことを確認する。

6. 別リージョンへのコピー時の注意点

別リージョンへ復元した場合、指定したロールはバックアップ元のリージョンのみが指定されている場合があります
その場合、復元先のリージョンへのアクセス権の許可が必要となります。
→アクセス権がない場合、Lambdaの呼び出しがうまく行かずに以下のようなエラーがでます。

リージョンのアクセス権の確認と追加方法について記載します。

6-1. 検索から「IAM」を押下する。

6-2. リージョンがグローバルになったのを確認し、IAMリソースから「ロール」リンクを押下する。

6-3. 5-2で指定した(復元時に指定した)ロールのリンクを押下する。

6-4. 表示された画面をスクロールし、許可ポリシーで表示されたポリシー名リンクを押下する。
  以下の様に複数ある場合は一つずつ以降の手順を実施する。

6-5. 表示された画面をスクロールし、「許可」タブより「JSON」を押下する。
  以下の場合、northeast-1(東京)のみ許可されていることになる。

6-6. Resourceにリージョンの指定がされているので、行ごとコピーしてリージョンを追加して、
  「次へ」を押下する。
※以下の場合は、southeast-2(シドニー)をリージョン追加している。

6-7. 「変更を保存」を押下する。

6-8. リージョンsoutheast-2(シドニー)の場合で、冒頭と同じcurlを投げても
  リクエスト結果が返却されるようになる。

上記のリクエストの投げ方は以下ブログの”9-2.APIの呼び出し”を参照


7. 備考

今回はLambdaのバックアップと復元、別リージョンへ移す際のIAMの設定方法について記載しました。
次回はAPIGatewayについて記載予定です。

8. 参考

  1. Lambda コンソールを使用して Lambda 関数を移行する

投稿者プロフィール

KakazuYoshinari

関連記事

  1. AWS

    【AWS】AWS Step Functionsを触ってみる

  2. AWS

    【AWS】Github ActionsやAWS SAMを使ってAWS …

  3. AWSのロールプレイングゲーム「AWS Cloud Quest」を触っ…

  4. 【新米エンジニア学習記録④】Next.jsのデプロイⅡ

  5. AWS

    【AWS】AWS SAMを使いsamconfig.tomlでデプロイ先…

  6. AWS

    【AWS】AWS SAMを使いCLIでDynamoDBやLambda関…

最近の記事

  1. AWS
  2. AWS
  3. AWS

制作実績一覧

  1. Checkeys