AWS初心者学習⑨ ~lambdaについて~

今回は、lambdaについて書いていこうと思います。 hit lambdaはうまく使えば、AWS料金を抑えることもできます。
AWSソリューションアーキテクトで、色々な問題にかかわってきたりするのできちんと「メリット(できること)」、「連携できるAWSの機能(主要な機能)」、「課金条件」 は押さえておきましょう!

では、AWSの公式ページを参考に詳細を書いていきます。

lambda

AWS Lambdaを利用することで、サーバーのプロビジョニングや管理をすることなく、コードを実行できます。課金は実際に使用したコンピューティング時間に対してのみ発生し、コードが実行されていないときには料金は発生しません。
Lambdaを実行している時間に対してのみ、課金されるってことですね!

lambdaの利点

・サーバ管理が不要

AWS lambdaでは、コードを自動的に実行します。サーバーのプロビジョニングや管理は必要ありません。必要なのは、コードを書いてLambdaにアップロードすることのみです。
一言で説明するとlambdaは、サーバーレスでアプリを実行できる機能です。

・継続的スケーリング

AWS lambdaでは、毎回トリガーに対応してコードを実行することにより、自動的にアプリケーションをスケールします。コードを平行して実行され、トリガーごとに個別に処理され、ワークロードのサイズに合わせて性格にスケールします。

・ミリ秒単位の課金

AWS lambdaでは、コードが実行される100msごと、およびコードがトリガーされた回数に対して課金されます。コードが実行されていないときは、料金はまったく発生しません。
lambdaに登録されているプログラムの実行時間に対してのみ、課金されるってことですね!

lamdbaと連携できるAWSの機能


※ソリューションアソシエートでは以下の機能のうち、★の付いている機能と連携できることを覚えておけばよいと思います!

Lambda 関数を同期的に呼び出すサービス

・Elastic Load Balancing (Application Load Balancer)★
Amazon Cognito
Amazon Lex
Amazon Alexa
Amazon API Gateway
Amazon CloudFront (Lambda@Edge)★
Amazon Kinesis Data Firehose
AWS Step Functions

Lambda がイベントを読み取るサービス

Amazon Kinesis
Amazon DynamoDB
Amazon Simple Queue Service★

Lambda 関数を非同期的に呼び出すサービス

Amazon Simple Storage Service★
Amazon Simple Notification Service★
Amazon Simple Email Service★
AWS CloudFormation
Amazon CloudWatch Logs★
Amazon CloudWatch Events★
AWS CodeCommit
AWS Config
AWS IoT Events

動きのイメージをつかむために、実際に使ってみました!

以下の手順を参考にさせていただきました。

qiita.com

実行イメージはいかになります。 f:id:Tk24:20191214022321p:plain curlコマンドの実行結果は以下のような感じでした!

StatusCode        : 200
StatusDescription : OK
Content           : {"message": "Hello from AWS Lambda"}
                    Connection: keep-alive
                    x-amzn-RequestId:ba39eb4a-eeed-4d36-97fa-e584d7688c09
                    x-amz-apigw-id: EpqKzHhctjMFsrw=
                    X-Amzn-Trace-Id:Root=1-5df3bd78-a1ab52c7f6753578671f3912;Sampled=0
                ...
Forms             : {}
Headers           : {[Connection, keep-alive], [x-amzn-RequestId, ba39eb4a-eeed-4d36-97fa-e584d7688c09], [x-amz-apigw-id, EpqKzHhctjMFsrw=], [X-Amzn-Trace-Id, 
                 Root=1-5df3bd78-a1ab52c7f6753578671f3912;Sampled=0]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 36

webブラウザからcurlコマンドを実行できるサイトもあります。

Online Curl | OnlineCurl.com

他にも、もう一つ実行してみました! 参考にさせていただいたのは以下の手順になります。

developer-collaboration.com

イメージは以下になります。 f:id:Tk24:20191214022420p:plain

ここにcsvファイルをアップロードすると、 f:id:Tk24:20191214023119p:plain

こちらにjsonファイルに変換されて出力されました! f:id:Tk24:20191214022959p:plain

試すのは非常に簡単なので、ぜひ実践してみましょう!
ちなみに、lamdaの実行結果はcloudwatchの機能で確認できます。
次回は、そのCloudWatchについて書く予定です。