IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

今からはじめる Amazon Web Services

CTC 教育サービス

 [IT研修]注目キーワード   OpenStack  OpenFlow/SDN  情報セキュリティ  Python  システムトラブルシュート 

第7回 AWS Lambda を使ってみよう (小澤昌樹) 2016年3月

はじめに

みなさん、こんにちは。今回の「今からはじめる Amazon Web Services」は、「AWS Lambda」を紹介します。AWS Lambdaは、アプリケーションをイベントドリブンで実行できるプラットフォームです。昨今話題のIoTデバイスと連携しての活用も見込まれるサービスですが、実際はどのようなものなのでしょうか。

AWS Lambdaとは

Lambdaは、ラムダと読みます。「AWS Lambda」は、2014年11月に発表され、その後も新しい機能が追加されている注目のサービスです。AWS Lambdaを使うことで、AWSクラウド上にデプロイした独自のコードを、何かしらのイベントをトリガーとして実行させることができます。

それでは、その特徴をいくつかピックアップしてみましょう。

- AWS Lambdaでは、実行したいコードをアップロードするだけなので、EC2インスタンスなどのインフラ管理が不要なサーバーレスアーキテクチャです。

- 実行時には、イベントレートに合うように自動でスケールがおこなわれます。プロビジョニングを気にする必要はありません。また、それぞれのコードは隔離されたコンテナで実行されています。

- コードは、Node.js、Java、および、Pythonで書くことができます。コードはコンソール上で直接記述するか、zip形式、または、jar形式のデプロイパッケージとしてアップロードします。もし、各種ライブラリが必要な場合は、圧縮ファイルに含めることができます。(AWS SDKはすでに組み込まれているので、改めて組み込まなくても使用することができます。)デプロイパッケージのサイズは50MBで、デプロイパッケージに含めることのできる非圧縮のコードサイズは250MBです。デプロイパッケージのサイズ上限(50MB)には、すぐに達してしまいますので注意が必要です。

- 一時ディスク容量(/tmp)に対して、read/writeが可能です。ただし、/tmpの使用可能容量は512MBです。

- 実行時間のタイムアウト値はデフォルト3秒です。最大300秒まで設定することができます。また、Scheduled Eventを使って、Lambdaファンクションを規則的にスケジュールベースで実行可能することができます。しかし、従来のような長時間のバッチ処理の代替としては考えないほうがよいでしょう。

- 実行時のメモリ量は128MB〜1GBの範囲で64MBごとに設定できます。実行時に使用されたメモリ量はログに記録されるので、あとでメモリ量を調整することはできます。

- AWS Lambdaは、メモリ使用量×処理時間で課金されます。計算方法は複雑なので若干注意が必要です。料金については、こちらのドキュメントに掲載されています。

AWS Lambdaでできること

では、実際に、AWS Lambdaはどのような使い方ができるのか、簡単な例を紹介しましょう。

- S3オブジェクトの追加や変更を検知して、Amazon SNS経由でメール通知する。

fig01

- EC2やS3のログをAWS LambdaでCloudWatchにエクスポートし、さらにAWS Lambdaを使ってSlackに情報を流す。なお、これを応用すると、SlackやTwitterのBOTを作ることもできます。

fig02

- GithubのWebHookとAmazon API Gatewayを連携させたり、Slackの投稿を取得して、AWS Lambdaを介して別のアプリケーションに情報を流す。

fig03

まとめ

AWS Lambdaは、アプリケーションをイベントドリブンで実行できるプラットフォームで、サーバーレスアーキテクチャとしてサービス同士を繋ぐような役割を果たしていることを紹介してきました。いかがでしたか。今後、IoT分野においての活用も見込まれる、大きな可能性を秘めたサービスです。みなさんもぜひ活用してみてください。

 


 

 [IT研修]注目キーワード   OpenStack  OpenFlow/SDN  情報セキュリティ  Python  システムトラブルシュート