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
動きのイメージをつかむために、実際に使ってみました!
以下の手順を参考にさせていただきました。
実行イメージはいかになります。 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コマンドを実行できるサイトもあります。
他にも、もう一つ実行してみました! 参考にさせていただいたのは以下の手順になります。
イメージは以下になります。
ここにcsvファイルをアップロードすると、
こちらにjsonファイルに変換されて出力されました!
試すのは非常に簡単なので、ぜひ実践してみましょう!
ちなみに、lamdaの実行結果はcloudwatchの機能で確認できます。
次回は、そのCloudWatchについて書く予定です。