sakutarou’s blog

とりあえずWeb系技術をゆるく書いていく

Serverless Framework v1 を使ってみた

Lambdaでの開発を高速化、便利にするフレームワークServerless Framework がver1.0が出たみたいなのでやっと触ってみました。
1.0が出たばかりで古い情報が多かったので自分の備忘録もかねて残しておきます。

CentOS6上に構築してます。

インストール

nodeのインストール

nodeのv4以上が必要となります。
バージョンが低い場合は入れなおしましょう。

node -v
> v4.6.1

入れなおす場合

# インストールされているnodeを削除する
yum erase nodejs

# リポジトリの追加
rpm -Uvh https://rpm.nodesource.com//pub_4.x/el/6/x86_64/nodesource-release-el6-1.noarch.rpm

# nodeのインストール
yum install nodejs

# バージョン確認
node -v
> v4.6.1

Serverless Frameworkのインストール

npm install serverless -g

serverless -v
> 1.0.3

AWS IAMの作成

AdministratorAccess権限を持ったIAMを作成します。
デプロイ時に使用するユーザーとなります。

Serverless Frameworkテンプレートの作成

適当なディレクトリで、以下のコマンドを実行して初期構築を行います。
テンプレートファイルが作成されます。

mkdir hoge
serverless create --template aws-nodejs --name hoge

template、nameには自由に設定してください。
templateは以下の好きなものを選んで問題ありません。

serverless.ymlの追記・修正

serverless.ymlには様々な設定が記述されています。
その中から、 regionaccessKeyIdsecretAccessKey を追記・修正します。

provider:
  region: ap-northeast-1

  credentials:
    accessKeyId: {{AWS IAMアクセスキー}}
    secretAccessKey: {{AWS IAMシークレットキー}}

regionは使用するリージョンを設定してください。
デフォルトだと、バージニアにデプロイされます。
credentialsについては、他にもaws-cliのcredentialsを使ったりできるみたいなのですが、手っ取り早く動かすために serverless.yml に追記してます。

デプロイ

以下、コマンドを実行することで Lambda へデプロイすることが可能です。

serverless deploy -v

実行結果として、endpointが表示されます。
endpointへブラウザからアクセスして messageに Go Serverless v1.0! Your function executed successfully! が表示されれば成功です。

次回へ続く