概要
Serverless Framework を試すためにすることをまとめました。
はじめに
Serverless Framework を試すのに 3 点候補あげておきますが、この記事では「AWS Lambda」を扱います。
- Amazon Web Services
- AWS Lambda
- Google Cloud Platform
- Google Cloud Functions
- Microsoft Azure
- Azure Functions
前提条件
- AWS アカウント作成済み
- AWS マネジメントコンソールに入れること
- IAM でアクセスキーを作成済み
- IAM で作成したアクセスキーを確認できる状態にすること
- Homebrew をインストール済み
- Node.js をインストール済み
-
npm -v
で問題なくバージョンが表示されること
やることリスト
- awscli のインストール
- AWS CLI の設定
- Serverless Framework のインストール
awscli のインストール
AWS の機能をターミナル上から使えるようにするためのもの。
brew install awscli
AWS CLI の設定
-
accountName
は任意の名前 -
--profile
はどのアカウントを設定するのかを明示するもの- (複数の AWS アカウントを扱えるようにきちんと切り分ける)
aws configure --profile accountName
解説
IAM で作成したアクセスキーを見ながら入力する。
$ aws configure --profile accountName
AWS Access Key ID [None]: ここには Access key ID
AWS Secret Access Key [None]: ここには Secret access key
Default region name [None]: ap-northeast-1
Default output format [None]: json
- Default region name について気になる人はリージョンとアベイラビリティーゾーン
- Default output format はいくつか種類がありますが気になる人は出力形式について
Serverless Framework のインストール
npm install -g serverless
Serverless Framework で雛形を作成
-
--template
は他にも指定できるものがあり、serverless create --help
で確認できます -
--path
で指定した名前のディレクトリが作成される
serverless create --template aws-nodejs --path quick-start
実行結果
"
_______ __
| _ .-----.----.--.--.-----.----| .-----.-----.-----.
| |___| -__| _| | | -__| _| | -__|__ --|__ --|
|____ |_____|__| \___/|_____|__| |__|_____|_____|_____|
| | | The Serverless Application Framework
| | serverless.com, v1.36.3
-------'
Serverless: Successfully generated boilerplate for template: "aws-nodejs"
作業ディレクトリに移動
cd quick-start
早速 AWS に デプロイする
-
--verbose
は情報を詳細に出してくれる -
--aws-profile
はaws configure --profile
した時の名前を入れる -
--region
は東京(ap-northeast-1)を指定
serverless deploy --verbose --aws-profile accountName --region ap-northeast-1
実行結果
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Creating Stack...
Serverless: Checking Stack create progress...
~~
~~
Serverless: Stack update finished...
Service Information
service: quick-start
stage: dev
region: ap-northeast-1
stack: quick-start-dev
api keys:
None
endpoints:
None
functions:
hello: quick-start-dev-hello
layers:
None
Stack Outputs
HelloLambdaFunctionQualifiedArn: ...
ServerlessDeploymentBucketName: ...
デプロイしたやつを AWS 上で確認する
AWS コンソールにログイン後
- 東京リージョンになっていることを確認
- サービス検索から「Lambda」を検索する
Lambda の画面で
- 左側に見える「関数」をクリック
- 今回デプロイしたもの「quick-start-dev-hello」をクリック
quick-start-dev-hello の画面
この画面を活用する方法は別記事で説明します。
デプロイしたものは、この様に確認できます。
デプロイしたやつを実行する
-
--function
は実行したい関数の名前 -
--log
は実行した時のメモリ使用量や実⾏時間、課⾦対象時間などを表示 -
--aws-profile
、--region
は前回の通り
serverless invoke --function hello --log --aws-profile accountName --region ap-northeast-1
実行結果
{
"statusCode": 200,
"body": "{\"message\":\"Go Serverless v1.0! Your function executed successfully!\",\"input\":{}}"
}
最後に
今回試しに動作させたものを消す
不要だったら捨てる。
必要ならまた serverless deploy
しましょう。
serverless remove --aws-profile accountName --region ap-northeast-1
次回
Serverless Framework で API サーバーを構築するやつをやっていきましょう。