Serverless FunctionとLambda Functionの違いとは?
疑問点
Cloudformation Serverless Transformation で遊んでいるのですが、いつどのように
AWS::Serverless::Function
または
AWS::Lambda::Function
. AWSのSAMの例では、なぜかLambdaのバージョンが使われています。これは非常に紛らわしいです。
SAM github
. そして、さらに
servlerless
フレームワーク自体も、実際には
nodejs
フレームワークです。このようなことで、私は非常に混乱しています。
どのように解決するのですか?
まず、それぞれについて説明します。
AWS Serverless Stack - API Gateway、Lambda、S3など、AWSが提供するサーバーレス技術の組み合わせ。
Lambdaが導入された当初は、Cloudformationを使ってこれらの技術を使ったサーバーレスアプリケーションを開発するのは困難でした。この問題は、API GatewayとLambdaのためにCloudformationを書くことの複雑さに起因していました。
そこで登場したのがServerless Frameworkです。
Serverless Framework - API GatewayとLambdaの定義をserverless.ymlというシンプルなファイルを使って簡略化したオープンソースのDevOpsフレームワークです。Serverless Frameworkは設定よりも規約を使用するため、LambdaやAPI Gatewayなどを定義するのに必要なコードは数行で済みました。その下で、Serverless Frameworkはserverless.ymlで定義された内容に基づいてCloudformationを生成する。また、Serverless Framework は複数のクラウドプロバイダーをサポートしています。
その後、AWSはServerless Frameworkの代替として、CloudFormationの定義の複雑さを軽減するために、AWS SAM(注:AWS SAMは、現時点ではプラグインや拡張機能をサポートするServerlessのようなフレームワークではない)という独自の簡易スクリプト言語を発表しました。
AWS::Lambda::Function
は、Lambda関数を定義するためのCloudFormationの構文です。
AWS::Serverless::Function
は、Lambda関数を定義するAWS SAMの構文で、内部的にCloudformationでLambda関数を作成します(
AWS::Lambda::Function
)および関連リソースに対して、AWS SAM実行時の規約によりLambda関数を定義するものです。
関連
-
[解決済み】S3 Bucket アクションがどのリソースにも適用されない
-
[解決済み] -bash: aws: コマンドが見つかりませんでした。
-
[解決済み] aws-cliで認証するとUnrecognizedClientExceptionエラーが発生する。
-
[解決済み] S3からモデルをロードしようとすると、チェーン内の任意のプロバイダからAWS認証情報をロードできない - エラー - が発生する
-
[解決済み] クラウド形成リソース作成における複数条件
-
[解決済み] コード NoSuchBucket
-
[解決済み] Amazon Redshift - CSVからのCOPY - 行に二重引用符が一つある - CSVの引用符の書式が無効である エラー
-
[解決済み] List<AWS::EC2::Subnet::Id> 型のパラメータをネストしたCloudFormationテンプレートに渡す。
-
[解決済み] ウェブサイトがAmazonネームサーバーを持っているが、別のサーバーでホストされている方法
-
[解決済み] Amazon SNSとAmazon SQSの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】AWS CLI S3 HeadObject操作の呼び出し時に、クライアントエラー(403)が発生しました。Forbidden
-
[解決済み] -bash: aws: コマンドが見つかりませんでした。
-
[解決済み] Terraformです。EFSアクセスポイントをEC2にマウントするには?
-
[解決済み] RDS コンソールで Aurora の読み取りレプリカを作成するオプションが表示されない
-
[解決済み] Amazon Redshift - CSVからのCOPY - 行に二重引用符が一つある - CSVの引用符の書式が無効である エラー
-
[解決済み] ec2 インスタンスのステータスチェックに失敗しました
-
[解決済み] リクエストに含まれるセキュリティトークンの有効期限が切れている
-
[解決済み] プライマリネームサーバが親に登録されていない
-
[解決済み] AWS CloudFrontとGlobal Accelerator for Dynamic Contentsの比較
-
[解決済み] s3バケットから複数ファイルをコピーする