LoginSignup
2
2

More than 3 years have passed since last update.

Doker Desktop for Windows を利用した AWS lambda ローカルPC開発環境構築

Last updated at Posted at 2021-02-14

環境

  • Windows 10 Pro 20H2
  • docker desktop Version 3.1.0(51484)

docker desktop インストール

ちなみに、私のPCではインストール実行後、以下の問題が出て解決するまで時間がかかりました。

amazonlinux 起動

  • docker desktop 起動後、PowerShell より以下のコマンドを実行
docker pull amazonlinux
  • docker desktop の images > Images on disk より amazonlinux を RUN ボタンを押して Optional Settings を選択

image.png

image.png

  • Optional Settings で Container Name, Volumes を設定して Run ボタンを押す
    Windows のローカルフォルダ D:\lambda を Amazonlinuxコンテナの /windows にマウントする例
# Container Name
lambda

# Host Path
/d/lambda

# Container Path
/windows

image.png

  • Containers / Apps より amazonlinux の CLI 起動

image.png

必要コマンドのインストール

  • CLI に入るとroot状態で、まっさらな状態なので yum コマンドにて 諸々インストール

image.png

yum -y install util-linux procps wget jq sudo
yum -y groupinstall 'Development tools'
yum -y install zlib-devel openssl-devel
yum -y install libffi-devel

ユーザー作成

useradd username

sudo を利用できるようにする

  • visudo で /etc/sudoers を編集
visudo
  • コメントアウトを外して保存
# %wheel        ALL=(ALL)       NOPASSWD: ALL
↓
%wheel        ALL=(ALL)       NOPASSWD: ALL
  • ユーザーを wheel グループに追加
usermod -aG wheel username
  • ユーザーにスイッチ
su username

以降、スイッチしたユーザーでPythonなどインストール。

Python3.7のインストール

mkdir -p /tmp/python3.7
cd /tmp/python3.7
wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
tar zxvf Python-3.7.9.tgz
cd Python-3.7.9
./configure
make
sudo make install

python3 --version

aws cli インストール

mkdir -p /tmp/awscli
cd /tmp/awscli
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

aws --version

lambda 環境構築

python-lambda-local, lambda-uploader を利用する例。

cd ~
python3 -m venv lambda
. ./lambda/bin/activate
pip install -U pip
pip install boto3
pip install python-lambda-local
pip install lambda-uploader

LANG を UTF-8 に設定

~/.bashrc に以下を追加する。

export LANG=ja_JP.utf-8

localtime を UTC から JST に変更

日本との時差が9時間出てしまうのを修正。

date
Mon Mar  1 15:26:48 UTC 2021

ll /etc/localtime
lrwxrwxrwx 1 root root 25 Feb 14 04:21 /etc/localtime -> ../usr/share/zoneinfo/UTC

cd /etc/
sudo ln -sf ../usr/share/zoneinfo/Japan localtime

ll localtime
lrwxrwxrwx 1 root root 27 Mar  1 23:44 localtime -> ../usr/share/zoneinfo/Japan

date
Tue Mar  2 00:26:19 JST 2021

その他

lambda開発に慣れてきたらこの辺りも試したいところです。

参考

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2