「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で画像を補正し、補正後の画像を「サムネイル画像用バケット」に保存するといった流れが紹介されています。
このケースにある「画像がS3バケットにアップロードされるとLambdaを実行する」のようにLambdaによる処理を開始させるトリガーのことを「イベント」と呼びます。
イベントには「データベースの更新」「APIとしての呼び出し」などがあります。このイベントをきっかけに処理を実行する「イベントドリブンな処理の実行(イベント駆動処理)」はLambdaの大きな特徴です。
今回紹介する構成と作業手順
Lambdaを利用した画像の自動補正処理の構築方法を確認します。今回は手順を簡略化するために、公式で紹介されている構成から図2のようにS3バケットは1つのみ利用する構成に変更して紹介します。
また、今回紹介する手順はこのようになっています。
- 「Amazon DynamoDB」テーブルの作成
- S3バケットを作成しCSVファイルをアップロード
- Lambda関数が利用する「AWS Identity and Access Management」(IAM)ロールの作成
- DynamoDBにデータを登録するLambda関数の作成
- 作成したLambda関数のテスト
- S3バケットでイベントトリガーを設定
【ステップ1】S3バケットの作成
アップロードおよび補正後の画像を保存するS3バケットを作成します。S3のコンソールから「バケットの作成」を選択し、任意のバケット名とリージョンを選択してバケットを作成します。
バケットを作成したら、バケットの詳細画面から「フォルダの作成」をクリックして「input」と「output」の2つのフォルダを作成します。
【ステップ2】AWS Cloud9を利用したLambdaパッケージの作成
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- AWS初心者でもサーバレスでここまでできる――クラウド運用の定型業務を9カ月で自動化した新入社員の挑戦
運用管理者に光を当てるオンラインイベント「Cloud Operator Days Tokyo 2021」。NTT東日本のセッション「新入社員が9ヶ月でクラウド運用の自動化システムを作ってみた」から、AWS初心者が運用監視の定型業務を自動化する際の流れ、苦労するポイントを学ぶ。 - アプリ開発者もインフラ管理者も知っておきたいサーバレスとAWS Lambdaの基礎知識
システム開発の常識を覆す「サーバレスアーキテクチャ」について「AWS Lambda」を使って構築方法を学ぶ連載。初回は、サーバレスアーキテクチャの仕組み、メリット、Lambdaの特徴と留意点について。 - 「AWS Lambda」が拡張機能を介して各種運用ツールと統合可能に
サーバのプロビジョニングや管理をすることなくコードを実行できる「AWS Lambda」サービスが利用しやすくなった。AWS Lambda拡張機能を使うことでモニタリングや可観測性、セキュリティ、ガバナンスのための運用ツールをAWS Lambdaと統合して利用できる。