【サーバーレスフレームワーク】

Serverless Framework とは?

最終更新:
💡 関数と必要なAWSリソースを、設定からデプロイする

関数・イベント・必要なクラウドリソースを設定ファイルで定義し、CLIでデプロイ・管理するツール。現行v4ではAWS向けに提供され、認証やライセンス、AWSの権限設定も必要になる。

📌 このページのポイント
Serverless Framework:AWSへのデプロイ例 serverless.yml 関数・イベント リソースの設定 CLI serverless deploy 構成を準備 CloudFormation AWSへ適用 スタックを管理 設定に応じて作るAWSの構成 API Gateway HTTP要求 入口の設定 Lambda 関数のコード 必要な実行権限 現行v4はAWS向け コードに加え、環境と権限も設計する
関数とHTTPイベントを設定する例。FrameworkとAWSの認証・権限・利用条件を別に確認する。
ひよこ ひよこ
サーバーレスの仕組みそのものなの?
ペンギン先生 ペンギン先生
関数の実行環境はAWS Lambdaなどが提供するよ。Serverless Frameworkは関数のコードと、それを動かすイベントやリソースを定義・デプロイするCLI。関数の中で何をするかは自分で実装するんだ
ひよこ ひよこ
設定には何を書くの?
ペンギン先生 ペンギン先生
serverless.ymlに関数、HTTP要求などのイベント、必要なAWSリソースを書くよ。イベントを設定するとAPI Gatewayなどの構成も作る。CloudFormationで定義できるリソースを追加することもできるので、関数だけでなく周辺の構成も設計するんだ
ひよこ ひよこ
AWSからAzureやGCPへ簡単に替えられる?
ペンギン先生 ペンギン先生
以前の版には複数プロバイダーの対応があったけれど、v4ではAWS以外の対応を終了しているよ。今の説明でマルチクラウド対応を前提にしてはいけない。旧版の情報やプラグインを使う場合も、版と保守状況を確認するんだ
ひよこ ひよこ
設定ファイルを書けばすぐデプロイできる?
ペンギン先生 ペンギン先生
Framework側の認証と、AWSアカウントにアクセスする認証情報が必要だよ。作成・更新するリソースへの権限や、デプロイ先の環境も確認する。設定と権限が整ったうえでserverless deployを実行するので、コードだけ書けば全設定が終わるわけではないんだ
ひよこ ひよこ
オープンソースだから誰でも無料?
ペンギン先生 ペンギン先生
v4以降のCLIには利用条件があり、組織の条件によって有料の契約が必要だよ。v3以前とはライセンスや保守状況が違う。任意のDashboard機能は別の料金体系で、AWSの利用料も別に考える。採用前に使う版と最新の条件を確認するんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Serverless Framework」って出てきたら「関数とクラウドリソースを設定で管理するデプロイツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Serverless Framework」 = サーバーレス開発のフレームワーク
💬 Serverlessはサーバーレス、Frameworkは開発を支える枠組みだよ。クラウドの実行環境そのものではなく、アプリと必要なリソースを定義・管理するツールの名前なんだ

参考資料

← 用語集にもどる