Skip to main content

EC2

General

  • Termination Protection is “Disabled” by default, need to turn on manually
  • 在EBS-backed instance,預設行為是Instance terminated時,root EBS也會被刪掉,但可以透過設定讓他們的lifecycle獨立,讓EBS不會自動刪除
  • EBS,root或addition,都可以被encrypted
  • Elastic IP最多5個,超過要提交申請
    • Elastic IP有一個功能叫做BYOIP (Bring Your Own IP),可以使用自有IP,但並非所有region都支援,大多用在不想更改客戶端的white list時使用
    • BYOIP最多也是帶5個進AWS
    • BYOIP可以適用的register prefix是:ARIN, RIPE, APNIC。不支援re-assign prefix
  • 使用BYOIP的steps
    • 透過RIR建立路由來源授權(Route Origin Authorization; ROA)
    • 建立自簽的X509 certificate
    • 建立已簽署的授權訊息給AWS做公告

Security Group

  • 與EC2的關係是多對多,而且都沒有數量限制
  • 是Stateful的,如果一個連線進得來,他就也能夠出得去
  • 沒有辦法透過Security Group做IP Address blacklist,只能做Whitelist 要做到IP blacklist,要用Network Access Control List

EBS

EBS Types

Throughput Optimized HDD和EBS Magnetic已經退休了,應該不會出現在考試

  • Snapshots備份到S3是Incrementally
  • EBS可以在使用中時改變,type跟size都可以
  • EBS always be in the same availability zone as the EC2 instance
  • Snapshot可以encrypted,如果是從encrypted volume create/restore的snapshot,都會是encrypted
  • Snapshot可以share,但只有unencrypted的可以share

EBS vs Instance Store

  • Instance Store Volume也稱為Ephemeral Storage,也就是memory disk類的東西
  • Instance Store Volume沒有辦法被Stop,要是host fail,所有資料會掉;EBS不會
  • Reboot時,兩者都不會掉資料

Instance Types

一般用途

A: ARM CPU一般用途 T: Bustable,較便宜的一般用途 M: Fixed一般用途

CPU運算優化

C: CPU運算優化

記憶體強化

R: 記憶體優化 X: 高性能記憶體優化,適合in-memory DB High Memory: 記憶體增強型,可以用到24TB memory Z: 高性能CPU與記憶體

硬體加速運算

P: GPU強化 Inf: 特有的AWS Inferentia晶片,從基礎建設開始的ML instance G: GPU強化,Nvidia T4 Tensor GPU F: FPGA,可程式化閘道陣列(FPGA)加速

儲存優化

I: IOPS,用SSD提升IO效能 D: 高容量HDD,可以到48TB HDD H: HDD throughput,與記憶體使用取得平衡

Instance Pricing Modules

On Demand

Fixed rate by hour

Reserved

簽合約,一次買1~3年可以省成本

Spot

把AWS沒人用的資源便宜賣你,但有AWS有需求時會停掉你的機器

Dedicated Host

直接買整台機器,通常是用來處理server-bound software licenses

Placement Groups

  • 不是所有Type的Instance都可以放在Placement Groups內
  • 只有特定的Region支援,也只有特定的Type可以放
  • Placement Groups無法被Merge
  • 可以將既有的Instance放進Placement Group,但該Instance必須是Stop state 可以透過CLI或SDK辦到,但沒有辦法透過AWS Console移動Instance到群組內 Console目前只支援Instance啟動時的設定
  • 要確保EC2 Instance之間的網路效率時,只放在同一個AZ是不足夠的:要在同一個Cluster Placement Group才是正確做法

Spread Placement Groups

Spread Placement Groups

分散放置群組: 需要Availability時 讓EC2 Instance啟動在完全獨立的硬體上 只有特定的Zone有支援,一個Zone只能放最多7台SPG Instance 可以跨AZ部署

有可能因為沒有可滿足的硬體而啟動失敗,需要稍後再試

分散置放群組有助於減少執行個體叢集或群組內發生的類似錯誤。Amazon EC2 先前有叢集置放群組,能為應用程式提供低延遲的網路效能,使用在許多 HPC 應用程式常見緊密搭配的節點對節點通訊上。現在有了分散置放群組,執行個體成員可置放在獨立的硬體上,減少硬體故障對應用程式造成的衝擊。 應用程式具有應該分開保存的少量重要執行個體,建議使用分散置放群組。透過分散置放群組來啟動執行個體,可降低同時故障的風險

Cluster Placement Group

Spread Placement Groups

叢集置放群組: 需要效能時 AWS建議將同質的(Homogenous)Instance放在同一個Cluster Placement Group 不能跨AZ部署

叢集置放群組是單一可用區域中的執行個體邏輯分組。置放群組可以跨越相同區域中互連的 VPC。除了 10 Gbps 流量限制外,叢集置放群組的主要優點是非封鎖、非超額訂閱、完全二等分本質的連線。換言之,置放群組內的所有節點皆可以全線速率 10 Gbps 流量和 100Gbps 個彙總與置放群組內的所有其他節點交談,且由於超額訂閱而不會減速。

Partition Placement Group

Spread Placement Groups

分區置放群組: 需要Availability時(比Cluster有較高的可靠性,但還沒Spread那麼好) 一個region最堆可以有7個partitions 啟動時有可能因為沒有可滿足的硬體而失敗,需要稍後再試 可以跨AZ部署

2018新的 Amazon EC2 置放策略,有助於降低大型分散式和複寫工作負載 (如 EC2 上執行的 HDFS、HBase 和 Cassandra) 發生相互關聯故障的可能性。分區置放群組會將 EC2 執行個體分散到不同的邏輯分區,並確保不同分區的執行個體不會共用相同的基礎硬體,因此能將硬體故障的影響控制在單一分區。此外,分區置放群組提供分區的可見性,並允許拓撲感知應用程式使用此資訊來做出明智的資料複寫決策,從而提高資料可用性和耐久性。