Open2
localstackを開発に使うときのTIPS
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
DynamoDBでランダムにProvisionedThroughputExceededExceptionを発生させる
環境変数 DYNAMODB_ERROR_PROBABILITY
に0〜1の範囲で発生確率を指定する。
元ネタ
READ, WRITEそれぞれ向けにDYNAMODB_READ_ERROR_PROBABILITY
, DYNAMODB_WRITE_ERROR_PROBABILITY
もある