連載
» 2021年12月16日 05時00分 公開

「AWS Lambda」の基礎中の基礎、「Amazon S3」にアップロードした画像の自動補正――Lambda関数を「AWS Cloud9」で実装するAWSチートシート

AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「AWS Cloud9」で「AWS Lambda」のイベント駆動処理の基本を紹介する。

[天野盛介,株式会社システムシェアード]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、AWSのサーバレスサービス「AWS Lambda」の基本的で、よく紹介される利用方法の一つ、「Amazon S3」にアップロードした画像を自動で補正する方法を紹介します。併せて、サーバを自分で構築、設定することなくコードを実行できるLambdaの特徴について解説します。

S3にアップロードした画像の自動補正

 画像の自動補正として公式でも紹介されているLambdaのユースケースが「サムネイルの自動生成」。「SNSやブログなどの見出しに利用する画像をサムネイルとして利用するために一律のサイズにそろえたいといったケース」です。

 図1の構成例では、「オリジナル画像用バケット」に画像がアップロードされると、それをトリガーにLambdaで画像を補正し、補正後の画像を「サムネイル画像用バケット」に保存するといった流れが紹介されています。

図1 サムネイル自動生成アーキテクチャの構成例(「イベント駆動処理にLambdaを用いたサーバレス構成と料金試算例」から引用)

 このケースにある「画像がS3バケットにアップロードされるとLambdaを実行する」のようにLambdaによる処理を開始させるトリガーのことを「イベント」と呼びます。

 イベントには「データベースの更新」「APIとしての呼び出し」などがあります。このイベントをきっかけに処理を実行する「イベントドリブンな処理の実行(イベント駆動処理)」はLambdaの大きな特徴です。

今回紹介する構成と作業手順

 Lambdaを利用した画像の自動補正処理の構築方法を確認します。今回は手順を簡略化するために、公式で紹介されている構成から図2のようにS3バケットは1つのみ利用する構成に変更して紹介します。

図2 今回の構成

 また、今回紹介する手順はこのようになっています。

  1. 「Amazon DynamoDB」テーブルの作成
  2. S3バケットを作成しCSVファイルをアップロード
  3. Lambda関数が利用する「AWS Identity and Access Management」(IAM)ロールの作成
  4. DynamoDBにデータを登録するLambda関数の作成
  5. 作成したLambda関数のテスト
  6. S3バケットでイベントトリガーを設定

【ステップ1】S3バケットの作成

 アップロードおよび補正後の画像を保存するS3バケットを作成します。S3のコンソールから「バケットの作成」を選択し、任意のバケット名とリージョンを選択してバケットを作成します。

図3 S3バケットの作成

 バケットを作成したら、バケットの詳細画面から「フォルダの作成」をクリックして「input」と「output」の2つのフォルダを作成します。

図4 フォルダ作成後のS3バケットの詳細画面

【ステップ2】AWS Cloud9を利用したLambdaパッケージの作成

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。