AWS精華筆記

(AWS更新較快,最近想要再重新跟一跟,看到這個資料不錯,先收下了。)



常用的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單個掛載空間最大到1TB,一次只能被一臺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單個掛載空間最大到1TB,一次只能被一臺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)包括:

-Amazon EC2

-AWS CloudFront

-AWS CloudFormation

-AWS CloudSearch

-AWS CloudWatch

-AWS CloudTrail

-AWS Data Pipeline

-AWS Direct Connect

-Amazon AppStream

-Amazon DynamoDB

-AWS Elastic Beanstalk

-Amazon ElastiCache

-Amazon Elastic MapReduce

-Amazon Elastic Transcoder

-Amazon Glacier

-Amazon Kinesis

-AWS Marketplace

-Amazon IAM

-AWS Import Export

-AWS OpsWorks

-Amazon Redshift

-Amazon RDS

-Amazon Route 53

-Amazon S3

-Security Audit

-Amazon SES

-Amazon SNS

-Amazon SQS

-AWS Storage Gateway

-AWS Support

-Amazon VPC

-AWS Account Activity

-AWS Account Usage Report

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

發佈了16 篇原創文章 · 獲贊 5 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章