摘要:如果您所在的企業(yè)組織正試圖努力避免各種商業(yè)和技術(shù)陷阱,同時又對于資源的消耗有著密切關(guān)注,那么,我們建議您不妨可以選擇相當(dāng)有用的免費的亞馬遜云服務(wù)器。
看待亞馬遜Web服務(wù)的free tier的最佳方式是便是將其視為您企業(yè)的墊腳石。其可以讓您找到一點關(guān)于AWS和EC2的基本機制的感覺;初步了解亞馬遜對于虛擬機實例、存儲、數(shù)據(jù)和網(wǎng)絡(luò)的處理;并創(chuàng)建一個最終可以在一個完全成熟的、需要付費的AWS實例托管的項目。其也可以讓您學(xué)會如何管理和約束AWS的使用。畢竟,如果您不小心,您最終可能會需要為您企業(yè)的“免費”使用的AWS支付費用。
在這篇文章中,我們將與廣大讀者們一起來看看亞馬遜Web服務(wù)的free tier都為我們提供了什么服務(wù)及其所附帶的條件;然后仔細查看一下在這些約束條件范圍內(nèi),哪些是可能的或是實際可行的。從長遠來看,任何嚴(yán)肅的AWS用戶將要更充分更全面的利用亞馬遜云所提供的服務(wù)——但為什么不在此期間充分利用其免費的資源呢?借助其free tier,您可以找到一些使用AWS的感覺,啟動一些項目,甚至建立一款功能應(yīng)用程序或甚至同時實現(xiàn)三者。
作為一個側(cè)面說明,我們不妨來看看亞馬遜在其文檔中關(guān)于free tier的更加語焉不詳?shù)拿枋鼋榻B之一:“我們可能會在任何時候停止接受該產(chǎn)品的新的注冊用戶。”這可能是在亞馬遜公式化的樣板,但如果您正在考慮建立一個free-tier的賬戶的話,您還不妨現(xiàn)在立馬就去,趁其現(xiàn)在還可用的時候。
您一個月0美元都能夠獲得些什么?
AWS Free Usage Tier為啟動和運行許多的AWS組件提供了足夠的訪問。但即使其沒有為您提供所有您想要的資源;或者沒有為您提供您所夢想的服務(wù)器所的需要的組裝裝配,您也可以創(chuàng)造出一些有用的東西。但不要期望它能很好地擴展到非限制的公共用途。下面是對于一些最有用的AWS組件的綱要性描述;以及您可以從free tier獲得什么。
計算。您可以在EC2上運行一款Linux的微型實例或Windows Server微型實例,配置1GB的RAM,每月750小時。這是整整一個月的免費的、持續(xù)的CPU使用。
亞馬遜擁有一個Amazon Machine Images (AMIs)目錄,這讓您企業(yè)組織可以運行一系列不同的Linux和Windows系統(tǒng),其中包括Ubuntu Server 12.04和14.04,微軟Windows Server 2008和2012,集裝箱化的微型動態(tài)分布,如RancherOS和亞馬遜自己的Amazon Linux AMI。
并不是每一款A(yù)MI都有資格在free tier上運行(即使您企業(yè)使用了微型實例),只有那些已經(jīng)被明確標(biāo)注的。AWS的市場還有海量第三方應(yīng)用程序設(shè)備和服務(wù)器,可作為AMI實例——但同樣,并不是所有的都能在free tier上運行。
一系列范圍廣泛的機器實例可用于AWS。點擊側(cè)邊欄的復(fù)選框,以便為free tier過濾圖像。
存儲。沒有存儲空間,一個EC2實例也沒有多大用處。在free tier您被允許使用30GB的彈性塊存儲、5GB的亞馬遜S3存儲、以及50GB的從亞馬遜CloudFront的出站數(shù)據(jù)傳輸。但是,請務(wù)必注意,亞馬遜為每項服務(wù)限制了I/O 使用,當(dāng)您企業(yè)組織的使用超過時,會被收取費用。S3允許20000 GET和2000的 PUT請求。EBS允許200萬個I/O。 CloudFront允許使用200萬個請求。
I/O費用最終可能成為最大的隱形成本之一。例如,借助EBS,亞馬遜已經(jīng)變?yōu)榘凑彰縂B;甚至有時按照每百萬I/O請求(per-million-I/O-request)收取費用,這取決于您企業(yè)組織所使用的EBS的風(fēng)格特點。(我們在下面提供了關(guān)于管理 I/O 利用的技巧。)
數(shù)據(jù)庫。在亞馬遜的關(guān)系型數(shù)據(jù)庫服務(wù)(RDS)中,您可以選擇MySQL/MariaDB、PostgreSQL、Oracle BYOL或微軟SQL Server,每項數(shù)據(jù)庫服務(wù)每月均有750小時的使用,20GB的存儲,1000萬個I/O,以及20GB的備份存儲。
對于那些偏向于使用NoSQL的企業(yè)客戶而言,亞馬遜提供了DynamoDB,具備25GB的存儲和25個單位的讀取和寫入功能。亞馬遜也為這類用戶提供了ElastiCache和Redshift產(chǎn)品,每款產(chǎn)品均為用戶在free tier提供了750小時的使用——盡管限制了特定的機器類型。
對于存儲而言,為數(shù)據(jù)庫估計I/O可能會非常棘手,但嘗試使用低流量、數(shù)據(jù)庫驅(qū)動的站點,并且不在主要范圍運行,則可能是綽綽有余的。
分析。亞馬遜Elasticsearch可以在free tier運行750小時,具備10GB可選的EBS存儲。AWS數(shù)據(jù)管道每個月免費在free tier提供了三個低頻預(yù)處理(low-frequency precondition)和五個低頻活動(low-frequency activities)。
移動服務(wù)。這方面有許多免費的服務(wù)可供選擇,但其中最引人注目的是亞馬遜的簡單通知服務(wù)(Amazon Simple Notification Service,SNS),其允許在free tier進行一百萬的推送交付、100,000個HTTP/S 交付、以及1000封電子郵件。最重要的是,這些免費的服務(wù)并不會在免費期結(jié)束時到期;而對于亞馬遜Cognito,您企業(yè)組織所得到的用戶認證和身份代數(shù)量不受限制;對于亞馬遜的移動分析(Amazon Mobile Analytics),每月1億的免費事件分析;不那么慷慨大方的則是AWS Device Farm,您企業(yè)組織只會得到250臺設(shè)備的一次性免費試用。
物聯(lián)網(wǎng)。亞馬遜的free tier為其物聯(lián)網(wǎng)服務(wù)提供了250,000條消息服務(wù),無論是發(fā)布或推送。
開發(fā)者工具。那些為開源項目使用GitHub的開發(fā)者們現(xiàn)在習(xí)慣于在存儲或使用方面很少或沒有限制。AWS的代碼工具在free tier有局限性,但他們的存儲容量也相對比較高:每月50GB的存儲和10,000 Git的請求。不幸的是,AWS每月只提供一個活動CodePipeline,而每月只有五個活躍CodeCommit用戶。
管理工具。亞馬遜的CloudWatch慷慨的提供了百萬個API請求,5GB的日志攝入和歸檔,和10個自定義指標(biāo),以及對free tier的持續(xù)時間的10次警報,再加上三個儀表盤,每個儀表盤每月提供可達50個指標(biāo)。AWS Trusted Advisor只提供四個最佳實踐檢查。
密鑰管理。亞馬遜的加密密鑰管理服務(wù)每月可提供高達20,000個免費請求。
應(yīng)用程序服務(wù)。在這個總框架下有許多免費服務(wù)可用:
· API Gateway: 每月100萬的API調(diào)用。作為應(yīng)用程序創(chuàng)建服務(wù)的一款前端,如AWS Lambda,相當(dāng)有用。
· AppStream: Windows應(yīng)用程序可以交付到任何設(shè)備,每月免費服務(wù)時長長達20小時。
· Elastic Transcoder: 每月都包括20分鐘的音頻和SD視頻轉(zhuǎn)碼,以及10分鐘的HD轉(zhuǎn)碼。
· 簡單郵件服務(wù)(Simple Email Service): 亞馬遜的電子郵件服務(wù)每月提供了62000封郵件出站和1000封郵件入站。
· 簡單隊列服務(wù)(Simple Queue Service): 亞馬遜提供的可擴展的隊列系統(tǒng)為您在free tier提供100萬個請求。
· 簡單工作流服務(wù)(Simple Workflow Service): 在亞馬遜的云中的任務(wù)協(xié)調(diào)和狀態(tài)管理服務(wù)提供了10000個活動任務(wù),30000個工作流日(Workflow Day)和1000個初始執(zhí)行。
數(shù)據(jù)傳輸。這部分很簡單。您企業(yè)能夠跨所有AWS得到15GB的出站帶寬。就我個人的觀點看來,我自己個人的網(wǎng)站每月有5000人次的訪問,消耗大約1.2GB的帶寬。對于一個相對簡單——或者非公開的網(wǎng)站來說,15GB應(yīng)綽綽有余。
超越限制的規(guī)定
現(xiàn)在的壞消息是:亞馬遜已經(jīng)附加了一系列的規(guī)定限制到其free tier。除了上文中所列出的相關(guān)使用限制之外,您還應(yīng)該知道其他的相關(guān)限制。
核心服務(wù)的免費期限只有12個月。 AWS 的大部分最關(guān)鍵的服務(wù)選擇,包括EC2、S3和RDS——在您初次注冊之后,均被限制在只有12個月的免費使用權(quán)限。在那之后,通常是按照現(xiàn)收現(xiàn)付(pay-as-you-go) 模式支付費用。另一方面,其他一些服務(wù),如DynamoDB、簡單工作流、簡單隊列服務(wù)、簡單通知服務(wù)、Amazon Elastic Transcoder和CloudWatch等等,在注冊的第一年之后,企業(yè)用戶仍然有資格獲得free tier。
期待您企業(yè)的CPU(和帶寬)被進行節(jié)流。 微型實例被設(shè)計為間歇性突發(fā)事件提供最大的CPU。他們不提供一個完整的、連續(xù)的實例(亞馬遜將其稱之為“計算單元”)——您需要為此遷移到M1小實例。這使得一個微型實例“非常適合用于低吞吐量的應(yīng)用程序和網(wǎng)站,定期性地需要額外的計算周期”,每份亞馬遜的文檔都這樣寫道。
如果你企業(yè)所運行的應(yīng)用程序偶爾會達到100%的CPU使用率,是可以接受的。但是,如果是運行需要在很長時間內(nèi)100%的占用CPU的應(yīng)用程序,就需要被節(jié)流了。請注意,您企業(yè)內(nèi)部對于節(jié)流機器的統(tǒng)計數(shù)據(jù)將仍然報告CPU在100%的狀態(tài)運行,因此不要上當(dāng)。
您可以通過亞馬遜的EC2的儀表板監(jiān)視使用統(tǒng)計數(shù)據(jù),但您會從內(nèi)部運行的機器獲得更好更詳細的數(shù)據(jù)。
Windows服務(wù)器實例在free tier可能是一個緊密配合。取決于您打算執(zhí)行什么任務(wù),分配給Windows服務(wù)器實例的內(nèi)存量可能不足以運行一個雄心勃勃的浩大項目。而如果您正在做的僅僅只是一個靜態(tài)網(wǎng)頁,則應(yīng)該沒事。在free tier上的實例只提供 613MB的內(nèi)存,我可以在這樣的機器實例上安裝MySQL/Apache(通過 AMPPS網(wǎng)絡(luò)堆棧),并運行約20%的內(nèi)存。借助1GB的RAM內(nèi)存,您可能會做的更好,但是您仍然不能運行得太過頻繁。
另一方面,如果您企業(yè)正在通過一款A(yù)WS托管的數(shù)據(jù)庫實例(RDS)使用一個數(shù)據(jù)庫,該數(shù)據(jù)庫完全與您正在運行的機器脫離。借助RDS,您不必擔(dān)心在EC2實例上運行您正在使用的數(shù)據(jù)庫服務(wù)器。
您不會在默認情況下獲得一致的IP地址。由于AWS配置地址的方式,實例不會有一個靜態(tài)的IP地址或一致的專用DNS自動名稱。因此,不用DNS欺騙,托管被外界使用的免費網(wǎng)站是很難的,因為重置EC2實例將導(dǎo)致其IP地址復(fù)位。
慶幸的是,這種限制是很容易克服的。如果您想要一臺機器能夠被一般公眾一直持續(xù)訪問到,您可以使用EC2彈性IP地址,以便為一個免費的實例提供一個靜態(tài)IP。請記住,如果您保留一個地址,不將其與實例關(guān)聯(lián),您企業(yè)會被收取少量費用。
free tier的最佳實踐方案
顯然,free tier具有許多陷阱。由于資源的限制,如果您稍微不小心,就很容易被收取費用。故而當(dāng)您努力部署您企業(yè)的微型實例時,務(wù)必記住如下這些準(zhǔn)則。
留意您企業(yè)的帳單。 這一點其實是不用提醒的。但也請務(wù)必定期檢查一下您企業(yè)的AWS帳戶頁面,以查看您企業(yè)的運行是否產(chǎn)生了費用。如果您企業(yè)組織的使用已經(jīng)超出了free tier的范疇,亞馬遜是不會提醒您的,相反,您企業(yè)組織只會被默默地為任何沒有被free tier所覆蓋的使用資源進行計費。而如果您企業(yè)想要跟蹤您估計的使用資源情況或創(chuàng)建如果可能超出您企業(yè)的預(yù)算時的提醒警報,您需要看看亞馬遜的帳單警報系統(tǒng)。然而,您可以創(chuàng)建的警報和通知的數(shù)量是受到free tier限制的。
留意您企業(yè)的I/O使用情況。 如果您企業(yè)使用的是自己的服務(wù)器,那么您企業(yè)不太可能產(chǎn)生一筆大的I/O使用賬單。但是,如果您讓您的服務(wù)器公開,這一切可能會發(fā)生戲劇性地改變。
想要搞清楚您企業(yè)具體實例的I/O使用情況其實并不困難,但這需要勤奮而嚴(yán)格審查。EC2管理控制臺提供了監(jiān)測工具,盡管其在free tier上不如在付費服務(wù)中那般詳細。您無法在超過五分鐘的時間間隔內(nèi)得到一個免費的實例,然而您可以通過付費服務(wù)得到一分鐘的時間間隔內(nèi)的實例。
您也可以使用操作系統(tǒng)工具從實例中得到I/O 使用情況。這里在Linux上得到的一種方式。在Windows中,您可以使用磁盤傳輸/ Sec性能計數(shù)器。
您可以通過亞馬遜的報告系統(tǒng)跟蹤您企業(yè)的服務(wù)計費,這也讓您可以以CSV/XML格式下載,以獲得關(guān)于您企業(yè)服務(wù)費的詳細細節(jié)。
分配一個彈性地址以解決您的麻煩。一個彈性地址并不會使得您企業(yè)的帳單顯著增漲,而且其允許更容易的連接到您的系統(tǒng)。這對于Windows實例帶來了雙重價值,因為遠程桌面連接工具將連接地址和密碼存儲在一起。每一次當(dāng)您的網(wǎng)站被配置了一個新的IP地址時,您都必須創(chuàng)建一個全新的遠程桌面以連接到它。
在云中備份項目。您永遠不知道您將使用的服務(wù)器何時可能會出故障或者重新初始化。因此,最好是將有相關(guān)的數(shù)據(jù)存儲在亞馬遜的云中,而不是不厭其煩地重復(fù)上傳相關(guān)數(shù)據(jù)。一個EBS快照是實現(xiàn)這一點的便捷的方式,盡管您企業(yè)在free tier只有1GB的快照存儲。另外,您也可以附加一個EBS卷,并將文件直接備份到它,而以同樣的方式,您可以從一款傳統(tǒng)的系統(tǒng)執(zhí)行備份到外部驅(qū)動器。需要注意的是,您在free tier可以得到30GB的通用EBS存儲,這比您得到的快照存儲要多得多,但備份和恢復(fù)過程則完全是人工手動的。
下一步將何去何從?
一旦您掌握了在AWS free tier的相關(guān)訣竅,您可能會希望爬上亞馬遜食物鏈。那么,部署微型實例之后的下一步便是T2 Small、T2 Medium和T2 Large實例,其提供2GB到8GB的內(nèi)存,和一個或兩個的亞馬遜的“虛擬CPU”單位。一款T2 Small實例每月的起始售價大約在18.72美元左右。
而如果您企業(yè)的老板是一個十足的吝嗇鬼,也不需要24/7全天候的運行服務(wù)器,那么,您可以考慮采用一個spot instances服務(wù),您企業(yè)需要為您每小時所愿意支付的計算能力的最高價格投標(biāo)出價,如果 spot instances每小時的當(dāng)前價格上漲至超出了您企業(yè)的出價(價格的波動是基于供給和需求),那么,您的實例將停止運行。
最后,如果您企業(yè)想運行一些零星的東西,如備份服務(wù)器,檢查預(yù)留實例。一個reserve instance讓您企業(yè)能夠為一個固定的窗口支付一次性的費用——一至三年——并獲得每小時使用費用的一個顯著的折扣。在本文的寫作過程中,在Linux上的一個單一的T2 Small reserved instance每年的費用為151美元,加上每小時收費2.6美分,假設(shè)100%的利用率,全年費用大約170美元。
T2 Smalls、spot instances以及reserved instances,都非常實惠。當(dāng)您從free tier“畢業(yè)”的時候,您已經(jīng)積累了使用亞馬遜工具的大量的實踐經(jīng)驗,并能夠保證您企業(yè)的成本控制。
Spot instances讓您企業(yè)能夠通過招標(biāo)在未使用的容量上運行一臺機器。這是一項以小的資金投入間歇性運行一臺機器的有用的選擇。
本文作者Serdar Yegulalp是InfoWorld網(wǎng)站的一名資深作家,其文章主要集中聚焦于InfoWorld的科技新聞觀察、分析博客和定期性的測評領(lǐng)域。