LightFile NextLightFile Next

インストール

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はarm64x86_64の両方のCPUアーキテクチャに対応しています。arm64の方がLambdaの実行料金が約20%安いため、特に理由がなければarm64の利用をおすすめします。

CloudFormationスタックの作成

AWSマネジメントコンソールでCloudFormationの管理画面を開き、スタックの作成ボタンを押し、新しいリソースを使用(標準)を選択します。

CloudFormation (東京リージョン)

スタックの作成

テンプレートURLの入力

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

テンプレート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バケットを開いてください。

Amazon S3 (東京リージョン)

このS3バケットには既にLambda関数が関連付けられており、画像ファイルをアップロードすると自動でそれが軽量化される状態になっています。

例として末尾-testのS3バケットにJpegファイルをアップロードしてサイズを確認ください。

Jpegファイルのアップロード

5KB以下の小さな画像と、3MB超の大きな画像は軽量化の対象外です。

アップロードして数秒後、再読込をしてサイズが軽くなったことを確認してください。

軽量化されたファイル

バックアップの確認

続いて、軽量化される前のファイルが別のバックアップ用のS3バケットにバックアップされたことを確認します。

バケット一覧に戻り、名称の末尾が-backupとなっているS3バケットを開いてください。

動作確認S3バケット名のディレクトリの中に、アップロードしたファイルが作成されています。

アンインストール

CloudFormationのスタックを削除すると、ここで作成されたリソース一式をまとめて削除できます。

動作確認用(末尾-test)と、バックアップ用バケット(末尾-backup)にひとつでもオブジェクトがあると、そのS3バケットは自動で削除されません。

スタックの削除によりアンインストールする場合は、これらのS3バケットにあるオブジェクトを先にすべて削除してください。