【問題】
aws s3 sync で5gb程度のdumpファイルをS3にバックアップしていたのだけど、このとき帯域を使い切ってしまうらしく、毎朝3時にデータセンターからping監視アラートが飛んでくる羽目に。
【対策】
aws cliのconfigでs3の帯域制御を設定する
dev.classmethod.jp
# 帯域制限設定
aws configure set default.s3.max_bandwidth 10MB/s
# 確認
cat /root/.aws/config
[default] aws_access_key_id=hogehoge aws_secret_access_key=fugafuga region=ap-northeast-1 s3 = max_bandwidth = 10MB/s
★以下はtrickleで解決しようとしたときのメモ。
念のため残しておきます。。
【対策詳細】
trickleについてはこちらが詳しい。
http://apatheia.info/blog/2013/01/01/network-restriction-using-trickle/
「-d nで n KByte/sec にダウンロードが制限」
「-u nで n KByte/sec にアップロードが制限」
とのこと。
aws s3 sync コマンドにtrickleを追記
[before]
aws s3 sync /hoge/fuga s3://hogehoge/fuga --delete
[after]
trickle -s -u 5000 aws s3 sync /hoge/fuga s3://hogehoge/fuga --delete
# -sオプションについて
なお、“trickle: Could not reach trickled, working independently: No such file or directory” エラーには明示的に
- s(standaloneモード)をつけることで抑制できる。
参考:https://siguniang.wordpress.com/2015/05/17/throttle-network-bandwidth-per-program-with-trickle/
【現状】
trickle -s -u でやるとCPUの使用率が100%に、ロードアベレージが跳ね上がる等問題がありそうだったので
他の作戦を考えつつ様子見