🦑
Serverless FrameworkでGoのLambda Functionをデプロイする
Serverless Frameworkを使用して、Goで作ったLambda Functionをデプロイするためのメモ。最近、Goを勉強しています。
この記事で言いたいこと
公式のテンプレート
$ sls create --template aws-go-mod -p my-service
この記事で言いたかったこと
テンプレートを作りました
背景
「Serverless Framework Go Lambda」で検索すると、2018年にリリースされた公式の記事が上位にヒットし、この記事の中ではaws-go-dep
テンプレートを使用したデプロイ方法が紹介されています。
ところが、aws-go-dep
テンプレートで使用されているパッケージ管理ツールのdep
ですが、現在は非推奨です。Go 1.14からはmodule
を使用することが推奨されています。
そのため、2023年現在、大半のケースではaws-go-dep
テンプレートの使用しない方が良いでしょう。
そこで、aws-go-dep
テンプレートを使用せずに、GoのLambda Functionをデプロイする方法のメモとして、記事を書き始めました。
...が、少し調べると、moduleを使用したテンプレート(aws-go-mod
)がありました。まずは、こちらを使用してプロジェクトを作成してから、アレンジするのが良いでしょう。
$ sls create --template aws-go-mod -p my-service
以上です。
書きたかったことを少しだけ
せっかくなので、上記のテンプレートを使わずに作成したリポジトリを紹介しておきます。
リポジトリ
-
make deploy AWS_PROFILE=xxx
でデプロイすることで、任意のAWSアカウントにデプロイできます - 検証が終わりましたら、
make remove AWS_PROFILE=xxx
にて、デプロイしたリソースを削除してください
参考
GitHubで編集を提案
NCDC株式会社( ncdc.co.jp/ )のエンジニアチームです。 募集中のエンジニアのポジションや、採用している技術スタックの紹介などはこちら( github.com/ncdcdev/recruitment )をご覧ください! ※エンジニア以外も記事を投稿することがあります
Discussion