Motivation
ServerlessFramework をちょっと勉強したいので、触ってみる
- Python3
- AWS
実施すること
ServerlessFramework 経由で、関数を作成して、デプロイし、動作確認する
手順
前提
- npm (install 済)
- python3 (install 済)
ServerlessFramework のinstall
npm install -g serverless
Service の作成
serverless create --template aws-python3 --name sample-service --path sampleService
- template
利用するテンプレート名。 - name
このサービスの名前。 serverless.yml 内に書かれる - path
サービスを作成するパス。
sampleService ディレクトリにいくつかファイルが作られる
- handler.py
サンプルファンクション - serverless.yml
サービスの構成設定
(Optional) AWSアカウントの作成
IAM で serverless framework 用のIAMユーザーを作る
AdministratorAccess の権限を与えておく (強すぎるので注意)
AWSアカウントの紐付け
serverless config credentials --provider aws --key 1234 --secret 5678
- provider
プロバイダ。AWS使うので一択 - key
IAMクレデンシャル(アクセスキー) - secret
IAMクレデンシャル(シークレット)
デプロイ
region を追加する(default: us-east-1 らしいので)
serverless.yml
-provider:
- name: aws
- runtime: python3.7
- region: ap-northeast-1
デプロイする
sls deploy -v
- v
詳細を表示する
確認
Lambdaを実行してみる
sls invoke -f hello
{
"statusCode": 200,
"body": "{\"message\": \"Go Serverless v1.0! Your function executed successfully!\", \"input\": {}}"
}
- f
呼び出す関数名
AWS コンソール
Cloud Formationを利用して、S3, IAM Role, Lambda, Log Group が作成されている
要らなくなったらここから(も)消せる
まとめ
動作確認できた!