Avance.Lab

実験

WSL2でLocalStackを使ってLambda を実行してみる~構築編~

公開日:2022.09.23 更新日:2022.12.08

tag: クラウド

こんにちは。ラボ記事投稿2回目のmotoKNです。

私自身、今のところ業務でクラウド環境を使う機会はほとんどありませんが、チーム内ではお客様からクラウドを使用したサービスをご依頼頂くことが多くなっています。そんな中インフラ部分の設計が不要になる AWSサーバーレス に興味を持ち調べると、AWSサーバーレスではAWS Lambda を使用するとのこと。

Lambdaの使い方を知るために、今回は 「LocalStack」 というローカル環境で使用できるクラウドサービスエミュレータを使い、ローカルで Lambdaを実行してみたいと思います。

LocalStackを使うと複数のAWSサービスが利用できる

LocalStackを使うと複数のAWSサービスを使用することできる。詳しくは公式より。

  • API Gateway
  • Cloud Watch
  • Dynamo DB
  • Dynamo DB Streams
  • EC2
  • ES(Elasticsearch Service)
  • IAM
  • Lambda
  • Logs
  • Route53
  • S3
  • SNS

など

構成図

WSLとは

WSLは、「Windows Subsystem for Linux」の略です。
Windows上でLinuxのツール、ユーティリティ、アプリケーション等をそのまま Windows 上で直接実行できます。

私のように普段はWindowsを使い必要に応じてLinux環境を使う方も、インストールや削除が簡単なので色々試した結果元のLinux環境に戻せなくなっても安心です。

WSL1とWSL2の比較や詳細は公式より。

環境構築(WSL2(Ubuntu-20.04))

WSL2が使用できるように機能を追加する

コントロールパネル / プログラムと機能 / Windowsの機能の有効化または無効化」を選択する

設定変更後、Windowsを再起動する

コマンドプロンプトを管理者モードで開き、WSL の既定(デフォルト)のバージョンを 2 に設定する

>wsl --set-default-version 2

WSLインストールするディストリビューションを一覧表示し、Ubuntu-20.04をインストールする

>wsl --list --online
NAME         FRINDRY NAME
~~~~~~~~~~~~~~~~~~
Ubuntu-18.04 Ubuntu-18.04 LTS
Ubuntu-20.04 Ubuntu-20.04 LTS

>wsl --install -d Ubuntu-20.04
Ubuntu 20.04 LTS はインストールされました。
Ubuntu 20.04 LTS を起動しています。

Ubuntu-20.04のインストールが完了すると、Ubuntuが起動するので、ユーザ名(test001)とパスワードを設定します。

Enter new UNIX username: test001
New Password:
Retry New Password:
passwd: password updated successfully
Installation successful!

Ubuntu-20.04のパッケージインデックスをアップデートします。

$ sudo apt -y update

Ubuntu-20.04のパッケージをアップグレードします。

$ sudo apt -y upgrade

LocalStack(Lambda)を使用する際に必要となるツールをインストールします。

zipファイルを扱うことが出来るようにする

$ sudo apt -y install zip

jsonを扱うことが出来るようにする

$ sudo apt -y install jq

Ubuntu-20.04を終了する

$ exit

コマンドプロンプトを起動し、Ubuntu-20.04のWSLバージョンを確認する

私の環境には以前CentOS7(WSL1)をインストールしていたため、以下のように表示されました。

今回インストールしたUbuntu-20.04はVERSIONの箇所が「2」となっておりWSL2でインストールされていることが確認できます。

>wsl -l -v
NAME          STATE    VERSION
*CentOS7      Stopped     1
Ubuntu-20.04  Stopped     2

Ubuntu-20.04を使用する際は、[スタートメニュー]ー[Ubuntu 20.04 on Windows]を選択します。

WSL2を使用したUbuntu-20.04の環境構築は完了です。WEB系の開発ではLinux環境を使用することが多いと思います。WSL2をインストールして気が向いたときにLinuxに触れてみるというのもよいと思います。

次回はDockerの環境構築の説明です。

motoKN

ヘッドスパと自転車で子供と出掛けるのが大好き。
疲れない体が欲しい40代。

関連記事