一篇文章瀏覽AWS雲服務產品

一篇文章瀏覽AWS雲服務產品(原文

AWS雲服務的產品有不少(如圖一所示),每一種產品都有特殊用途,通常狀況下咱們須要將不一樣類型的產品組合在一塊兒(如圖二所示)纔可以構建一個可擴展,高性能,可容錯的系統,所以這一章的內容將介紹AWS常常被使用的服務。數據庫

【圖一】 編程

【圖二】緩存

在分析每一種服務以前,須要說明一點的是AWS的服務分佈在全球多個位置。這些位置由地區和可用區域構成。每一個區域 都是一個單獨的地理區域(Region)。每一個區域均有多個相互隔離的位置,稱爲可用區(Available Zone)。有的服務在某些區域是不提供的,並且區域與區域之間是徹底隔離的,所以區域之間傳輸數據是須要收費的。AWS目前所提供的區域以下圖所示:安全

好比美國東部有2個區,它們分別是:US East(N. Virginia)和US East(Ohio)。每個區都有對應的區域代碼,好比US East(N. Virginia)的區域代碼是:us-east-1,可用區由區域代碼後跟一個字母標識符表示;例如,us-east-1a,其含義是指區域US East(N. Virginia)中的可用區是a。當你選中某個區並建立雲服務的時候,須要爲該服務選擇一個可用區。服務器

EC2

EC2(Elastic Compute Cloud)是AWS很是基礎的一款服務,其主要功能是提供計算服務,好比你能夠經過亞馬遜控制檯本身建立一個EC2資源,你能夠把這個計算資源當作一臺虛擬機,它可以計算,可以讀寫存儲,可以通訊。你能夠同時建立多個EC2資源,這些EC2可能運行在一臺物理機器上也可能分佈在多臺物理機器上。網絡

經過以上描述,你能夠把計算資源想象成有多臺物理設備放在一塊兒造成了一個總體,這個總體擁有了強大的運算能力,而這些運算能力能夠經過成千上萬個EC2資源進行分解,並獨立地提供給想要使用的企業或我的。當企業或我的不須要這些計算資源的時候就能夠將其釋放給其它企業或我的使用。分佈式

EC2是一臺虛擬機,它可以運行Python寫的程序,可以運行數據庫,可以運行網頁應用好比digolds.cn就是運行在AWS的EC2上的。在現實的項目中,EC2通常是用來運行程序的,所以你可使用C++、C、JavaScript、Java、Python、Ruby等等語言來編寫程序,而後在EC2上準備程序依賴的運行環境,此時EC2就能夠運行這個程序。性能

S三、EBS、EFS

直到今天,幾乎全部的線上服務都須要存儲數據,這些數據包括用戶信息、圖片、歌曲、視頻等等。爲了可以有效地存儲和讀寫數據,那麼須要編寫一些程序專門用於解決存儲問題,幸運的是AWS提供了S3(對象存儲)、EBS(塊存儲)和EFS(文件存儲)存儲服務,專門用來存儲數據的。每種服務都有不一樣的用途、計費方式以及存儲方案。接下來咱們將瞭解一下每一種存儲服務的特色和用途。翻譯

Amazon Simple Storage Service (Amazon S3) 是一種對象存儲服務,這個服務的特性是具備可擴展性、數據可用性、安全性和高性能。經過S3,咱們能夠把文件以對象的形式存進去並獲得一個惟一標識這個文件的Key,經過這個Key即可以從S3中得到該文件的內容。這個對象除了文件內容自己,還包括描述該文件的元數據(好比該文件的大小)。好比咱們向S3中存儲了大小爲23KB的文件,那麼S3中將有一個對象包含了23K以及該文件內容。設計

S3常常被用來放一些靜態資源文件好比CSS、Javascript、圖片,視頻等等,好比你們常常看到B站上的視頻,實際上是能夠放在S3上存儲的,又因爲S3易於擴展,因此能夠不停地往S3中存儲靜態資源。互聯網上的用戶能夠直接訪問到S3上存儲的數據,這是它的一大特色。

Amazon Elastic Block Store(Amazon EBS)是塊存儲服務,這種塊存儲服務通常會掛接到EC2實例上使用。它具備持久化和快速讀寫的存儲能力,其存儲的單元是基於塊的,如上圖中間的(Block Storage)。它沒法直接被互聯網訪問,其經常被用於存儲常常要用到的文件,好比系統的驅動程序。

Amazon Elastic File System(Amazon EFS)是文件存儲服務,這種存儲服務能夠同時被多個EC2實例使用,並且隨着存儲文件的數量和大小變化而變化。也就是說當數據量變多(變少)的時候,它會自動增長(縮減)存儲空間,以便容納更多(更少)的數據。EFS很是適合內容管理系統(CMS),好比WordPress就是一種流行的CMS,這些內容能夠存儲在EBS上,而後由多個EC2實例讀取,當管理員只須要更新或添加新的內容到EFS上,那麼全部的EC2實例將會獲得內容徹底一致的信息。這種一致性的能力在EBS上是作不到的,由於每個EBS只能掛接到惟一的一個EC2實例上,而EFS可以同時掛接到多個不一樣的EC2實例上。

CloudFront

Amazon CloudFront 是一個基於雲的內容交付網絡(CDN),提供並與亞馬遜 Amazon Web Services 套件集成。由亞馬遜網絡服務系統提供基礎服務的一個內容分發網絡。其在歐洲、亞洲、北美、澳洲、南美、美國多個主要大城市多地擁有本身的數據中心,共 107 個網絡邊際服務點提供服務。

Amazon CloudFront 內容交付網絡容許經過在主要商業中心運營的區域中心全球分發數字內容。它減小了經過其分佈式內容傳遞通道訪問靜態和流數據的延遲,這確保了數據從最近的 CDN 服務器傳遞給收件人。Amazon CloudFront 是一種即用即付模式,能夠輕鬆地與全部 Amazon Web Services 集成。

Amazon CloudFront 專爲須要向亞馬遜許多不一樣區域用戶快速傳送內容的 Web 發佈公司和應用程序而設計。Amazon CloudFront 經過在其不一樣的 CDN 位置緩存每一個對象的實例來運行,從而減小了傳遞內容所需的時間。

Amazon CloudFront 經過支持的應用程序編程接口訪問 Amazon S3 中的數據,並將其置於區域數據存儲區中。其餘亞馬遜網絡服務,包括亞馬遜 EC2,也能夠經過 EC2 處理流數據並經過 CloudFront 將其傳遞給最終用戶。與全部其餘亞馬遜網絡服務產品同樣,CloudFront 具備可擴展性,靈活性,可做爲即用即付服務提供。

Route 53

"Route 53",中文能夠翻譯爲53號公路,跟美國曆史上有名的"66號公路(以下圖)"(Route 66)遙相呼應。利用Route 53服務,AWS的用戶就可讓終端用戶訪問衆多的互聯網服務了。因此"Route 53"就像一條虛擬的公路同樣,把終端用戶帶領到目的地。Route 53的服務器分佈在全世界各地,也是亞馬遜惟一保證100%可用性的服務。DNS協議是基於TCP/UDP協議的,DNS服務監聽的端口是53。因此名字裏帶53,暗含了DNS服務監聽的端口。

就像66號公路橫穿美國同樣,Route 53的做用在於它可以快速地將終端用戶帶到其想要訪問的互聯網服務,縮短了終端用戶與互聯網服務的延遲。

VPC和NAT

VPC是AWS提供的一種虛擬網絡服務,其它AWS資源均可以放在這個虛擬網絡裏構成一個邏輯單元,這個邏輯單元做爲一個完整的服務提供給外部世界使用。當你使用VPC服務的時候,就須要使用其提供的gateways, route tables, network access control lists (ACL), subnets and security groups等功能,經過這些功能來配置虛擬網絡。

這裏有幾點須要注意:

  • VPC能夠包含多個不一樣可用區的資源
  • VPC中的子網(subnet)只能屬於某一個可用區
  • VPC之間不具備傳遞性,也就是說你不要期望經過VPC 1來訪問VPC 2,若是要訪問VPC 2,那麼只能直接訪問VPC 2

**爲何使用VPC?**當你基於公有云上運行一些線上服務的時候,世界上任何一我的都可以訪問這些服務,從而致使這些服務易於受到攻擊,這是很是危險的。所以爲了讓這些資源避免外部的攻擊,你須要VPC來切斷這些資源與外部的鏈接,並經過VPC來限制外部鏈接的類型,IP地址以及哪些人可以訪問。

這樣一來,你就能經過VPC來阻止不速之客的訪問,也能夠避免了DDOS攻擊。因爲支撐線上服務的大部分雲服務是不須要與外部鏈接,所以你能夠把這部分資源安全地放在VPC裏與外部隔絕,而只須要把那些須要與外部互聯的資源暴露出去。

雖然你能夠決定VPC中的哪些資源是暴露給外部的,哪些資源是與外部隔離的,可是若是你想讓被隔離的資源可以訪問外部(好比你想升級程序,下載補丁之類)就須要其它方法(NAT Gateways)。

NAT Gateways被用來解決「VPC私有資源如何與外部鏈接,而外部沒法與該私有資源互聯的單向鏈接問題」。NAT Gateways是被建立到VPC的一個子網中,這個子網是公開的,可是隻能從內部向外部訪問,所以一旦你容許私有資源訪問NAT Gateways,此時該資源就可以訪問外網,因爲NAT Gateways不支持外網向內外訪問,所以外部網絡是沒法訪問該私有資源的。

使用NAT Gateways須要知道的細節:

  • 具備自動伸縮的帶寬,最高可達10Gbps
  • 具備公網IP
相關文章
相關標籤/搜索