インストール
CloudFormationを使用したLightFile Lambdaのインストール
Lambda関数の設置にはIAMロールなど関数以外のリソースも必要です。LightFile LambdaはそれらをまとめてインストールするCloudFormationテンプレートを提供しています。
CloudFormationによる一括インストール
CloudFormationテンプレートを利用すると、LightFile Lambdaに必要な次のリソースを一括で作成できます。
- IAMロール
- CloudWatch Logs ロググループ
- Lambda関数
- 動作確認用のS3バケット
- 動作確認用のS3バケットに対するイベントの設定
- バックアップ用のS3バケット
CloudFormationでインストールしたLambda関数を、既存あるいはこれから作成するS3バケットに関連づけることもできます。特に理由がなければCloudFormationの利用をおすすめします。
他のS3バケットに関連づける方法については手動インストールのページを参照ください。
インストールの手順
テンプレートURLの取得
ダウンロードURLページから最新バージョンのCloudFormation テンプレートURLを取得し、控えてください。
LightFile Lambdaはarm64とx86_64の両方のCPUアーキテクチャに対応しています。arm64の方がLambdaの実行料金が約20%安いため、特に理由がなければarm64の利用をおすすめします。
CloudFormationスタックの作成
AWSマネジメントコンソールでCloudFormationの管理画面を開き、スタックの作成ボタンを押し、新しいリソースを使用(標準)を選択します。

テンプレートURLの入力
Amazon S3 URLに先ほど控えたCloudFormation テンプレートURLを設定し、次へボタンを押します。

パラメータの入力
次の項目に値を入力してください。

スタック名
管理上、認識しやすい任意の名前を指定してください。例 my-first-lightfile
スタック名以外の以下のパラメータはあとで変更できます。
AclValue
画像オブジェクトを上書きする際のACLです。一般公開されている画像であればpublic-readであることが多いです。
複雑なACLを設定されている場合、_keepを指定すると、それらを保持して上書きできます。
_keepはAPIの呼び出し回数が多いため、可能な限りpublic-readなど他のACLを利用ください。
設定できる値について詳しくはACLの設定を参照ください。
BackupAclValue
画像オブジェクトを軽量化する前にバックアップする際のACLです。
AclValueと同じ値を指定できますが、こちらも可能な限り_keep以外を指定することをおすすめします。
MyResourcePrefix
このパラメータは一括で作成されるリソースの名称の前置詞として使われます。例えばmy-companyを指定すると、次のリソースが作成されます。
- IAMロール
my-company-lightfile-role - Lambda関数
my-company-lightfile - 動作確認用のS3バケット
my-company-lightfile-test - バックアップ用のS3バケット
my-company-lightfile-backup
S3バケットの名称は、他のAWS利用者も含めてグローバルでユニークである必要があります。
動作確認用のS3バケットとバックアップ用のS3バケットは後で削除しても構いません。
MyToken
弊社から案内したライセンストークンを入力してください。
パラメータを入力したら次へボタンを押します。
スタックオプションの設定
スタックオプションは必要に応じて指定して次へボタンを押してください。特に変更をしなくてもインストールは可能です。
確認と作成
最後に確認画面が表示されます。
AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します。にチェックを入れて、送信を押してください。

動作確認
通常、1分ほどでリソースの作成が完了します。リソースタブのステータスがすべてCREATE_COMPLETEとなれば作成完了です。
テスト画像のアップロード
続いて軽量化の動作確認をします。S3の管理画面を開き、名称の末尾が-testとなっているS3バケットを開いてください。
このS3バケットには既にLambda関数が関連付けられており、画像ファイルをアップロードすると自動でそれが軽量化される状態になっています。
例として末尾-testのS3バケットにJpegファイルをアップロードしてサイズを確認ください。

5KB以下の小さな画像と、3MB超の大きな画像は軽量化の対象外です。
アップロードして数秒後、再読込をしてサイズが軽くなったことを確認してください。

バックアップの確認
続いて、軽量化される前のファイルが別のバックアップ用のS3バケットにバックアップされたことを確認します。
バケット一覧に戻り、名称の末尾が-backupとなっているS3バケットを開いてください。
動作確認S3バケット名のディレクトリの中に、アップロードしたファイルが作成されています。
アンインストール
CloudFormationのスタックを削除すると、ここで作成されたリソース一式をまとめて削除できます。
動作確認用(末尾-test)と、バックアップ用バケット(末尾-backup)にひとつでもオブジェクトがあると、そのS3バケットは自動で削除されません。
スタックの削除によりアンインストールする場合は、これらのS3バケットにあるオブジェクトを先にすべて削除してください。