AWSLambdaチュートリアル
今日はAWSLambdaについてお話します。 AWS Lambdaは、Amazonが提供するコンピューティングサービスです。 AWS EC2、AWS Elastic Beanstalk、AWS Opsworksなど、AWSの他のコンピューティングサービスがいくつかあるので、興味が必要です。それでは、なぜ別のコンピューティングサービスなのですか?このAWSLambdaチュートリアルでは、AWS Lambdaとは何か、なぜ使用されるのか、どのユースケースで検討する必要があるのかを説明します。
AmazonがAWSLambdaをどのように定義しているかを見てから、主要な概念を深く掘り下げ、最後に実践的なユースケースを理解します。
AWS Lambdaとは何ですか?
アマゾンは、AWS Lambda(&lambda)を「サーバーレス」コンピューティングサービスとして説明しています。つまり、開発者は、起動するAWSリソースや、それらをどのように管理するかについて心配する必要はありません。コードをラムダに配置するだけで実行されます。 、それはとても簡単です!コアコンピテンシー、つまりアプリ構築やコードに集中するのに役立ちます。
AWS Lambdaはどこで使用しますか?
AWS Lambdaは、AWSリソースを自動的に管理することにより、バックエンドコードを実行します。 「管理」とは、インスタンスの起動または終了、ヘルスチェック、自動スケーリング、新しい更新の更新またはパッチ適用などを含みます。
それで、それはどのように機能しますか?
Lambdaで実行するコードは、 ラムダ関数 。さて、私たちが知っているように、関数は呼び出されたときにのみ実行されますよね?ここに、 イベントソース Lambda関数をトリガーするエンティティであり、タスクが実行されます。
それをより明確に理解するために例を見てみましょう。
画像をアップロードするためのアプリがあるとします。これで、画像をアップロードするときに、サイズ変更、フィルターの適用、圧縮など、画像を保存する前に多くのタスクが必要になります。
したがって、画像をアップロードするこのタスクは、次のように定義できます。 イベントソース または、Lambda関数を呼び出す「トリガー」。これらのタスクはすべて、Lambda関数を介して実行できます。
この例では、開発者はイベントソースを定義し、コードをアップロードするだけです。
ここで、実際のAWSリソースを使用してこの例を理解しましょう。
図S3を使用したLambdaのユースケース
ここでは、オブジェクトの形式で画像をS3バケットにアップロードします。この画像をS3バケットにアップロードすると、イベントソースまたは「トリガー」になります。
図に示されているように、プロセス全体は5つのステップに分かれています。それぞれについて理解しましょう。
- ユーザーは、Lambdaの場合、通知が添付されているS3のソースバケットに画像(オブジェクト)をアップロードします。
- 通知はS3によって読み取られ、その通知の送信先が決定されます。
- S3はLambdaに通知を送信します。この通知は、ラムダ関数の呼び出し呼び出しとして機能します。
- Lambdaの実行ロールは、IAM(Identity and Access Management)を使用してAWSリソースへのアクセス許可を与えることで定義できます。この例では、S3になります。
- 最後に、S3バケットにアップロードされたオブジェクトで機能する目的のラムダ関数を呼び出します。
このシナリオを従来から開発とともに解決するとしたら、次のタスクを管理するために人を雇うことになります。
- サーバーのグループのサイズ設定、プロビジョニング、およびスケールアップ
- OSアップデートの管理
- セキュリティパッチを適用し、
- このすべてのインフラストラクチャを監視して、パフォーマンスと可用性を確認します。
これは、費用がかかり、退屈で面倒な作業であったため、AWSLambdaの必要性は正当化されます。AWS LambdaはNode.JS、Python、Javaと互換性があるため、ファイルをzipでアップロードし、イベントソースを定義すれば、準備は完了です。
c c#とc ++の違い
あなたはについてもっと読むことができます S3 AWS より深い理解のためにここに。
私たちは今知っています–ラムダの仕組みとラムダは何をしますか s 。
Nわあ、理解しましょう-
- ラムダはどこで使用しますか?
- ラムダはどのような目的を果たしますか、それは他のAWSComputeサービスはそうではありませんか?
問題の解決策を設計する場合、Lambdaを使用する場所を特定できるはずです。
したがって、アーキテクトとして、タスクを実行するための次のオプションがあります。
- AWS EC2
- AWS Elastic Beanstalk
- AWS OpsWorks
- AWS Lambda
上記のユースケースを例として取り上げ、それを解決するためにLambdaを選択した理由を理解しましょう。
AWSOpsWorksとAWSElasticBeanstalkはアプリのデプロイに使用されるため、ユースケースは ない アプリを作成するには 、 ただし、バックエンドコードを実行します。
では、なぜEC2ではないのでしょうか。
EC2を使用する場合は、ロードバランサー、EBSボリューム、ソフトウェアスタックなど、すべてを設計する必要があります。ラムダでは、コードを挿入するだけで何も心配する必要はありません。残りはAWSが管理します。
例えば 、EC2では、コードをサポートするソフトウェアパッケージを仮想マシンにインストールしますが、LambdaではVMについて心配する必要はなく、プレーンコードを挿入するだけで、Lambdaがそれを実行します。
ただし、コードが何時間も実行され、リクエストの継続的なストリームが予想される場合は、おそらくEC2を使用する必要があります。Lambdaのアーキテクチャは散発的な種類のワークロード用であり、静かな時間とスパイクが発生するためです。いいえ。リクエストも。
例えば 、たとえば小さな会社の電子メールアクティビティをログに記録すると、夜間よりも日中のアクティビティが多くなります。また、処理する電子メールが少なくなる日もあり、世界中で電子メールが送信される場合もあります。どちらの場合も、Lambdaがサービスを提供します。
巨大なユーザーベースを持っているために電子メールが決して終わらない大規模なソーシャルネットワーキング会社のこのユースケースを考えると、Lambdaは適切な選択ではないかもしれません。
あなたはについてもっと読むことができます EC2 AWS より深い理解のためにここに。
AWSLambdaの制限
一部の制限はハードウェア固有であり、一部はアーキテクチャによって制限されます。それらすべてについて説明しましょう。
ハードウェアの制限 512 MBに制限されているディスクサイズを含めると、メモリは128MBから1536MBの間で変化する可能性があります。次に、実行タイムアウトを最大5分に最大化できる、リクエスト本文のペイロードを6 MB以下、リクエスト本文が128KBになるなどのその他の方法があります。リクエスト本文のペイロードは、HTTPで「GET」または「PUT」リクエストを使用して送信するデータに似ていますが、リクエスト本文はリクエストのタイプ、ヘッダーなどになります。
doubleをintjavaにキャストする
実際、これらは制限ではありませんが、Lambdaのアーキテクチャで設定された設計境界であるため、ユースケースがこれらに適合しない場合は、他のAWSコンピューティングサービスをいつでも自由に使用できます。
このAWSLambdaチュートリアルでは、Lambdaでタスクを実行することが「面倒で面倒ではない」ことについて説明しました。費用の部分もカバーしましょう。
AWSLambdaでの価格
ほとんどのAWSサービスと同様に、AWS Lambdaもペイパーユースサービスです。つまり、使用した分だけ支払うため、次のパラメーターが課金されます。
- の数 リクエスト ラムダ関数に対して作成する
- ザ・ デュレーション コードが実行される対象。
リクエスト
- すべてのラムダ関数で行ったリクエストの数に対して課金されます。
- AWS Lambdaは、コンソールからテストが呼び出されるなど、イベントソースまたはinvoke呼び出しに応答して実行を開始するたびにリクエストをカウントします。今すぐ価格を見てみましょう:
- 最初の100万件のリクエストは、毎月無料です。
- その後、100万リクエストあたり0.20ドル。
デュレーション
- 期間は、コードの実行が開始されてから戻るか終了するまで計算され、100ミリ秒単位で切り上げられます。
- 価格は、関数に割り当てるメモリの量によって異なります。使用されるGB秒ごとに$ 0.00001667が課金されます。
*出典:AWS公式ウェブサイト
ここまで到達したら、ラムダでのハンズオンの準備が整います。楽しもう!
ハンズオン:AWS Lambda DIY
S3で特定のバケットにオブジェクトを追加すると、「オブジェクトが追加されました」をログに記録するLambda関数を作成しましょう。
ステップ1: コンピューティングセクションのAWSマネジメントコンソールから、AWSLambdaを選択します。
ステップ2: AWS Lambdaコンソールで、「CreateaLambdafunction」をクリックします。
ステップ3: 次のページで、ブループリントを選択する必要があります。たとえば、ユースケースに空白の関数を選択します。
グーグルデータサイエンティストのインタビューの質問
ステップ4: 次のページでは、(1)S3で作業するため、トリガーを設定します。(2)S3トリガーを選択し、(3)[次へ]をクリックします。
ステップ5: 構成ページで、詳細を入力します。独自のコードを配置することも、このユースケースから同じコードをコピーすることもできます。その後、ハンドラーとロールを入力し、詳細設定をそのままにして、最後に[次へ]をクリックします。
ステップ6: 次のページで、すべての情報を確認し、「関数の作成」をクリックします。
ステップ7: これで、S3バケットの関数を作成したので、S3バケットにファイルを追加すると、AWSのモニタリングサービスであるCloudWatchに同じログが表示されます。
おめでとう!これで、ラムダ関数が正常に実行されました。
AWSLambdaチュートリアルの詳細を楽しんでいただけたでしょうか。これは、ソリューションアーキテクト、クラウドエンジニア、DevOpsエンジニアなどの職種にとってAWSエコシステムで最も望ましい知識分野の1つです。こちらがコレクションです 次のAWS就職の面接の準備に役立ちます。
このAWSLambdaチュートリアルが関連していると思われる場合は、Edurekaのライブおよびインストラクター主導のコースをチェックしてください。 、業界の実務家によって共同作成されました。
質問がありますか?コメント欄にご記入ください。折り返しご連絡いたします。。