發表文章

目前顯示的是 6月, 2017的文章

[ AWS ] 建立 load balancer

選擇 Application Loab Balancer Basic Configuration Name - 負載平衡器的名字 scema  internet-facing 可以簡單想像是放在外網的負載平衡器, 用一般的 public ip 去分流 internal 可以簡單想成是在內網內的負載平衡器, 走 private ip去 分流  ip address type - ipv4 Step 1: Configure Load Balancer Listeners 監聽哪些 port HTTP 80 HTTPS 443 Availability Zones AZ是為了 HA (High Availibility), 當一個AZ毀掉之後還有另一個 選擇至少兩個 AZ Step 2: Configure Security Settings 針對此 load balancer 去做安全性設定 Select Certificate Choose an existing certificate from AWS Certificate Manager (ACM) 選擇使用 AWS Cert Manager 自己的憑證  Step 3: Configure Security Groups 設定 Security Group 允許 HTTP 80, HTTPS 443 port的所有流量 Step 4: Configure Routing Target group 建立一個新的 target group 給這個 load balancer 這個 load balancer 會將流量平均導入這個 group 的所有 EC2 Step 5: Register Targets 因為已經建立了 target group, 接下來就是將 ec2 註冊進去這個 group, 並且是要將流量導到這些EC2的哪個 port

[ collider ] webrtc websocket related

自己架設 collider 有幾點要注意 1. 一定要先開一個 nginx 並且保證使用 http get 此台網址的 response 要是成功的 2. nginx 設定如下 server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location /.well-known { root /var/www/ws.DOMAIN.com; } location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } } 3. /home/ubuntu/apprtc/src/collider/collider/collidermain/main.go內記得將 var roomSrv = flag.String("room-server", "https://api_server_domain", "The origin of the room server") api_server_domain換成自己的 server domain 4. 如果要上到production的話必須要讓 --tls設定為true sudo $GOPATH/bin/collidermain -port=8089 -tls=true 5. 並且將/home/ubuntu/apprtc/src/collider/collider/collider.go內底下這行的憑證給抽換成自己的 e = server

[ aws ] 動態修改ebs的容量/IOPS .. 等等

Ref: http://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/ebs-expand-volume.html 簡單整理重點 就是從aws console修改完ebs的容量後, 其實並不會馬上生效 有幾個步驟 (此處為linux/ubuntu指令) # 看自己檔案系統是用什麼的 # ext2, ext3 和 ext4 是用 resize2fs # XFS 是用 xfs_growfs sudo file -s /dev/xvd* # 列出此台ec2的block devices lsblk  NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT  xvda 202:0 0    16G 0 disk └─xvda1 202:1 0 8G 0 part / # 就像你看到 /dev/xvda1 在 16G 的 device 上仍然是 8G  # 所以要使用 growpart 將 8G 移到 16G 上 # 如果系統上沒有安裝 "cloud-guest-utils"的話請裝 # ec2 ubuntu 16.04上已經有了 apt-get install cloud-guest-utils  # resize partition  growpart /dev/xvda 1 # resize filesystem  resize2fs /dev/xvda1 接下來使用 df -h 就可以看到完成囉! 原文 請參考, 並搜尋 There's no need to stop instance and detach EBS volume to resize it anymore! ** 注意 假如說容量要加大的那台ec2 instance是有高流量的話要小心.. 我 api server 一開始用這個方法成功, 然後沒多久突然機器就葛屁 整個 instance 無法ssh, 透過 console reboot也無法, 也無法 terminate 最後直接用ami起一台新的, 強制把ip轉到新的那台.. 過了4小時才terminated... Orz

[ Docker ] 一日入門篇

Docker   - OS層級的虛擬化     - OpenVZ (X     - LXC     ( Linux Container )     - Docker (O Docker暫時無法取代VM Docker解決的問題     - 各種技術SDK版本與開發環境與production環境錯綜複雜的問題.. Docker VS VM   - 差異在Docker少了 GuestOS 一個container只裝一個process (db/ redis/ nodejs application .. etc) docker commit 盡量少用, reuse不方便   - 改用dockerfile docker run -dti    - t: terminal   - i: interactive   - d: daemon mode (跑到背景, 此容器會一直活著   - p: port mapping (host port 對應到 container port) docker run -p 80:80 nginx   - P: port 直接binding   --name docker run -d -p 80:80 --name web nginx --rm container結束後馬上刪除 docker run -ti --rm -p 80:80 --name web nginx  (啟nginx原本自己的指令) docker run -ti --rm -p 80:80 --name web nginx bash (不啟動nginx,只啟動bash) Old method (少用) 從容器內跳出來但不終止容器 Control p + Control q (Control 一直按著 跳回去都用 docker attach CONTAINER_ID New method docker run -dti busybox sh             # 把容器放到背景去執行 docker exec -it CONTAINER_ID sh  # 透過exec登入容器 Create Docker Image Example: 類似將image d

[ AWS ] S3 bucket policy 筆記

圖片
今天才知道原來s3 bucket沒設定好, 可以直接取得類似目錄底下的所有檔案路徑(跪 感謝同事大大幫忙提出了這個問題, 讓我對S3 bucket policy有稍稍研究 基本上 bucket policy 可以透過  http://awspolicygen.s3.amazonaws.com/policygen.html  產生 不過還是要稍微筆記一下一些東西 Principle為被影響的人 NotPrincipal為不受此 policy影響的人 Ex: 我要讓我某個bucket不能被看到底下所有路徑 (listBucket), 但是自己的帳號不要被影響 { "Sid": "Stmt1497943561488", "Effect": "Deny", "NotPrincipal": { "AWS": "arn:aws:iam::AWS_ACCOUNT_ID:root" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::BUCKET_NAME" } 參考資料 http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/s3-bucket-user-policy-specifying-principal-intro.html http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/example-bucket-policies.html