常用的AWS服務(本文取自「優福網-AWS教學手冊」)

優福福-AWS教學手冊-AWS快速上手

AWS雲服務.

AWS網址 http://aws.amazon.com/

AWS是Amazon Web Services的簡稱,可以說是現今全球公有雲服務的龍頭廠商。

其基礎規模十分巨大、全球Region最多、配套服務也最完整,而且操控管理介面、APIs、SDK等資源最齊全!

而Amazon在中國大陸的佈局上也沒缺席,除了Kindle電子書已開賣之外,預計今年在北京也會有AWS的Region。

 

AWS的服務大致分為幾大類:

  • #Compute & Networking(EC2、AutoScaling、ELB、WorkSpaces、VPC、Route 53)
  • #Storage & CDN(S3、Glacier、EBS、Import/Export、Storage Gateway、CloudFront)
  • #Database(RDS、DynamoDB、ElastiCache、Redshift)
  • #Analytics(EMR、Kinesis、Data Pipeline、Redshift)
  • #Application Services(AppStream、CloudSearch、SWF、SQS、SES、SNS、FPS、Elastic Transcoder)
  • #Deployment & Management(IAM、CloudTrail、CloudWatch、Beanstalk、CloudFormation、OpsWorks)

 

對於一般的企業來說,最常用到的AWS服務會有:

  • #Compute & Networking(EC2、AutoScaling、ELB、VPC、Route 53)
  • #Storage & CDN(S3、Glacier、EBS、CloudFront)
  • #Database(RDS)
  • #Application Services(SES、SNS)
  • #Deployment & Management(IAM、CloudWatch)

 

接下來我們將針對這些常用的AWS服務進行概要的解說,而實際的使用說明會有其他篇文章來一一詳述。

 

 

EC2 Overview.

  • #EC2的完整名稱是:Amazon Elastic Compute Cloud
  • #網址 http://aws.amazon.com/ec2/
  • #EC2其實就是一種Virutal Machine(簡稱VM),也就是「虛擬機器」,是AWS最最常用的服務之一
  • #可依需求而啟用不同Region、不同Zone、不同Type的Instance(在AWS中EC2的基本單位稱為Instance)
  • #AWS現在有八大Region (不包括GovCloud) 網址 http://aws.amazon.com/about-aws/globalinfrastructure/
  • #依Instance用途的不同而區分為34種Type(2014年5月份),在不同Region可以用的Type數量會略有差異
  • EC2的Type依用途分為幾大類(規格也會有所不同,主要是CPU、ECU、Memory和Storage的差異):
     1.General Purpose,包括m1和m3系列(samll、medium、large、xlarge)
    2.Compute Optimized,包括c1和c3系列(medium、large、xlarge、2xlarge、4xlarge、8xlarge)
    3.GPU,包括cg1.4xlarge、g2.2xlarge
    4.Memory Optimized,包括r3系列和m2系列 (m2.xlarge、m2.2xlarge、m2.4xlarge、cr1.8xlarge)
    5.Storage Optimized,包括hi1.4xlarge、hs1.8xlarge和i2系列(large、xlarge、2xlarge、4xlarge、8xlarge)
    6.Micro,只有t1.micro,主要是用來測試的
    (ECU(EC2 Compute Unit)與CPU的關係會因為不同Type而有差異,主要是相對應的CPU等級會有不同)
  • #EC2可使用32bit和64bit的作業系統,但支援32bit的Type只有t1.micro、m1.small、m1.medium、c1.medium
  • #EC2有很多的AMI可以使用,包括Amazon、Oracle、RedHat等公司提供的AMI,也可以自行製作自己的AMI
    (AMI的全名是Amazon Machine Image,就是啟用EC2時的映像檔,請想像AMI就像個蛋糕模子,可快速生產)
  • EC2是以「小時」計費,依啟用的Type、Region和AMI而有所價差,並會因付費模式不同而有7種以上的價格
  • #EC2的付費模式有三種:
    On-Demand:依實際使用的小時來計費
    Reserved Instance:可以先預付一筆款,然後來降低每小時的費用,包括Light、Medium、Heavy共六種
    Spot Instance:使用競標方式來取得便宜的Instance,一般是在需要大量、便宜、短時間使用的需求時使用
  • #AWS的服務價格大約半年至一年會變動一次,而EC2的規格也會不斷地進行調整,須隨時注意更新

 

 

AutoScaling Overview.

  • #網址 http://aws.amazon.com/autoscaling/
  • #AutoScaling可以用來進行垂直擴展(Scale Up)或水平擴展(Scale Out),可擴大或縮小規格,提供部署的彈性
  • #垂直擴展(Scale Up)就是針對EC2的Instance Type進行調整,例如從m1.small變大至m1.xlarge (或是從大變小)
  • #水平擴展(Scale Out)則十分複雜,端看架構及規模大小而定,但至少會以任務來規劃分層架構 (如下圖)
  • #若是用在水平擴展的架構時,大多會包括AWS ELB(Elastic Load Balancing),或是自建Loading Balancer
  • #AutoScaling必須搭配AWS EC2、CloudWatch一起使用
  • #使用AutoScaling必須安裝AWS的SDK、CLI工具,然後透過API的呼叫來達到Scale的目的

AWS服務之多層架構概圖

 

 

ELB Overview.

  • #網址 http://aws.amazon.com/elasticloadbalancing/
  • #AWS的ELB (完整名稱是:Elastic Load Balancing) 支援Sticky Session、HTTP、HTTPS
  • #使用ELB是為了增加服務的承載量,採用Round Robin方式把負載均分給不同的EC2伺服器來滿足需求
  • #使用ELB前,請先確保架構至少有Application、Database和Storage不同層,因為ELB主要是擴展Application層
  • #ELB是用在水平擴展的架構,至少必須啟用2台以上的EC2,也能結合VPC、AutoScaling一起使用
  • #使用ELB時會產生大量的Health Check (用來確保每一台EC2的服務狀態都是沒問題的) 要注意一下
  • #若發現AWS的ELB無法滿足自己的需求時,可自建別的Loading Balancer來取代 (例如用EC2+Nginx來取代ELB)

 

 

VPC Overview.

  • #網址 http://aws.amazon.com/vpc/
  • #Amazon的VPC (Virtual Private Cloud) 是為了提供更安全、更彈性的網路架構供企業使用
  • #早期的VPC只有VPN (Virtual Private Network),主要是提供企業建置site-to-site的VPN使用,且須搭配高階的VPN設備(如Cisco);現在的VPC則有四種架構可用,有兩種是VLAN的概念、另兩種則是結合硬體的VPN使用
  • 由於VPC可有效增加EC2的安全性,因此新的AWS帳號在啟用EC2時,預設都會結合VPC來啟用
  • 使用VPC時,一樣會需要設定Security Group、Elastic IP,但和原本未使用VPC時不一樣的是:
    1.VPC中的Security Group會多了Outbound的設定 (未用VPC時只有Inbound),在設定上可以更加彈性
    2.Elastic IP是先指給VPC,再由VPC指向VPC裡的某台EC2使用,而未用VPC時則是直接指派給某台EC2
    3.指派給VPC的IP無法指派給不在VPC裡的EC2,反之亦然;也就是有用VPC的IP和沒有VPC的IP是不一樣的
    4.可以自定subnet,並給在VPC裡的EC2該subnet中的特定IP (例如192.168.0.1、172.16.0.1、10.0.0.1之類的)
    5.需要特別注意Route Tables、Internet Gateways以及Network ACLs的設定
  • VPC的四種使用模式概述如下:
    1.Public Subnet–用來提供公眾型的應用服務幾乎都應該適用,可大大增加安全性,也能自定內部IP位置
    2.Public+Private Subnet–有些用戶會想把DB Server等重要服務移至不能直接存取的區域,便可選此模式
    3.VPN+Public+Private Subnet–就是上一個模式中加上一個Hardware VPN設備來與企業的VPN設備串接
    4.VPN+Private Subnet–把AWS完全用來當做私有雲,一樣用Hardware VPN設備來與企業的VPN設備串接
  • VPC有幾個地方要特別注意 (更多細節可參考VPC的User Guide):
    1.可跨Zone使用 (需要設定Route Table),但不能跨Region使用
    2.會有些許的限制,例如每個Region最多只能有5個VPC、每個VPC的Route Table最多只能10筆 (參考P.144)
    3.可搭配VPC使用的服務:EC2、RDS、ElastiCache、Redshift、Auto Scaling、ELB、EMR、Elastic Beanstalk

 

 

Route 53 Overview.

  • #網址 https://aws.amazon.com/route53/
  • #Route 53是AWS提供的一個具備高可靠性、高擴展性的DNS (Domain Name System) 服務
  • 幾個重要的特色:
    1.Latency Based Routing (LBR)
    2.Amazon ELB Integration
    3.Weighted Round Robin
    4.CloudFront Zone Apex Support
    5.DNS Failover
    6.S3 Zone Apex Support
  • #可用來建置DDNS服務 (實際架過,超威的)
  • #每個AWS的帳號可託管100個Domain (域名),若有超過100個Domain,可再向AWS協商
  • #標準服務約0.51美金 (以單個Domain來說),其它的服務都要另外加錢 (如LBR、Failover等)
  • #本服務可以單獨使用,不必一定要搭配其他AWS的服務使用

 

 

S3 Overview.

  • #網址 https://aws.amazon.com/s3/
  • #S3的完整名稱:Simple Storage Service ,是AWS最早推出的服務之一
  • #S3和EC2一樣可以自選使用的Region和等級,並且可結合AWS的IAM來滿足ACLs (存取權限)的控管
  • #S3提供的是數位資料最重要的儲存服務,但和EBS的型態不同:
    1.若以實際的資訊產品來比喻的話,S3像是網路磁碟(NAS、SAN)、EBS則像是外接硬碟(可掛載至EC2中使用)
    2.S3是Object Storage,不必掛載就能利用API呼叫使用;EBS是Block Storage,必須掛載至某台EC2才能使用
    3.S3的單個檔案最大可到5TB,檔案數量沒有限制,且能同時被多個Clients讀取;EBS單個掛載空間最大到16TB,一次只能被一台EC2掛載 (單台EC2可掛載多個EBS)
    4.EBS有IOPS可選用,但S3沒有,故EBS的存取效能會比S3好;但EBS有空間上和存取上的限制,S3則沒有;故建議依實際需求來採用S3、EBS的服務 (一般是混搭著一起用)
  • #S3依可靠性有分兩種等級可用,價格也會不同:
    1.Standard Storage (99.999999999% Durability)
    2.Reduced Redundancy Storage (99.99% Durability),又稱RRS,價格約是Standard的8折,便宜許多
  • #若是單純用來做大量資料的備份時,也能考慮採用AWS新出的服務:Glacier Storage (但存取時間須很長)
  • #本服務可以單獨使用,也能搭配其他AWS的服務使用 (像CloudFront採用static content方式時就建議搭配S3使用)
  • #費用主要是以「使用空間/月」為計費單位,還有存取的次數、流量、選擇的Region及等級都會產生成本的差異
  • #Data Transfer In的流量不會產生費用,主要是Data Transfer Out及跨Region的流量會有費用的產生
  • #我們的建議是以Data的屬性來採用不同的儲存服務:
    1.Hot Data採用EBS (至於要不要用IOPS則視效能需求而定)
    2.Warm Data採用S3
    3.Cold Data採用Glacier (或是用Local NAS做異地備援)

 

 

Glacier Overview.

  • #網址 https://aws.amazon.com/glacier/
  • #是AWS中最便宜的一種儲存服務 (與S3、EBS不同),但需要很長的存取時間,僅適合做資料備份使用
  • #和S3一樣可以自選使用的Region,但目前只有六個Region可選 (少了Singapore和Sao Paulo)
  • #本服務必須和S3搭配使用 (設定Lifecycle Policies),或是利用API呼叫、AWS Import/Export方式來使用
  • #費用主要是以「使用空間/月」為計費單位,還有存取的次數、流量、選擇的Region都會產生成本的差異
  • #Data Transfer In的流量不會產生費用,主要是Data Transfer Out及跨Region的流量會有費用的產生
  • #我們的建議是以Data的屬性來採用不同的儲存服務:
    1.Hot Data採用EBS (至於要不要用IOPS則視效能需求而定)
    2.Warm Data採用S3
    3.Cold Data採用Glacier (或是用Local NAS做異地備援)
  • #官方文件列舉的Use Case
    1.Offsite Enterprise Information Archiving
    2.Archiving Media Assets
    3.Archiving Research and Scientific Data
    4.Digital Preservation
    5.Magnetic Tape Replacement

AWS-EBS_S3_Glacier

 

 

EBS Overview.

  • #網址 https://aws.amazon.com/ebs/
  • #EBS的完整名稱:Elastic Block Store
  • #EBS提供的是數位資料最重要的儲存服務,但和S3的型態不同:
    1.若以實際的資訊產品來比喻的話,S3像是網路磁碟(NAS、SAN)、EBS則像是外接硬碟(可掛載至EC2中使用)
    2.S3是Object Storage,不必掛載就能利用API呼叫使用;EBS是Block Storage,必須掛載至某台EC2才能使用
    3.S3的單個檔案最大可到5TB,檔案數量沒有限制,且能同時被多個Clients讀取;EBS單個掛載空間最大到16TB,一次只能被一台EC2掛載 (單台EC2可掛載多個EBS)
    4.EBS有IOPS可選用,但S3沒有,故EBS的存取效能會比S3好;但EBS有空間上和存取上的限制,S3則沒有;故建議依實際需求來採用S3、EBS的服務 (一般是混搭著一起用)
  • #EBS依存取效能分兩種等級可用,價格也會不同:
    1.Standard Volumes
    2.Provisioned IOPS Volumes(Input/output Operations Per Second)
  • #必須搭配AWS的EC2一起使用(單台EC2可掛載多個EBS Volume),並能直接做Snapshot備份 (實際儲存在S3)
  • #需要和掛載的EC2在同一個AZ裡 (Available Zone,例如us-east-1a),必要時可善用Snapshot來改變EBS的AZ
  • #費用主要是以「使用空間/月」為計費單位,還有存取的次數、流量以及IOPS的等級都會產生成本的差異
  • #我們的建議是以Data的屬性來採用不同的儲存服務:
    1.Hot Data採用EBS (至於要不要用IOPS則視效能需求而定)
    2.Warm Data採用S3
    3.Cold Data採用Glacier (或是用Local NAS做異地備援)

 

 

CloudFront Overview.

  • #網址 https://aws.amazon.com/cloudfront/
  • #CloudFront是AWS提供的CDN服務 (Content Delivery Network),比較重要的功能包括:
    Usage Charts、Support for Custom SSL、Support for POST/PUT and other HTTP Methods、
    Geo Restriction、Supports Dynamic Content、Custom Error Responses、Support for Cookies、
    HTTP to HTTPS Redirect at the Edge、Access Logs、Live Streaming、Private Content
  • #CDN是一種用來增加內容傳遞速度的服務,利用減少連線的節點、降低回應的時間來達到加速內容傳遞的目的
  • #Amazon的Edge Location在全球約有51個據點,分佈在亞洲、美洲、歐洲、非洲等多個國家
    詳見:http://aws.amazon.com/about-aws/globalinfrastructure/regional-product-services/

AWS-CloudFront

 

 

RDS Overview.

  • #網址 https://aws.amazon.com/rds/
  • #RDS的完整名稱:Relational Database Service
  • #顧名思義,是一種關聯式的資料庫服務,可參考WiKi說明 http://en.wikipedia.org/wiki/Relational_database
  • #可依需求而啟用不同Region、不同Zone、不同Type的Instance(在AWS中RDS的基本單位稱為Instance)
  • #AWS現在有八大Region (不包括GovCloud) 網址 http://aws.amazon.com/about-aws/globalinfrastructure/
  • #依Instance用途的不同而區分為13種Type(2014年3月份),在不同Region可以用的Type數量會略有差異
  • RDS目前提供的資料庫類別計有:
     1.MySQL
    2.PostgreSQL
    3.Oracle
    4.Amazon RDS for SQL Server
  • #RDS的付費項目比EC2更加複雜,包括有Single-AZ、Multi-AZ、Standard Storage、Provisioned IOPS Storage、DB Snapshots、Backups(Replication)等各種選項可供選用(當然大部份都需要額外付費)
  • #RDS的付費模式有兩種:
    On-Demand:依實際使用的小時來計費
    Reserved Instance:可以先預付一筆款,然後來降低每小時的費用,包括Light、Medium、Heavy共六種
  • RDS是以「小時」計費,依啟用的資料庫類別、Instance Type、Region而有所價差,並會因付費模式不同而有7種以上的價格 (例如選擇用在Tokyo Region、Single-AZ、m1.large的MySQL就會有七種價格)
  • #AWS的服務價格大約半年至一年會變動一次,因此價格也會不斷地進行調整

 

 

SES(beta) Overview.

  • #網址 https://aws.amazon.com/ses/
  • #完整名稱:Simple Email Service,提供高可靠性、Email寄送的服務
  • #每天要寄成千上萬封Email並不容易,故需要有SES來專門提供Email寄送,另外的一個原因是:
    AWS的許多IP已被列入黑名單 (常被用來當做發垃圾信的跳板),從這些IP發出來的信件很容易被當成垃圾信
  • #SES以寄送的服務為主,且一開始會有信件數量的限制 (以避免被用來濫發),慢慢地才會增加予許發送的數量
  • #若需要更多的附加服務,像是Email Tracking等之類的報表,則可考慮其它專業的Email代發服務:
    1.Mailgun http://www.mailgun.com/
    2.SendCloud http://sendcloud.sohu.com/
    3.MailChimp http://mailchimp.com/

AWS-SES

 

 

SNS(beta) Overview.

  • #網址 https://aws.amazon.com/sns/
  • #完整名稱:Simple Notification Service,提供快速、彈性又能完全自主管理的訊息推播服務
  • #除了直接推播訊息(Push Message)至行動裝置(iPhone、Android Phone…)之外,也能用簡訊等其他方式來傳送
  • #推播100萬則的訊息大約花費$1美金,簡訊費用是100則是$0.75美金 (只支援美國門號)
  • #推播支援的行動裝置有:
    ADM(Amazon Device Messaging),像是Kindle Fire
    GCM(Google Cloud Message),Android的行動裝置
    APNS(Apple Push Notification Service),Apple的行動裝置

AWS-SNS

 

 

IAM Overview.

  • #網址 https://aws.amazon.com/iam/
  • #完整名稱:Identity and Access Management,提供AWS用戶進階的群組與使用者之存取權限管理
  • IAM的存取權限(User Policy)幾乎包括了所有AWS服務
  • IAM提供的幾種角色:
    -Administrator Access
    – Power User Access
    -Read Only Access
  • #若在IAM予許User使用AWS Management Console時(Password Sigin,可搭配MFA Device),其登入網址不是http://aws.amazon.com/console/ 而是https://0xxxxxxxxxx9.signin.aws.amazon.com/console (0xxxxxxxxxx9泛指12個任意組合的數字)
  • #MFA(Multi-Factor Authentication) Device是種多重驗證的安全機制,但是AWS官方的App有可能無法安裝在一般的Android手機/平板上,因此可使用Google提供的Authenticator App來取代,下載網址:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=zh_TW

 

 

CloudWatch Overview.

  • #網址 https://aws.amazon.com/cloudwatch/
  • #CloudWatch是AWS中一個相當重要的監看服務,提供視覺化的資源使用狀況,包括:
    1.Resource Utilization
    2.Application Performance
    3.Operational Health
  • #CloudWatch預設的監看頻率是每五分鐘記錄乙次(免費版本),可以自行改用付費的版本(每一分鐘記錄乙次)
  • #可結合SNS使用,當CloudWatch達到設定警告值時會發出Email通知相關管理者(可自行設定接收對象)
  • #可利用Alarm的設定來自動Stop或Terminate EC2 Instances
  • #常搭配使用CloudWatch的AWS產品包括(以字母順序排列,參考Developer Guide.pdf P.134):
    -Auto Scaling
    -AWS Billing
    -Amazon DynamoDB
    -Amazon ElastiCache
    -Amazon EBS
    -Amazon EC2
    -Amazon ELB
    -Amazon Elastic MapReduce
    -AWS OpsWorks
    -Amazon Redshift
    -Amazon RDS
    -Amazon Route 53
    -Amazon SNS
    -Amazon SQS
    -AWS Storage Gateway
  • #每一個AWS產品能夠觀看的CloudWatch指標(Metrics)均會有所不同(因為產品屬性也都不同),例如:
    -EC2的Metrics有:CPUUtilization、DiskReadOps、DiskWriteOps、DiskReadBytes、NetworkIn…等等
    -EBS的Metrics有:VolumeReadBytes、VolumeWriteBytes、VolumeReadOps、VolumeWriteOps…等等
    -ELB的Metrics有:HealthyHostCount、UnHealthyHostCount、RequestCount、Latency…等等
    -RDS的Metrics有:BinLogDiskUsage、CPUUtilization、DatabaseConnections、DiskQueueDepth…等等
  • #比較特別的是CloudWatch中有個AWS Billing,可用來監看使用AWS服務的總金額

 

 

總結.

#AWS雲服務就像一個「超級工具箱」,裡面有太多的工具任君選用,所以建議學AWS的新手不要太貪心,應該先建立好雲服務的正確觀念,然後再視自己的實際需求去學習AWS的相關服務(例如EC2、S3、CloudFront…等) ,而非一昧地想把AWS所有的服務都先學會、再來想要做什麼創意服務。

AWS-Management-Console

One thought on “常用的AWS服務(本文取自「優福網-AWS教學手冊」)

  1. Pingback: AWS TIPS | Chang&Chang

Comments are closed.