AWSのlambdaとは? 基本知識から導入まで徹底解説いたします!

AWSのlambdaとは? 基本知識から導入まで徹底解説いたします!
AWSの豊富なサービスの中で、特に人気の高いサービスにlambdaがあります。
今回は、lambdaの基本的な知識から、導入前に知っておくべきポイントを深く掘り下げていきましょう。

lambda とは(lambda 読み方)

lambdaの読み方は?

ラムダと読みます。
あまり馴染みがない言葉ですが、ギリシア文字の11番目(アルファベットでL)Λ(ラムダ)が由来とされています。


ではAWS lambdaとは?

サーバレスコンピューティングサービスです。
文字通り、サーバ不要で、クラウド上で必要な時のみプログラムコードを呼び出し、実行、処理してくれます。
Node.js・Python・Ruby・Java・C#などの言語をサポートしており、様々なバックエンド処理ができます。
AWSのほとんどのサービスに対応し、様々な関数を呼び出し、処理をしてくれます。
コードのリクエストが処理されたときのみ、料金が発生するのも大きな特徴です。


lambdaはどんなところで利用されている?

リアルタイムの高速処理が得意なlambdaは、報道・通信・金融など刻々と増え続ける情報を扱う大手企業や、ゲーム・広告・ECモールなど膨大な画像データを必要とする分野で幅広く利用されています。


lambdaとpython

GoogleやInstagramやDropboxなどが主要な開発言語として使用しているPythonは、機械学習やデータ解析、数値解析、スクレイピングなど幅広い場面で利用される人気の言語です。
特に、AI分野においてはPython一択と言われるほど汎用性が高く、将来性が注目されています。

lambdaでは人気のPythonもサポートしています。実際、コードの記述や開発で行き詰まった場合でも人気が高い言語であれば、すぐに調べることができる点もメリットではないでしょうか。

ちなみに、無名関数というコードをシンプルに扱うための技法がありますが、Pythonの無名関数にもAWSと同じlambdaというキーワードが使われて(ラムダ式と呼ばれたりして)います。


lambda 料金

lambdaの料金は、AWSの他のサービスと同様に従量課金制です。
基本的には、リクエスト回数(イベント発生によりlambdaが起動した回数)とコードの実行時間(lambda起動から終了までの時間、設定したメモリ数によって異なる)に対して料金が発生します。

リクエスト回数:100万件のリクエストに対して0.2USD(※11円)
実行時間:1GB/1秒あたり0.0000166667USD(※0.0018円)
(※1USD=110円で算出)

それぞれ月ごとに無料利用枠が設定されており、12ヶ月のAWS初回無料枠に関わらず付与されます。
リクエスト回数:毎月100万件までは無料。
実行時間:毎月40万GB/秒まで、最大320万秒まで無料。


lambda 使い方・選び方

ここではlambdaの使い方・選び方を簡単に説明します。

1.「関数の作成」からはじめます。
「一から作成する」:自身で関数を作成する方法
「設計図」:テンプレートを選択する方法
「AWS Serverless Application Repository」:今回は省略します
の中から選択します。今回は「一から選択する」を説明します。
2.関数名、ランタイム(言語)、ロール名を入力して「関数の作成」を選択します。
3.次に「トリガーの追加」でリストから選択し、用途にあったトリガーを設定し、「追加」します。
4.「保存」する。
5.関数を作成し、「保存」し、テストしてみましょう。

AWSには様々なチュートリアルも用意されています。実際に動かしてみるとよりわかりやすいです。
https://aws.amazon.com/jp/lambda/resources/#Workshops_.26_Tutorials


lambda 効果

AWSとlambdaを組み合わせると、どのような効果があるのか。実際に企業が使用しているケースを参考に効果を検証してみましょう。


ケース1 NIKKEI

日経新聞社では、画像処理機能をlambdaに変更したことで、大幅なコスト削減を実現できたようです。
もともと、100以上のEC2インスタンスを運用していた同社ですが、同様の構成をEC2でlambdaで比較した場合、10分の1のコストで実現できるといいます。
さらに、負荷に応じた運用管理も簡単に行えるため、管理の手間と時間の削減にも寄与。浮いた時間を、新しいサービスの開発に利用することで好循環が産まれています。


ケース2 LIXIL

LIXILでは、IoT製品の開発を加速し、国内外向けに様々なサービスを展開しています。
さらに、社会問題の一つに掲げる宅配便の再配達を解消するために、スマートフォンを利用して荷受け管理、集荷依頼・管理ができる『スマート宅配ポスト』の開発をはじめました。
そこで、AWSのIoT Coreをベースに、lambda、API Gateway、DynamoDBなどを採用してサーバーレスアーキテクチャを実現しました。
当時の開発担当者は、「IoT プラットフォームを構築するうえで、必要な技術要素がフルマネージドで利用できるサービスとしては、ほぼ AWS 一択でした。」と語っており、超スマート社会に向けた、IoTセキュリティ、IoTサービスの進化に向けた取り組みを進めています。


ケース3 DAISO

100円ショップ「ダイソー」を国内外で展開するDAISOでは、2012年からAWSを用いた社内システムの内製化し、マイクロサービス化に移行しています。
発注システムから始まり、翌年には自動発注システムを完成。さらにサーバレス化のためlambdaを採用します。
その後、POS データ集中処理システムの構築にもlambdaが利用され、各店舗から約7万点 にも及ぶ商品の売上データを処理しています。
膨大なPOSデータが集中しても、ピーク時間でも関係なく安定した稼働が実現しており、また、インフラ管理では90%、アプリケーション実装では20%の労力削減に成功。セキュリティ対策も不要のため、ビジネスに安心して取り組めるようになったといいます。


lambda メリット・デメリット

ここでは、lambdaのメリットとデメリットについてみていきます。


メリット

・サーバレスの実現。(利用シーンによってはEC2もいらない)
・従量制課金のため、利用分だけでよい。
・毎月、特定の無料枠がある。
・イベント時に必要分のリソースが自動で割り振られる。
・他のサービスとの高い連動性。


デメリット

・AWSに高く依存する。(ベンダロックインの可能性)
・利用シーンによってはEC2の方が割安になる場合もある。
・関数実行時間の上限(最大15分)がある。(2019年7月現在)
・上記以外にも関数設定に様々な制限がある。


まとめ

今回は、AWS lambdaに関して基本的な部分から深く掘り下げてきました。
lambdaで実現できるサーバレス環境と、多様な開発言語、他との高い連動性は、規模や予算にとらわれない柔軟な開発を実現できる大きな武器になることでしょう。


    <著者情報>
  • コンテンツ企画・制作編集部
  • STRA株式会社
  •   -  http://stra.co.jp/
  • コンテンツ企画・制作編集部(監修:石岡章司)
  • STRA株式会社のコンテンツ企画・制作編集部ではフリーエンジニアの皆様に向けたお役立ち情報や業務委託案件のご紹介、人材情報のご提供のほか、ホームページ制作を検討中の方に向けたお役立ち情報を日々お届けしています。

「あなたのチカラは、社会のチカラ」をキャッチフレーズにエンジニアの皆様と企業とを結びつけるSES事業を行っています

STRA株式会社のSES事業は、エンジニアの皆様と各プロジェクトをオープンしている企業とを結びつける活動を行っています。取り扱い案件は多数!「OS・仮想化・サーバーエンジニア案件」や「データベースエンジニア案件」、「コンサルタント・PM・PMO案件」、「ネットワークエンジニア案件」はもちろん、「一般事務業務案件」など、多数のお取引実績があります。開発系からコンサルタント系まで、日々当社に寄せられてくる求人情報は100を超えています。ぜひあなたのお力をお貸しください!

すぐにお仕事情報が欲しい方は
こちらよりエントリー!

STRAが全力でお応えします。
どんなことでもお気軽にご相談ください。

お問い合わせ種別必須
ご担当者名必須
御社名任意
メールアドレス必須
お電話任意
お問い合わせ内容必須
以下のご利用規約・プライバシーポリシーをご一読、ご同意の上送信してください。
ご利用規約
第1条 規約

本規約は、STRA株式会社(以下「当社」という。)が運営する公式サイト『http://stra.co.jp』(以下、「本ウェブサイト」という。提供される全てのサービスに適用されます。

第2条 サービス

本サービスとは、本ウェブサイトを通じた求職・求人、及び、それに関連するサービスを利用目的とするサービスとします。
ユーザとは、本サービスを利用する個人とします。
本サービスを利用する者は、本規約の内容をすべて承認したものとします。
当社および当社のサービス利用企業は、本サービスを提供する際に、ユーザに対し、Eメールやダイレクトメール、及び郵便、電話、ファックスによって連絡させていただくことがあります。

第3条 禁止行為

ユーザは、次の行為をすることはできません。
登録に際し、虚偽の情報を提供すること。
当社、他のユーザ又は第三者の著作権等知的財産権の侵害に当たる行為。
当社、他のユーザ、又第三者の財産権やプライバシーに関する権利、その他の権利又は利益を侵害する行為。
本サービスで得た情報を、本サービスの利用目的の範囲を超え第三者に譲渡し、又は営利を目的とした情報提供活動に活用すること。
コンピューター・ウィルスや有害なコンピューター・プログラムを含む情報を送信する行為。
本サービスの運営の妨げの可能性がある行為。
本サービスを利用する他のユーザ又第三者を誹謗中傷していると見られる行為。
公序良俗に反すると思われる行為。
法令に反する全ての行為。
その他、当社が不適切と判断できる全ての行為。

第4条 責任

ユーザは自らの意思によって本サービスを利用します。
ユーザーは、自ら登録した情報に関しては、一切の責任を負うものとします。
登録情報は、本サービスを利用するために必要な範囲内で、常にユーザが責任をもって利用目的に沿い、正確、最新に保つものとします。

第5条 登録情報の削除

ユーザによる情報の送信、提供等の行為が本規約第2条に規定された行為に該当する可能性があると当社が判断した場合には、ユーザ通知することなく、当該情報の全部又は一部について、削除、送信停止その他必要と認める措置を講じることとします。
ユーザが本規約の規定に違反した場合には、ユーザに通知することなく、ユーザの登録を抹消できるものとします。

第6条 登録情報の利用

ユーザは、本サービスにおいて提供した情報のうち、個人を特定する情報を以外の情報を、当社が日本の国内外で無償にて使用する権利を許諾したものとみなします。また、ユーザは著作者人格権を行使しないものとします。

第7条(個人情報の取り扱い)

本サービスにおける個人情報の取り扱いについては、「個人情報保護方針」をご確認ください。ユーザは、本サービスを利用する場合には、当該個人情報保護方針を承認したものとさせていただきます。

第8条 サービスの変更

当社は、本サービスの運営を良好に保つため、ユーザに対して事前の通知なく、本サービスの内容を変更することがあり、ユーザはそれに対して異議を申し立てないものとします。

第9条 サービスの停止

当社は、以下のいずれかに該当する事由が発生した場合、ユーザへの事前の通知及び承諾を要することなく、本サービスの停止または終了を行うことができます。
本サービス運営のためのシステム(以下「システム」という。)の保守、更新等を定期的、若しくは緊急に行う必要性がある場合。
通常講ずるべきウィルス対策では防止できない不可抗力により、本サービスの提供が困難な場合。
突発的なシステムの故障等が発生して、サービスの運営が困難な場合。
その他、不測の事態により、本サービスの提供が困難であると当社が判断した場合。

第10条 ユーザによる登録の削除

ユーザは、自らの意思により本サービスへの登録情報を削除できます。

第11条 免責

当社は、企業情報等の第三者の情報、広告その他第三者により提供される情報、ユーザ等が本サービスに登録し掲載する情報等に関し、内容の正確性について保証しません。
ユーザの本サービスへの登録及び本サービスの利用から生じる一切の損害に関して、当社は責任を負わないものとさせていただきます。
当社による本サービスの提供の中断、停止、利用不能又は変更、ユーザ情報の削除又は消失、ユーザの登録の抹消、本サービスの利用によるデータの消失又は機器の故障若しくは損傷、その他本サービスに関連してユーザが被った損害につき、一切の責任を負わないものとします。
本ウェブサイトから他のウェブサイトへのリンク又は他のウェブサイトから本ウェブサイトへのリンクが提供されている場合でも、本ウェブサイト以外のウェブサイト及びそこから得られる情報について、当社は一切の責任を負わないものとします。
本サービスは、就職・転職活動の成功を保証するものではありません。
当社の責任を免責する本規約の条項が消費者契約法等の法令に反することによって無効となる場合や、その他の理由によって当社がユーザに対して損害賠償責任を負うべき場合、当社の賠償責任は、ユーザに生じた直接かつ通常の損害の範囲に限るものとさせていただきます。

第12条 規約変更

当社は、ユーザの承諾を得ることなく、本規約を随時変更することができます。

第13条 規約譲渡

ユーザは、当社の書面による事前の承諾なく、本規約に基づく権利又は義務につき、第三者に対し、譲渡、移転、担保設定、その他の処分ができません。
当社は本サービスにかかる事業を他社に譲渡した場合、当該事業譲渡に伴い本規約に基づく権利及び義務並びにユーザの登録情報、その他の顧客情報を当該事業譲渡の譲受人に譲渡することができ、ユーザはその譲渡につき予め同意したものとします。また、会社分割やその他事業が移転する状況を含むものとします。

第14条 損害賠償義務

ユーザが本規約に違反し、当社に対し損害を与えた場合、ユーザは当社に対し、損害賠償義務を負担するものとします。

第15条 準拠法及び管轄裁判所

本規約の準拠法は日本法とし、本規約に関する紛争については、当社の本社所在地を管轄する地方裁判所または簡易裁判所を第1審の専属的合意管轄裁判所とします。

第16条 実施

本規約は2013年12月24日から実施するものとします。

プライバシーポリシー

STRA株式会社は、個人のプライバシーを扱うサービス業の特性を踏まえ、個人情報の取扱いに細心の注意を払っております。自主規制基準を遵守の上、個人情報の取扱いに関する基本方針を以下のように定め、個人情報の漏洩などを防止し、取扱う個人情報の保護に努めます。

STRA株式会社は、個人情報の取扱いに関する自社の規範を遵守します。

STRA株式会社は、事業の内容及び規模を考慮した適切な個人情報の取得、利用及び提供を行います。本サービスをご利用するお客様の個人情報は、STRA株式会社が本サービスを提供するために適切な場合に限り使用されます。それには必要な範囲を超えた個人情報の取扱いを行わないこと及びそのための措置を講じることを含みます。

STRA株式会社は、本人の同意がある場合又は法令に基づく場合を除き、個人情報を第三者に提供することはありません。

STRA株式会社は、個人情報の漏洩、滅失又は紛失の防止及び是正のための措置を講じます。

STRA株式会社では、個人情報保護に関する管理の体制と仕組みについて継続的改善を実施します。

STRA株式会社では、お預かりした個人情報は目的以外には利用しません。

STRAのその他のサービス

STRA株式会社コーポレートサイト STRA株式会社stra.co.jp/ WEB事業 WEB事業stra.co.jp/web
システムエンジニアリングサービス事業 SES事業stra.co.jp/ses WEB-SERVICE事業 WEBパッケージ事業stra.co.jp/web-service
AWS事業 AWS事業stra.co.jp/aws AWS試験対策問題 おまかせスマホ最適化
stra.co.jp/campaign/responsive/
AWS試験対策問題 AWS試験対策問題
SES事業サイト内特設ページ
SECURE事業 SECURE事業stra.co.jp/secure
あなたのチカラは、社会のチカラ|STRA株式会社|Copyright © 2013 STRA Co., Ltd. ALL RIGHTS RESERVED.
PAGE TOP ↑