【テックブログ】ローカルでAWS Lambdaの開発環境を構築した話
Photo by Possessed Photography on Unsplash
難しめの案件が終わったので最近AWS Lambdaを使っていろいろと遊んでいるのですが、
ブラウザでコードを書くのが面倒になってきたのでローカルで開発できる環境を構築しました。
今回はその話です。
AWS Lambdaとは
AWS Lambdaを知らない方のために、軽く概要をご説明します。
AWS Lambdaは、AWSで利用できるFaaS(Function as a Service)になります。
公式では以下のように記載されています。
AWS Lambda は、サーバーレスでイベント駆動型のコンピューティングサービスであり、サーバーのプロビジョニングや管理をすることなく、事実上あらゆるタイプのアプリケーションやバックエンドサービスのコードを実行することができます。200 以上の AWS のサービスやサービス型ソフトウェア (SaaS) アプリケーションから Lambda をトリガーすることができ、使用した分だけお支払いいただきます。
サーバレスは文字通り「サーバが不要」ということです。
従来ではWebサービス等はサーバを導入し、そこにミドルウェアを入れ、更にその上にアプリケーションを乗せる必要があります。
そのため、運用管理にはサーバやミドルウェアも含まれることになります。まあ大変ですね。
これがサーバレスになると、サーバやミドルウェアの管理がクラウドサービスプロバイダ側の管轄となるため、
これらの運用管理をする必要がなくなります。
アプリケーションを作成するだけでWebサービス等が構築できるようになるわけですね、便利です。
AWS Lambdaはこのサーバレスが特徴の1つで、クラウド上に作成したアプリケーションをサーバやミドルウェアの手配をせずともインターネット経由で実行できるサービスになります。
ローカルでの開発環境構築
AWS LambdaはAWSのマネジメントコンソール(Webブラウザ)上でコードを書くのですが、やはりVSCodeなどの使い慣れたツールを使えるローカルで開発したいですよね。
というわけでローカルの開発環境を構築していきましょう。
準備するものは以下です。
- Python ※本記事ではインストールについて省略します
- AWS CLI
- SAM CLI
- AWS Toolkit(VSCode拡張機能)
AWS CLI
AWS CLIは、マネジメントコンソール上でできることをコマンドラインからもできるようにしてくれるツールです。
インストール
まず、以下のリンクからAWS CLIのインストーラをダウンロードします。
https://awscli.amazonaws.com/AWSCLIV2.msi
ダウンロードが完了したらインストーラを起動して、画面の指示に従ってAWS CLIをインストールします。
以下の画面になっていればインストールはOKです。
正常にインストールできているかどうか確認します。
PowerShellを開き、以下のコマンドを入力します。
aws --version
こんなメッセージが出ていればOKです。
初期設定
【注意】以下はAWSのベストプラクティスではありません。
AWS CLIを使うにはAWS IAMアカウントの認証情報の設定が必要です。
必要な情報は「アクセスキー」と「シークレットアクセスキー」の2つになります。
アクセスキーはIAMのユーザページから発行します。
①「アクセスキーを作成」をクリックします。
②ユースケースの「コマンドラインインターフェイス(CLI)」を選択して、「上記のレコメンデーションを理解し、アクセスキーを作成します」にチェックを入れて次に進めます。
③説明に用途などを記入し、「アクセスキーを作成」をクリックします。
④アクセスキーとシークレットアクセスキーをメモします。
【注意】シークレットアクセスキーはここでしか確認できません!
⑤取得したキー情報をAWS CLIに設定します。
PowerShellを開き、「aws configure」を実行して以下の通り情報を入力します。
- 【AWS Access Key ID】アクセスキー
- 【AWS Secret Access Key】シークレットアクセスキー
- 【Default region name】デフォルトのリージョン名(ap-northeast-1など)
- 【Default output format】デフォルトの出力フォーマット(jsonでOK)
これで初期設定は完了です。動作確認として以下のコマンドを実行しましょう。
aws s3 ls
AWS S3のバケットの一覧が表示されていれば問題なく実行できています。
SAM CLI
AWS SAM(AWS Serverless Application Model)は、AWS上でサーバーレスアプリケーションを構築および実行するデベロッパーのエクスペリエンスを改善するツールキットです。
SAM CLIは、AWS SAMテンプレートやサポートされているサードパーティーの統合と併用することで、サーバーレスアプリケーションを構築し、実行できるコマンドラインツールです。
インストール
以下のリンクからSAM CLIのインストーラをダウンロードします。
https://github.com/aws/aws-sam-cli/releases/latest/download/AWS_SAM_CLI_64_PY3.msi
ダウンロードが完了したらインストーラを起動して、画面の指示に従ってSAM CLIをインストールします。
以下の画面になっていればインストールはOKです。
正常にインストールできているかどうか確認します。
ターミナルを開き、以下のコマンドを入力します。
sam --version
こんなメッセージが出ていればOKです。
AWS Toolkit
AWS ToolkitはAWS上でのアプリケーションの作成やデバッグ、デプロイを容易にするオープンソースプラグインです。
インストール
AWS ToolkitはVSCodeの拡張機能ですので、VSCodeからインストールできます。
VSCodeの拡張機能ペインからAWS Toolkitを検索してインストールします。
これにて開発環境構築は完了です。
実際に使ってみた話は記事にすると長くなりそうなので、別の記事にさせていただこうかと思います(近日中に記事作成します)。