📝
WSL2環境のUbuntu内にLocalStackをインストールして起動する際の問題と解決策
はじめに
LocalStack を WSL2 環境に pip インストールで導入する際に、いくつか問題が発生したので、その問題に対処した結果のインストール手順のメモです
他にもインストール手段はありますが、今回は環境の都合で pip からインストールしたときのものとなります
LocalStack とは
AWS の機能をローカル環境でエミュレートしてくれるものになります
対応している機能前提
WSL2 有効化済み
今回の環境は Ubuntu20.04.5 LTS を使用
必要なものをインストール
apt 更新
sudo apt update && sudo apt upgrade -y
docker インストール
キー設定
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
リポジトリ更新
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
インストール
sudo apt install docker-ce -y
動作確認
docker サービス起動
sudo service docker start
サービス起動確認
sudo service docker status
LocalStack インストール、起動
localstack インストール時に削除に失敗するライブラリ(cryptography)を手動で削除
sudo apt install python3-pip -y
sudo rm -r /usr/lib/python3/dist-packages/cryptography
sudo rm -r /usr/lib/python3/dist-packages/cryptography-2.8.egg-info/
pyopenssl が古いとエラーとなっていたため更新
sudo pip install --upgrade pip
sudo pip install pyopenssl==22.1.0
localstack インストール
sudo pip install localstack
docker 起動(起動していなければ)
sudo service docker start
起動
sudo localstack start
動作確認
(pip で awslocal インストール済みであること)
SNS のトピック作成
awslocal sns create-topic --name test-topic
コマンド実行結果↓
{
"TopicArn": "arn:aws:sns:us-east-1:000000000000:test-topic"
}
awslocal sns list-topics
コマンド実行結果↓
{
"Topics": [
{
"TopicArn": "arn:aws:sns:us-east-1:000000000000:test-topic"
}
]
}
Discussion