2017年7月25日 星期二
AWS ECS 開始入坑筆記。
1.看了一下,去年十月剛推出,我就摸了,還有沒砍的repo,都沒注意到。
2.重摸,順很多,記得剛推出時,有很多靈異狀況都不見了。
3.ECS 主要是將每一個 專案 打包成 Docker Image 上傳到 ECR 上,之後的更新都是以更新 Image 為主。這和 eb (multi-docker)不一樣。
4.eb(multi-docker) 只能在一台機器裡只有1024的memeroy 配置到每一個 docker container 裡,如果只有一堆靜態網站,還ok,但當要操作db時,惡夢就來臨了。
5.原本 db 目錄在 instance 裡,當AWS 偵測到流量 HA 啟動時,會砍舊的instance,自動開新的instance,資料就全沒了。
6.當我開始掛ecs時,我的mongo一直不斷的掛掉,原來是memory不夠。但傻掉,eb只給1024可配置,我的container 還有 ui ...
7.另外不便是 eb create 之後,之前通常可以直接 eb deploy ,但掛 ecs 之後,每次都eb deploy fail.....所以每次都要再 eb create 新主機,也太折騰人。
8.因為問題太多了。另外看ECS經過半年的推出,看起來穩定很多,某默司大神用的很開心,好吧!
開始進入ECS的世界。
2.重摸,順很多,記得剛推出時,有很多靈異狀況都不見了。
3.ECS 主要是將每一個 專案 打包成 Docker Image 上傳到 ECR 上,之後的更新都是以更新 Image 為主。這和 eb (multi-docker)不一樣。
4.eb(multi-docker) 只能在一台機器裡只有1024的memeroy 配置到每一個 docker container 裡,如果只有一堆靜態網站,還ok,但當要操作db時,惡夢就來臨了。
5.原本 db 目錄在 instance 裡,當AWS 偵測到流量 HA 啟動時,會砍舊的instance,自動開新的instance,資料就全沒了。
6.當我開始掛ecs時,我的mongo一直不斷的掛掉,原來是memory不夠。但傻掉,eb只給1024可配置,我的container 還有 ui ...
7.另外不便是 eb create 之後,之前通常可以直接 eb deploy ,但掛 ecs 之後,每次都eb deploy fail.....所以每次都要再 eb create 新主機,也太折騰人。
8.因為問題太多了。另外看ECS經過半年的推出,看起來穩定很多,某默司大神用的很開心,好吧!
開始進入ECS的世界。
2017年7月24日 星期一
找出mongo一直斷線,導致parse-server跟著斷線,導致整個服務中斷的原因
1.發現 multi-docker的 eb 每一次 eb deploy 都會將舊的contianer 砍掉,重新建新的。
2.ebs mount 上去之後,mongo很容易斷線。
mongo很容易斷線的原因是因為mongo container 太小?
還是ebs太大?
3.直接mount node_moudle / 然後減少 ui 的 memory 加到 parse-server 跟 mongo 各256
4. 先 eb create 然後,設定完 https ; email
5.再將 版本丟過去
6.如果出現 Internal Server Error 就console重建吧
因為會重建container故
再進shell重新 service docker restart
2017年7月20日 星期四
aws eb multi-docker with ebs restart
最好先開好兩台機器
1. eb deploy如果動到 Dockerrun.aws.json 很容易導致整個 eb instance 掛掉,最好先將ebs snapshot 掛在能用的那台eb 然後,所有服務先轉過去,再繼續玩下去。
3.snapshot ebs volume
4.umount 舊的 ebs
5.mount ebs volume:snapshot
6.service docker restart
7.console reboot
不行的話 service docker restart 然後一個一個docker start
sudo docker start $(sudo docker ps -a -q)
8.確定都正常之後,再將服務轉回來
1. eb deploy如果動到 Dockerrun.aws.json 很容易導致整個 eb instance 掛掉,最好先將ebs snapshot 掛在能用的那台eb 然後,所有服務先轉過去,再繼續玩下去。
3.snapshot ebs volume
4.umount 舊的 ebs
5.mount ebs volume:snapshot
6.service docker restart
7.console reboot
不行的話 service docker restart 然後一個一個docker start
sudo docker start $(sudo docker ps -a -q)
8.確定都正常之後,再將服務轉回來
2017年7月18日 星期二
AWS eb 操作良方
一個eb環境
開dev , prod兩個,跟一個 ebs 資料存這裡
eb deploy 只到dev,免得搞掛全部
確認之後
就將版本 部署到 prod
是 需要 重啟 prod (因為ebs mount ; multi-docker 的 eb 會認不到,需要重啟!)
2017年7月17日 星期一
nodejs unzip
s3.getObject({ Bucket: opts.bucket, Key: key }).createReadStream().pipe(unzip.Extract({ path: 'data' }))
2017年7月13日 星期四
eb multi-docker ebs大雷
eb multi-docker 認不到 ebs ,必需要重新 service docker restart
https://dzone.com/articles/mounting-ebs-volume-docker-aws
然後再一個一個重新開啟。
https://dzone.com/articles/mounting-ebs-volume-docker-aws
然後再一個一個重新開啟。
2017年7月11日 星期二
2017年7月7日 星期五
訂閱:
文章 (Atom)