[AWS] Amazon AWS 實戰筆記與心得 - 工程幼稚園
文章推薦指數: 80 %
RDS 的操作方式比較原始一點,你在Console 開好一個DB Instance 之後,你必須要先指定哪一個Security Groups 可以連進去,或者是使用CIDR/IP 去指定哪台 ...
雲端正夯,所以說把工作上的事情丟到雲端上面去也是很合理的。
至於為什麼不選種花電信的HiCloud呢?這種事情還是去擲筊會比較準。
別鬧了,沒有競爭力的台灣IDC們
電費是經營IDC的最大成本???搞錯了吧???
HiCloud的頻寬計價現況與對比AmazonAWS的簡要分析
你看完再決定你要不要用HiCloud...
WhyAmazon?
跟傳統的Hosting比起來,當然可以自己控管的虛擬主機是比較有彈性的。
那或許你會說,VPS也不錯啊,的確,市面上還是有許多不錯的VPS服務商,在價格上也略顯優勢(AWS是按時計費,而大多VPS則是按月計費,例如C/P值超高的Linode)。
好處是什麼,
五花八門的服務
因為他是Amazon
壞處是什麼,
什麼都要自己來
新的東西太多學不完
其實優缺點應該不會這麼少,不過這種事情其實是見仁見智,我覺得好的地方可能大家不那麼認為。
總之也是,你用了才知道。
使用的服務
最近因為要把工作上的東西全數轉移到AWS上面,雖然之前已經有摸過一陣子,但是對於沒碰過得服務還是苦手了好一段時間。
這裡就當作是筆記可能比較恰當一點(笑
AmazonS3,AmazonEC2
這個應該不用特別說明吧?AmazonS3就是一個地方讓你可以放東西用的(籠統,而AmazonEC2則是提供虛擬主機的地方。
好處是,在同一個區域(Amazon把各種服務依照區域(Region)分割開來,S3與EC2之間互相存取檔案是不收費的。
所以,我們就可以從EC2上面,利用Amazon提供的SDK來將檔案放到S3去作儲存的動作。
而且,這個動作所需要的時間,以目前工作上最大檔案12MB來看,大概不用一秒。
另外附註一提的是,從Flickr,Picasa,Facebook爾等大型網站,利用cURL取得相片檔案(均取最大原始圖檔,透過EC2抓取,再轉存到S3,大概一秒。
Dropbox則例外,從EC2上傳到Dropbox並沒有想像中的快(笑
AmazonRDS
這是Amazon所提供的關聯式資料庫服務,說實在的,他的價格並沒有想像中的便宜。
各位可以去參考AmazonRDS的價目表。
雖然說Amazon也有提供nosql的資料表可用,不過目前實際工作需求,還是以關聯式資料表為主。
RDS的操作方式比較原始一點,你在Console開好一個DBInstance之後,你必須要先指定哪一個SecurityGroups可以連進去,或者是使用CIDR/IP去指定哪台機器可以連線。
當然,所謂的連線就是mysql-u
當然啦,你也可以在你的機器上面放phpMyAdmin來連線就是了。
至於說RDS的效能,這裡有篇有趣的文章可以參考一下,
MySQLonAmazonRDSpart1:insertperformance
MySQLonAmazonRDSpart2:DeterminingPeakThroughput
或許你會想說,既然我已經有EC2了,那我架在EC2上面就好了嘛,關於這點,這裡也有一系列文章可以參考,我個人是覺得,這種事情沒有必要一定要用在哪裡,端看個人需求。
像我就有弄一台FreeBSD專門跑MySQL這樣
HighavailabilityforMySQLonAmazonEC2-Part1-Intro
HighavailabilityforMySQLonAmazonEC2-Part2-Settinguptheinitialinstances
HighavailabilityforMySQLonAmazonEC2-Part3-ConfiguringtheHAresources
HighavailabilityforMySQLonAmazonEC2-Part4-Theinstancerestartscript
HighavailabilityforMySQLonAmazonEC2-Part5-Theinstancemonitoringscript
作者好像還有Part6,7還沒寫,可以持續關注一下!
AmazonSES
這是Amazon比較新一點的服務,全名是AmazonSimpleEmailService,這樣說你應該就知道他是作什麼用的了,用來作為廣發大量謎樣廣告信的好工具,這個工具目前還在beta,不過他也beta好一陣子了,不知道什麼時候會正式把beta拿掉。
使用方法其實蠻奇妙的,你要先設定認證過的送件者(VerifiedSenders),然後,可以透過API呼叫,或是經由SES裡面的SMTP的設定,來發送信件。
是的,只能透過API來發送而已喔(啾咪
AmazonRoute53
他就是一個DNS,而且還不算是很便宜的DNS(笑倒,選用他的原因很簡單,速度快,設定方便,而且也是Amazon的一環,而且當設定超過一個數量,價格還會有優惠。
實際應用
這是筆記文!真的!因為人老多忘事,所以一定要寫下來才行。
AmazonEC2建立AMI
以前要用ec2commandlinetool,現在在Console裡面按右鍵就做完了(喂。
我們要建立AMI當然是會有特殊需求的,通常就是所需要的環境建立好之後,再把我們目前的主機(EC2)整台打包成一個私有的AMI來使用。
好處是,當我們同樣的機器有大量需求的時候,我們就只要打開打開打開,佈署佈署佈署,上線上線上線。
當我們沒有用到的時候,就關機關機關機,甚至你要特密內特Terminate掉也可以。
通常AMI有分兩種,一種是S3-backed,另一種是EBS-backed。
以前在作AMI的時候,只能作S3-backed的,所以過程上就相對的複雜很多(比較麻煩一點。
現在Console有改了,可以用滑鼠右鍵在Instance上,點CreateImage(EBSAMI)一鍵搞定,而且還是EBS-backed的呢。
當然,神人Hank也有特別寫文紀錄,強烈推薦!
creatingEBS-backedAMIsfromrunninginstances
我昨天就是照著步驟作的啦,但是後來發現右鍵可以一鍵搞定讓我有股淡淡的哀傷。
是的,一鍵搞定他也是照Hank所說的方式去作,一樣會有個snapshot在裡面。
後來我也實作了S3-backedAMI,但是,啟動速度跟EBS-backed不能比啊(遮臉。
雖然我已經不用S3-backedAMI,不過這裡還是簡單紀錄一下,
首先你要有,
AccessKeyID
SecretAccessKey
cert-xxxxxxxxxx.pem
pk-xxxxxxxxxxx.pem
最後兩組pem要自己去建立,在SecurityCredentials裡面,X.509Certificates去建立一組。
然後把他下載下來這樣。
然後,就去開一台EC2,把你需要的環境全部建立好之後,然後切去/mnt底下(歐,mirco的機器好像沒有/mnt這個地方,所以你可能需要自己開EBS掛一組Volumes來用,開EBS請注意區域問題,跨區不能讀取喔!
然後呢,你需要把剛剛的pem傳上去(用scp或是sftp隨你,接著,你的環境中需要安裝ec2-api-tools喔!
如果你的Ubuntu找不到ec2-api-tools的話,請加入此PPA
ppa:awstools-dev/awstools
網址是,
awstoolsdevelopmentteam
建立IMAGE
$ec2-bundle-vol-d/mnt/-ccert-xxxxxxxxxx.pem\
-kpk-xxxxxxxxxx.pem-u
然後
傳到S3上面去,請注意區域(Region)的問題!你的EC2如果在美東,你丟上S3就把bucket開在美東,畢竟傳輸不用錢嘛(笑
上傳IMAGE到S3
$ec2-upload-bundle-b
AmazonElasticLoadBalancing
他叫做負載均衡(以下簡稱ELB,通常這件事情在實體機器上,我們都自己作,像是利用Nginx的backend/upstream去作掉這樣。
而Amazon所提供的ELB,則是會依照伺服器的健康狀態,來幫你將流量轉向其他的EC2上面去。
當然,你就必須要有一台以上一模一樣的EC2來給他使用,不過,我們沒事當然不會開那麼多機器來用,所以,這件事情有沒有必要見仁見智。
不過!
如果你會使用到自動擴展(AutoScaling)的話,你就得要設定ELB,一來省事,二來他搭配CloudWatch可以有比較彈性的變化。
關於ELB的說明,官方文件非常清楚,圖文並茂,大家可以參考一下,
GetStartedwithElasticLoadBalancing
自動擴展服務
剛剛說ELB來搭配CloudWatch作自動擴展,這邊就來說一下。
監控的部份,當我的服務負載過高的時候,需要增加機器來負荷突然增加的流量,所以會需要AmazonCloudWatch來作AutoScaling的觸發動作。
首先你需要下載AutoScalingCommandLineTool還有CludeWatchCommandLineTool來幫你作一些設定。
首先是要建立一個啟動的設定檔(launchconfig
$as-create-launch-config
當然,我們要搭配CloudWatch來作,所以,
$mon-put-metric-alarmmyHighCPUAlarm\
--comparison-operatorGreaterThanThreshold\
--evaluation-periods1\
--metric-nameCPUUtilization\
--namespace"AWS/EC2"\
--period600\
--statisticAverage\
--threshold60\
--alarm-actions<.....>\
--dimensions"AutoScalingGroupName=
關機如法炮製,我們一樣設定一個policy上他去關掉一台機器,
$as-put-scaling-policy
上述幾個工具,都會牽扯到區域(REGION)的問題,所以要小心。
這裡提供我在使用的環境變數設定,給大家參考一下,
exportEC2_PRIVATE_KEY=`pwd`/pk-xxxxxxxxxxxxxxxxxxxxx.pem
exportEC2_CERT=`pwd`/cert-xxxxxxxxxxxxxxxxxxxxx.pem
exportEC2_REGION=ap-northeast-1
exportAWS_ELB_HOME=`pwd`/ELB
exportAWS_AUTO_SCALING_HOME=`pwd`/AutoScaling
exportAWS_CLOUDWATCH_HOME=`pwd`/CloudWatch
exportJAVA_HOME=/usr/lib/jvm/java-6-openjdk
exportPATH=$PATH:$AWS_ELB_HOME/bin:$AWS_AUTO_SCALING_HOME/bin:$AWS_CLOUDWATCH_HOME/bin
其中,EC2_REGION就是你自己的區域,請記得改。
然後,我把ELB,AutoScaling,CloudWatch這三個工具下載下來,目錄換成那樣,如果你要照上面的用,也請記得修改。
另外,JAVA_HOME大家可能不太一樣,也別忘記改。
結語
好Amazon,不用嗎?
什麼HiCloud的,不要再相信沒有根據的說法了
Home
Twitter
FB
IG
[CSS]Flex/GridLayoutModules,part14
中秋連假寫稿好像有點不太應景,所以今天不會講太多東西,最後把Grid單元的對齊稍微補一下,連假嘛,大家輕鬆一點。
不過武漢肺炎肆虐,大家還是小心為上。
單元的對齊如同前些日子提及的,其實就只有兩種,第三種是縮寫不太想把他算進來。
資料的部分就不再次貼過來,忘記的人請參考
[CSS]Flex/GridLayoutModules,part13
單元對齊跟留白的部分今天會繼續,定位的問題基本上不出亂子的話就如同昨天說明的。
當然,如果再加上對齊跟留白,如果不小心也是會爆炸的。
對於留白問題,我一律設定為0(欸不是。
填滿(stretch)與留白(margin)我們現在已經會操作單元軌道來框住
[CSS]Flex/GridLayoutModules,part12
今天繼續來講Grid單元,昨天提到了對齊基本用法,今天繼續來講對齊與留白。
不過一開始,還是先解釋清楚關於格線與單元之間的事情。
總覺得15天就會結束了說(笑)。
單元與格線Grid容器提供了格線系統,然後每個格線將內容區塊化(
延伸文章資訊
- 1(一)前言--AWS經驗教學@ 台灣的Web工程師
前言AWS,全名Amazon Web Services,簡單地說是將公司營運的整套網站、資料庫,全數丟到AWS上去 ... 說了AWS那麼多的缺點,那麼為什麼還要使用AWS呢?
- 2AWS 使用心得分享 - 知乎
AWS Support是AWS的工单系统,几乎所有的AWS使用问题都可以通过提交AWS工单寻求帮助,包括账单账户问题、提高服务限制或是技术问题。在平时使用的频率是非常高的,但是 ...
- 3[心得] AWS 雲端專業級解決方案架構師(SAP) 準備心得
使用的客戶也是最多, 另外幾個知名公司如, Apple , Nextflix等等, 都是AWS的忠實的愛用者, 這次來說說考試的心得了. AWS solution architect ...
- 4AWS | 宅心仁厚
AWS. [AWS] Amazon AWS 實戰筆記與心得 · Amazon Web Services之門外漢心得 · Amazon AWS Cloud 簡體中文版 ... Amazon EC2...
- 5第一次在AWS EC2 執行Docker 就上手,新手入門之實作教學 ...
使用心得