Virtual Private Cloud

VPC

定義

Virtual Private Cloud是AWS提供的一種從邏輯上分離且獨立的網絡單元(物理上不一定). 創建VPC的時候可以通過CIDR來指定VPC的大小(VPC內IP地址的數量 最大65535最小16). VPC還可以進一步劃分成更小的邏輯單元 - Subnet. Subnet可以進一步分割VPC內的IP范圍(Subnet的IP范圍必須在VPC的IP范圍之內).

可用組件
  • Subnet

  • Route Table

  • Security Group

  • ACL

  • NAT Gateway/Instance

  • IGW

  • CGW & VPG

  • Peering Connection

  • Endpoint

  • Elastic IP

  • Elastic Network Interface


Subnet

子網是VPC的基本組成部分,EC2實例實際上是運行在Subnet里而非直接運行在VPC上。

分類:

  • Public subnet - 所關聯的route table中流量導向VPC的IGW

  • Private subnet - 所關聯的route table中的流量沒有導向到VPC的IGW

  • VPN only subnet - 所關聯的route table中的流量導向到VGW

注意

  • 一個Subnet必定所屬一個AZ,且創建之后不能更換所屬的AZ

  • 一個Subnet必定至少關聯到一個路由表,如果有沒顯示的關聯,則隱式關聯到VPC的主路由表.

  • 子網的大小必須小于VPC的IP范圍且大于等于/28(i.e: VPC CIDR - 10.0.0.0/16, 則Subnet的CIDR必須是10.0.X.X/17~28). NOTE: AWS會保留CIDR IP段的前4個IP和最后一個IP, 所以對于10.0.X.X/28實際可用的IP數量是16-5=11個IP地址

  • 可以通過ACL來做子網級別的安全控制(入/出站規則)

  • 默認VPC在所有的AZ都有一個規模為/20的子網


Route Table

一組所關聯的子網的流量導向規則. 每條路由規則有2個字段destination和target. destination用來表示請求的最終目的地, target用來指定由誰來處理路由的下一跳.

下條路由規則的語義為: 子網內所有訪問172.9.X.X的請求都經由IGW來處理

Destination Target
172.9.0.0/16 igw-id

典型的Target

  • target=local的規則實現同一VPC內不同子網之間的通訊. (每個路由表都帶有一個只讀的規則 x.x.x.x/x - local).

  • target=IGW的規則實現了VPC外對于子網的訪問,

  • target=NAT的規則實現了子網對于VPC外的訪問

  • target=Peering Connection的規則實現了VPC和VPC之間的訪問

  • target=VPG的規則實現了子網的VPN訪問

  • target=endpoint的規則實現了子網對于相同region的其他AWS service的訪問(目前僅支持S3切該調路由不是手動加入的)

注意

  • 一個VPC在創建的時候會自動生成一個主路由表, 所有沒有指定路由表的子網都會默認關聯這個主路由表

  • 你可以將自己創建的路由表設置為主路由表

  • 路由表中的路由規則的優先級由規則的具體程度來決定(越具體優先級越高). 如下表中,規則2的優先級高于規則3,規則3高于規則1

Destination Target
0.0.0.0/0 igw-id
172.9.1.0/24 peer-connection-reject
172.9.0.0/16 peer-connection-approve

Internet Gateway

IGW實現了VPC中的instance和Internet通訊. 在AWS的VPC中,即便一臺instance被分配了public ip/eip也是無法被從VPC外訪問到的.必須要往該instance所屬的子網關聯的路由中添加target=igw的路由才可以. 在通訊過程中IGW具體做了:

  • 維護一個public ip-private ip的one-to-one的映射表

  • 當具有public ip的instance試圖從VPC內訪問Internet, IGW負責將被訪問端的reply的目標地址轉換成instance的public ip。并

  • 當VPC外的機器試圖訪問VPC內的具有public ip的instance的時候, IGW在請求到達VPC后將目標地址從public ip轉換成private ip,最終到達instance.


EIP

Elastic IP是AWS對于某個region的IP資源池中的IP, 所以一個EIP是無法跨region的被其他資源(instance, nat gateway等)使用。并且EIP是分配到你的AWS Account的,所以不管一個EIP是否被使用,只要沒有從你的Account里面釋放出去都會被計費。

與Public IP的不同

  • EIP綁定到賬戶就計費,Public IP只有使用的時候才收費

  • EIP除非你釋放了,否則一旦分配到Account就是穩定不變的. Public IP分配給Instance之后隨著Instance關閉而釋放,而且當instance重啟之后,之前分配的Public IP會被重新分配


NAT Gateway/Instance

NAT在AWS中主要提供幫助私有子網訪問internet的服務.(通過upnp協議實現). 本質上來講無論NAT Gateway還是NAT Instance都是一個具有公有IP的實例(NAT Gateway只是從服務角度進行了封裝),不過這個特殊的instance提供端口映射的服務,所有的內網主機對外發送的請求都經由NAT Gateway/Instance發出,NAT會給相應的內網主機隨機分配一個端口號,然后請求再經過IGW進入Internet. 所有被訪問服務器的返回地址都是NAT Gateway/Instance的公有IP和之前所分配的隨機端口號。當response返回到NAT后,NAT再根據端口映射表找到相應的主機,轉發返回的response.

NAT與IGW的不同

  • NAT只提供內網到外網的單項訪問,IGW提供內網-外網的雙向反問

  • 路由到IGW的公有子網的instance需要有public ip/eip. 而和NAT關聯的私有子網主機只需要私有ip

  • NAT必須綁定一個EIP, IGW不需要

NAT Gateway和NAT Instance的不同

注意

  • NAT Gateway必須所處公有子網中(如果NAT自己都訪問不了外網如何幫私有子網的主機訪問外網?)

  • 私有子網所關聯的路由必須將流量切到NAT Gateway


Peering Connection

Peer connection提供VPC之間的訪問。在建立了Peer connection的2個VPC的主機上,可以直接通過private ip相互通訊。

注意

  • Peer connection不具備傳遞性,比如VPC A和VPC B建立了connection, VPC B和VPC C建立了connection, 但是VPC A和VPC C依舊無法相互訪問

  • 建立了Peer connection的2個VPC的IP范圍不能有重疊(在建立了Peer connection以后如果VPC的ip范圍重疊,就有可能一個ip代表2臺主機)

  • 建立了Peer connection之后必須同時更新2個VPC需要相互通信的子網的路由(requester和receiver的路由都要更新),將相互訪問的CIDR指向peer connection - pcx-xxxxx. 例如VPC A 10.0.0.0/16和VPC B 192.168.0.0/16. 建立了peer connection,在VPC A和B的路由中需要分別添加一條

Destination Target
192.168.0.0/16 pcx-xxxx
Destination Target
:-------- :--------
10.0.0.0/16 pcx-xxxx

Security Group & ACL

SG和ACL都是用來保障你VPC的網絡安全的。但是它們有一些區別

  • SG是作用于instance級別的訪問控制,而ACL是Subnet級別的訪問控制

  • SG是白名單性質的防火墻,你只能允許某些ip訪問某些端口而不能拒絕。ACL可以顯示的deny一些訪問,也可以顯示的approve一些訪問

  • SG是有狀態的,你不能分開控制SG的出站規則和入站規則。入站請求和出站請求會被同時approve.而ACL是無狀態的,你可以對于同一個目標允許入站拒絕出站(或相反)

  • ACL的安全規則帶有具備優先級屬性的rule #,(rule #越小優先級越高)

  • 一個instance可以關聯多個SG, 但是一個Subnet同一時間僅能綁定一個ACL


Endpoint

Endpoint是用來建立你的VPC和同region的AWS其他service的內部通訊鏈路的。目前僅支持S3。當你建立了和S3的Endpoint之后,你的VPC內部訪問S3的時候就不會通過廣域網來進行訪問,而且從AWS的內部網路進行訪問。

注意

  • 在建立了endpoint之后還需要同時更新路由表,保證相關service(destination)的請求經由endpoint(target)處理

  • 你可以建立access policy來控制endpoint對service的訪問權限


ENI


CGW & VPG


DHCP Option Set

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,517評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,087評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,521評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,493評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,207評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,603評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,624評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,813評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,364評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,110評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,305評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,874評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,532評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,953評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,209評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,033評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,268評論 2 375

推薦閱讀更多精彩內容

  • 第二章 物理層 頻分復用:頻分復用的用戶在同樣的時間占用不同的帶寬資源(頻率帶寬) 時分復用:時分復用的用戶在不同...
    PramaWells閱讀 3,700評論 1 3
  • 4.1網絡層服務 v ■從發送主機向接收主機傳送數據段(segment) v ■發送主機:將數據段封裝到數據報(d...
    龜龜51閱讀 981評論 1 0
  • 這是一場關于占領微信運動封面的戰爭,過程非常血腥,殘酷,甚至不擇手段,有一小伙伴明明家里有廠車出發點,非要過來公司...
    公羽小非閱讀 426評論 0 3
  • 回顧本周干了幾件事情在老家玉米地里掰玉米,讀大敗局,看了電視劇蝸居。 首先是勞動部分,每年的10.1長假期間只要家...
    小張張大皮皮閱讀 257評論 0 0
  • 背著書包一路歡快來到學校, 跑到班級和同學們嘻聲談笑。 叮鈴鈴,上課的催眠曲響起。 趴到桌上準備睡覺。 “嗒嗒”火...
    舞刀弄墨閱讀 267評論 0 0