Open2

localstackを開発に使うときのTIPS

kazup0nkazup0n

Docker コンテナで動かしているときにAWSサービス呼び出しのタイムアウトを再現する

コンテナにNET_ADMIN capを追加

docker-compose.yml
version: "3.9"
services:
  localstack:
    image: localstack/localstack:0.12.8
    environment:
     - SERVICES=sns,dynamodb
    cap_add:
      - NET_ADMIN

コンテナを再起動

docker-compose down; docker-compose up -d

この時、コンテナ名を確認しておく

iproute2をインストール

> docker exec -it <container name> /bin/bash
bash-5.0# apk add iproute2
bash-5.0# tc
Usage:	tc [ OPTIONS ] OBJECT { COMMAND | help }
	tc [-force] -batch filename
where  OBJECT := { qdisc | class | filter | chain |
		    action | monitor | exec }
       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[aw] |
		    -o[neline] | -j[son] | -p[retty] | -c[olor]
		    -b[atch] [filename] | -n[etns] name | -N[umeric] |
		     -nm | -nam[es] | { -cf | -conf } path }

遅延の設定

docker exec <container name> tc qdisc add dev eth0 root netem delay 500ms

参考: https://blog.kkty.jp/entry/2019/08/29/211431