LightFile NextLightFile Next

旧Lambda関数からLightFile Lambdaへ

旧LightFile Lambda関数から新LightFile Lambdaへの移行ガイド

旧LightFile Lambda関数から新しいLightFile Lambdaへの移行方法を説明します。

移行の概要

LightFile Lambdaは、旧Lambda関数を完全に再設計したAWS Lambda画像最適化ソリューションです。

主な改善点

  • ARM64アーキテクチャ対応 - より高速で低コスト
  • 多言語サポート - 英語・日本語のログ出力
  • シンプルな環境変数 - より直感的な設定項目
  • CloudFormationテンプレート改善 - デプロイが簡単に
  • パフォーマンス向上 - 処理速度とメモリ効率が改善

移行の手順

1. 現在の設定を確認

旧Lambda関数の環境変数を記録しておきます。

AWS コンソール → Lambda → 該当の関数 → 設定 → 環境変数

主な環境変数:

  • QUALITY / JPEG_QUALITY / PNG_QUALITY
  • MIN_SIZE / MAX_SIZE
  • UPLOAD_ACL または DESTINATION_ACL
  • BACKUP_BUCKET / BACKUP_PREFIX / BACKUP_ACL
  • LOGGING / VERBOSE

2. 新しいLightFile Lambdaをデプロイ

新しいCloudFormationスタックとして、LightFile Lambdaをデプロイします。

  1. ダウンロードURLから最新のCloudFormationテンプレートURLを取得
  2. AWS CloudFormationコンソールで新しいスタックを作成
  3. パラメータを設定:
    • MyToken: LightFile6ライセンストークン
    • MyBucketName: 対象のS3バケット名
    • その他のパラメータは必要に応じて設定

詳細はインストールを参照してください。

3. 環境変数を移行

旧Lambda関数の設定を新しい環境変数に変換します。

一部の環境変数名が変更されています。環境変数の変更点を参照してください。

4. テスト実行

新しいLambda関数をテストします。

# S3に画像をアップロードしてテスト
aws s3 cp test-image.jpg s3://your-bucket/test/

# CloudWatch Logsでログを確認
aws logs tail /aws/lambda/your-function-name --follow

5. 旧Lambda関数の無効化

新しいLambda関数が正常に動作することを確認したら、旧Lambda関数のイベントソースを無効化します。

  1. AWS コンソール → Lambda → 旧関数 → 設定 → トリガー
  2. S3トリガーを無効化または削除

6. 旧Lambda関数の削除(オプション)

一定期間問題なく動作することを確認したら、旧Lambda関数のCloudFormationスタックを削除できます。

バックアップバケットにオリジナル画像が保存されている場合は、削除前に確認してください。

移行時の注意点

ライセンストークンが必須に

新しいLightFile Lambdaでは、LICENSE_TOKEN環境変数が必須です。CloudFormationデプロイ時に自動設定されますが、直接編集する場合は注意が必要です。

削除された機能

以下の機能は新バージョンでサポートされていません:

  • カスタムメタデータ設定 (METADATA環境変数)
  • SNS通知機能 (SNS_TOPIC_ARN, SNS_DEFAULT_VALUES)
  • 環境変数エイリアス (MIN_SOURCE_SIZE, MAX_SOURCE_SIZE, DESTINATION_ACL)

これらの機能が必要な場合は、別の方法での実装を検討してください。

ACL設定の変更

  • 旧: UPLOAD_ACL または DESTINATION_ACL
  • 新: ACL

機能は同じですが、環境変数名が短くなりました。

ログ設定の変更

  • 旧: LOGGING=normal または LOGGING=debugVERBOSEフラグ
  • 新: LOG_LEVEL=info / LOG_LEVEL=debug

より細かいログレベル制御(debug / info / warn / error / fatal)が可能になりました。

並行運用

移行期間中、旧Lambda関数と新Lambda関数を並行して運用することも可能です:

  1. 別のS3バケットを使用 - 新Lambda関数を別のバケットに接続
  2. 同じバケット、異なるプレフィックス - プレフィックスフィルターを使用
  3. 段階的移行 - 一部のファイルタイプのみ新Lambda関数で処理

トラブルシューティング

Lambda関数が実行されない

  1. S3イベント通知が正しく設定されているか確認
  2. Lambda関数の実行ロール権限を確認
  3. CloudWatch Logsでエラーメッセージを確認

詳細はトラブルシューティングを参照してください。

パフォーマンスが期待より低い

  • ARM64アーキテクチャを使用しているか確認(デフォルトで有効)
  • メモリ設定を確認(CloudFormationパラメータ)
  • タイムアウト設定を確認

次のステップ