初心者インフラエンジニアが困ったときに試行錯誤するブログ

インフラエンジニアが,開発の勉強をするときのログを残します

【AWS】サーバーレスフレームワークを導入してみる.

実現したいこと

AWS Lambdaをさわっていると,ローカルでデバッグしたい!開発したい!   ってなりますよね.ほんのすこし調べたら簡単にできました.
Serverless Frameworkというのを使用して,それを実現しようと思います.

やったこと

nodeのインストール

$ brew install anyenv
$ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
ANYENV_DEFINITION_ROOT(/Users/ ~~~/.config/anyenv/anyenv-install) doesn't exist. You can initialize it

と言われてバグったので,指示通りに以下を行うと解決

$ anyenv install --init

各**envをupdateするためのプラグイン

$ mkdir -p $(anyenv root)/plugins
$ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update

nodenvのインストール

$ anyenv install nodenv
$ exec $SHELL -l
$ nodenv -v

nodeのインストール

$ nodenv install 11.10.0
$ nodenv global 11.10.0 
$ nodenv local 11.10.0 

Serverless Frameworkのインストール

$ npm install -g serverless
#pathを表示
$ npm bin serverless 
# pathを通す
$ echo 'export PATH="$HOME/node_modules/.bin/:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
$ serverless -v

AWSのcredentialをslsに通す

$ serverless config credentials --provider aws --key hogehogehoge --secret fugagu

sample appを作る

$ serverless create -t aws-python3 -p sample-app

デプロイするときはこんな感じで行う

$ sls deploy

テストするときはこんな感じ

$ sls invoke -f hello

以上で,サーバーレスフレームワークの導入を完成しました!

注意点

こんなエラーがでたので,対処してみる

AWS provider credentials not found. Learn how to set up AWS provider credentials in our docs here: <http://bit.ly/aws-creds-setup>.

これはaws credentialの設定をしていなかったからでした.上記のを実行すれば解決しました.

参考

以下の記事を参考にさせていただきました. https://dev.classmethod.jp/cloud/aws/easy-deploy-of-lambda-with-serverless-framework/ https://qiita.com/tonkotsuboy_com/items/5322d226b6783d25b5df https://github.com/anyenv/anyenv https://qiita.com/zaburo/items/8ac16133c3823c6e6ad6

本記事について

本記事は,学習を目的に書かれています.

間違い,改良案などございましたら,コメントしていただけると幸いです.

基本的に編集途中ですので,何を書いてほしいかもコメントいただけると,

その情報を中心に追記します.