Authorkilawang

AWS CLI 工具 saws

之前在AWS的FB上有看到這個工具的消息

當下就實際研究了一下

安裝方式很簡單

#apt-get install python-pip

#pip install saws

#saws

實際上大概就像這樣子

擷取

不過在執行之前要先設定aws configure,不然會出現錯誤

主要的功能就是讓你省去找CLI指令的麻煩

擷取

會主動提示可能的相關指令

但是也不是完全都可以幫你填上

例如有些參數指令必須自己先下 — 才會出現讓你選擇

不過整體來說可以省去很多時間就是了

 

AWS CloudWatch Dashboards

最近AWS在美國如火如荼的進行AWS re:Invent

然後今天一上班就發現AWS Cloudwatch進行了功能更新

可以製作自訂的Dashboards

擷取

操作方式滿簡單的

新增一個Dashboard 自訂名稱,如Prod-cpu

之後會看到下圖

擷取

目前我只測試第一個直接抓取預設的圖形,也就是Cloudwatch內建的監控指標

第二個我還不清楚如何使用,有查到我會上來更新

擷取

篩選完之後加入會變成這樣

擷取

這樣子一個分類就完成了

在瀏覽監控方面更接近一般的MRTG了

搭配Cloudwatch API

可以拉出來的監控指標更多了~

另外這個是可以自訂拉移的,很像桌面或是手機的Widget~

也可以放大觀察每一個圖形的細微資訊,在維運管理上更方便了~

 

AWS RDS 更新

最近應該很多人都收到了這封Mail

擷取

 

RDS針對MYSQL進行更新

很遺憾的是,我手上有七個帳號需要更新…

 

更新方式很簡單,選立即更新,或是排入AWS自動維護時間進行更新

忘記更新也不怕,AWS很貼心的會在2015/11/11之前全部強制幫你更新完畢

強迫中獎的概念就是了,只是自己來比較好

 

今天更新了大部分的環境,有些因為營運中無法處理

因為更新會中斷約15分鐘,RDS會被迫OFF LINE

 

不過算是學到了一次經驗,AWS有些應用與狀況還真的是要遇到了才會知道阿~

AWS device-farm(更新試用)

今天發現到AWS多了一個新的服務

https://aws.amazon.com/tw/device-farm/

通常很多APP開發者會遇到很多APP在各種裝置上的問題

對大公司來說,也許有財力可以去購買很多型號來解決

可是對個人開發者來說,這種問題就很麻煩

 

AWS 推出這個服務我看至少可以解決很多開發者的問題

加上也是在AWS 免費方案內

http://aws.amazon.com/tw/free/

 

AWS的野心還真大…XD

———————————————————————————————————-

剛剛跟同事要了一份APK

測試了一下

擷取

點進去看細節

擷取

可以看到畫面,效能,還有LOG等等的

擷取

後面是依各裝置的測試結果出圖

擷取

擷取

 

還不錯玩,可能要APP開發者才能物盡其用

我這種兩光的就知道這東西就好XD

 

 

 

AWS 課程資訊

如果說對AWS有興趣但不得其門而入的朋友

AWS最近在台灣有很認真的推廣

AWS Technical Essentials training

點連結後搭配時間可以搜尋課程然後報名

這算是基礎的簡介課程,時間約為一天

報名入口

但在報名之前需要申請AWS Training用的專屬帳號

這個就要請大家花點工夫去找囉  

如果真的沒有資訊,我這邊有之前講師提供的報名連結

可以找我索取

另外也有進階課程,基本上一次都約為三天

報名的門檻就只局限於AWS的合作夥伴

因為要找Account Manager報名,所以門檻比較高,但是相對的課程內容比較豐富

希望大家多多學習交流AWS囉~  

另外推廣AWS的FB社團 點我  

GeoIP 模組

記得之前在電商工作時

有一個需求是紀錄IP,突然想起以前用過一套工具 AWStats

而當中有一個需要注意的部份就是 GeoIP 模組

把全部的IP依照國家、程式區分

而現職也有這方面的需求,所以必須定期更新IP的資料庫

 

首先增加官方的軟體源(以下是Ubuntu)

$sudo add-apt-repository ppa:maxmind/ppa

更新並安裝

$sudo aptitude update

$sudo aptitude install geoipupdate

 

複製以下的內容至 /etc/GeoIP.conf

# The following UserId and LicenseKey are required placeholders:

UserId 999999

LicenseKey 000000000000

ProductIds GeoLite2-City GeoLite2-Country 506 517 533

 

執行

/usr/bin/geoipupdate

更新完畢的資料庫會在

/usr/share/GeoIP

 

必要時設定排程定期更新即可

 

 

SSH tunnel

如果你有一台VPS,反正現在VPS免錢的很好申請…

linode一台也才一個月六百NT…

當你需要翻牆的時候這方法比你做pptp或是l2tp還快還方便(前提是純網頁使用)

在跳板端直接KEY以下指令

ssh -NfD 跳板IP:8888 帳號@跳板IP -p22

例如

ssh -NfD 123.123.123.123:8888 kila@123.123.123.123 -p22

那個8888就是你要翻牆的port

之後請到IE或google瀏覽器設定proxy

區域網路設定->proxy伺服器(打勾)->點進階

選socks 打上跳板IP與PORT如 123.123.123.123 8888

選確定即可

這時候你的瀏覽器就走跳板出去了~

另外附上iphone的使用方法

在跳板機上建一個最簡單的WEB SERVER

把IP的指向目錄下建一支proxy.pac

內容填上

function FindProxyForURL(url, host)

{

return “SOCKS 123.123.123.123:8888”;

}

iphone設定url

http://123.123.123.123/proxy.pac

就一樣是設定翻牆出去囉~

Route 53 +S3 靜態轉址

昨天在調整公司的網址規則時查到的一個情況

因為之前本身的工作沒有這種需求,所以自然沒有遇過

正常來說DNS的網址都是設A解析給IP

例如

www.kilait.com  A  127.0.0.1

kilait.com A 127.0.0.1

但是現在公司的需求要指給ELB,而AWS ELB又是一個URL,所以只能給CNAME

(註:如果帳號是同一個,Route53 是可以用alias直接指定AWS相關服務的URL,但這裡不是同帳號)

舉例

www.kilait.com CNAME test-elb.ap-northeast-1.amazonaws.com

kilait.com CNAME test-elb.ap-northeast-1.amazonaws.com (這個無法指定CNAME)

發現問題了嗎? 答案是 kilait.com 不能指CNAME

因為他是root 網址,只能給A

這就頭痛了,因為對外入口是給ELB的URL,而不是IP

A是解不出去,不過還好有S3的靜態網址功能可以用

首先建立一個S3 Bucket 叫 kilait.com

然後如下圖設定

擷取

之後開 endpoint 的URL 看看是不是被轉給 www.kilait.com了

可以的話就到 route53改解析

擷取

Alias的地方選yes 下拉就會出現你剛剛設定的S3 endpoint

直接轉給s3幫你做靜態轉址

雖然多此一舉,但總算比直接給A解析IP好

會變成 kilait.com -> s3 -> www.kilait.com -> elb -> web

不過如果同帳號就沒這問題了

AWS Route53 可以這樣子做

kilait.com -> elb -> web

跨帳號有時候就是會這麼麻煩~

AWS ELB SSL 設定

每次遇到公司的狀況就打一下當作紀錄

如何設定 ELB SSL

新增ELB那邊就不說了

直接上設定~

擷取

重點在於(9/3更新紅字部份)

80 -> 80

80->443 (這樣子設定需要由程式端轉址)

擷取

443->443 (這樣子設定是由設定端轉址)

這要看你的後端server的邏輯,因為SSL是做在前端用

user -> ELB -> SERVER

SSL 正常是應用在 user -> ELB 這段

而 ELB -> SERVER 則屬於AWS VPC內部網段應用

HTTP 80->443 (這樣子設定需要由程式端轉址)(強制加密時)

HTTPS 需要設定 443-> 443(如果不用程式判斷而用web轉址的話)(強制加密時)

SecurityGroup 則是開一個有80/443全開的設定就好

擷取

接著是SSL憑證,由於我目前作業上的憑證不是我申請的,我也還沒實際驗證過正確性

所以這一段之後有問題可能會修改

擷取

填入private key 以及SSL驗證商給你的憑證填入 Key Certificate

下方的選項預設即可

之後進入 Health Check

擷取

如果你有index.html 或 index.php 你可以這樣子設定

但通常我會直接tcp 設定ping 80

接下來選server跟設定tag就不多解釋了

重點在於SSL那邊

 

另外server上的SecurityGroup 要設定允許ELB的SecurityGroup連線

例如 :

ELB 允許 80/443 來源是0.0.0.0/0 ,名稱是 sg-11111

Server 允許 80/443 來源是 sg-11111,名稱是sg-11112

類似這樣子的設定,不然流量導不到後端server上

架構會變成

user   ->   elb(sg-11111)    ->   server(sg-11112)

443                               80

AWS RDS Slowquery log 設定

昨天忙了一天的RDS相關設定

整理出一些心得

 

RDS不像是一般的資料庫設定,以MySQL來說,通常我們會去改 my.cnf

但在RDS當中要修改資料庫相關參數,只能修改Parameter Group

擷取

預設啟動資料庫時,RDS會給你一個預設的設定資料,這是無法更動的

所以要自定義參數時,就必須自己新增一組出來,如下圖

擷取

那需要修該參數時

點選你要修改的參數前方的放大鏡~

因為參數太多,所以要用Filter的方式找出需要修改的參數

而有些參數是RDS鎖死無法修改的

擷取

擷取

這裡我們主要是要開啟slow query log

所以列出需要修改的參數

slow_query_log    1   (1是啟用,預設是0)

long_query_time 1   (這裡是秒數,超過1秒就記錄LOG)

log_output option File (LOG輸出格式,預設是table,在AWS上觀看要選File)

設定完畢之後修改RDS的設定

擷取

之後套用需要時間生效(註:某些參數需重啟RDS才能套用)

擷取

這樣子就生效了

在控制介面下方的LOG就可以觀察到log了

© 2024 Kila's IT Home

Theme by Anders NorénUp ↑