VPC

寫在前面~~

在這之前推一個在寫文章的時候找到的好資料尺借,點(diǎn)擊圖中的圖標(biāo)還有詳細(xì)的描述哦恰画。

https://lucid.app/lucidchart/703f6119-4838-4bbb-bc7e-be2fb75e89e5/view?page=eNbqbEM6f5NI#

截屏2021-02-28 下午7.50.03

1.VPC(Virtual Private Cloud)是什么

可以簡單地理解為一個VPC就是一個虛擬的數(shù)據(jù)中心,在這個虛擬數(shù)據(jù)中心內(nèi)我們可以創(chuàng)建不同的子網(wǎng)(公有網(wǎng)絡(luò)和私有網(wǎng)絡(luò))烈菌,搭建我們的網(wǎng)頁服務(wù)器费彼,應(yīng)用服務(wù)器削咆,數(shù)據(jù)庫服務(wù)器等等服務(wù)。

如下圖所示杖剪,互聯(lián)網(wǎng)的流量想進(jìn)到VPC里來時冻押,首先就需要經(jīng)過Internet Gateway,然后再通過與Internet Gateway綁定的路由表來轉(zhuǎn)發(fā)到對應(yīng)的子網(wǎng)(subnet)摘盆,每個子網(wǎng)有不同的NACL(Network Access Control List)翼雀,通過這些NACL來判斷流量是否被允許進(jìn)入,最后轉(zhuǎn)發(fā)到對應(yīng)的機(jī)器上孩擂。上述的一些概念我們會在下面一一介紹狼渊。

需要注意的是:

  • VPC內(nèi)可以創(chuàng)建多個子網(wǎng),一個VPC可以跨越多個可用區(qū)(AZ)

  • 一個路由表可以對應(yīng)多個子網(wǎng),

  • 每一個子網(wǎng)上可以分配自己規(guī)劃的IP地址狈邑,我們可以在選擇的子網(wǎng)上啟動EC2實(shí)例城须,一個子網(wǎng)只能在一個可用區(qū)(AZ)內(nèi)

  • 創(chuàng)建一個Internet Gateway并且綁定到VPC上,讓EC2實(shí)例可以訪問互聯(lián)網(wǎng)

  • 安全組(Security Group)用來針對實(shí)例

  • 網(wǎng)絡(luò)控制列表(Network Access Control List)用來針對子網(wǎng)

  • 安全組(Security Group)是有狀態(tài)的米苹,而網(wǎng)絡(luò)控制列表(Network Access Control List)是無狀態(tài)的

    • 有狀態(tài):如果入向流量被允許糕伐,則出向的響應(yīng)流量會被自動允許

    • 無狀態(tài):入向規(guī)則和出向規(guī)則需要分別單獨(dú)配置,互不影響

截屏2021-02-28 下午1.27.18

2.互聯(lián)網(wǎng)網(wǎng)關(guān)(Internet gateway)

互聯(lián)網(wǎng)網(wǎng)關(guān)是一種橫向擴(kuò)展蘸嘶、支持冗余且高度可用的 VPC 組件良瞧,可實(shí)現(xiàn) VPC 與互聯(lián)網(wǎng)之間的通信。

3.路由表(route table)

我們的 VPC 中的每個子網(wǎng)必須與一個路由表關(guān)聯(lián)训唱,而一個路由表可以關(guān)聯(lián)多個子網(wǎng)褥蚯,路由表用來控制子網(wǎng)的路由。

  • 一個VPC下只能有一個主路由表况增,當(dāng)一個子網(wǎng)沒有顯式地與路由表關(guān)聯(lián)時赞庶,它默認(rèn)會隱式地與主路由表關(guān)聯(lián)。

  • 路由表中的路由可以指向很多目標(biāo)澳骤,比如下圖歧强,我們可以指定0.0.0.0/0,目標(biāo)為Internet Gateway为肮,這表示所有指向互聯(lián)網(wǎng)的流量都轉(zhuǎn)發(fā)到Internet Gateway上摊册,當(dāng)然我們也可以指定其他的AWS 服務(wù),如下圖選項(xiàng)所示弥锄。

  • local表示一個用于在 VPC 內(nèi)部通信的本地路由丧靡,比如同一個VPC下且配置了這個路由表的EC2要跟另一臺EC2通信,就可以通過這個來轉(zhuǎn)發(fā)而不用走互聯(lián)網(wǎng)籽暇。

截屏2021-02-28 下午4.08.48
截屏2021-02-28 下午4.21.59

4.子網(wǎng)(subnet)

我們需要在指定的VPC下指定子網(wǎng)温治,如下圖,每個VPC有關(guān)聯(lián)的CIDR戒悠,意味著我們在這個VPC下熬荆,可以分配給該VPC下服務(wù)這個范圍內(nèi)的IP地址,這一部分算是計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)就不在此贅述绸狐,簡單的介紹可以看下面兩個鏈接卤恳。

需要注意的是VPC下的子網(wǎng)CIDR范圍不能超過VPC的CIDR大小,且子網(wǎng)的IPv4 塊的大小必須介于 /16 網(wǎng)絡(luò)掩碼和 /28 網(wǎng)絡(luò)掩碼之間寒矿。

CIDR介紹

CIDR計(jì)算

截屏2021-02-28 下午4.54.08

4.1如何區(qū)分私有子網(wǎng)和公共子網(wǎng)突琳?

公共子網(wǎng)指的是該子網(wǎng)綁定的路由表中,0.0.0.0/0指向的目標(biāo)可以直接訪問互聯(lián)網(wǎng)符相,比如指向一個Internet gateway拆融,那么這個子網(wǎng)就是一個公共子網(wǎng)蠢琳。

相對的,0.0.0.0/0指向的目標(biāo)不能直接訪問互聯(lián)網(wǎng)镜豹,比如這個子網(wǎng)的路由表沒有配置0.0.0.0/0傲须,或者只能間接地訪問互聯(lián)網(wǎng),比如0.0.0.0/0指向的是NAT Gateway/Instance趟脂, 那么這個子網(wǎng)就是私有子網(wǎng)泰讽。

截屏2021-02-28 下午5.50.47

5.彈性IP(Elastic IP)

這個概念在EC2一章已經(jīng)介紹過啦,今天再來復(fù)習(xí)一遍昔期。

默認(rèn)情況下已卸,AWS分配的公網(wǎng)IP地址都是浮動的,這意味著如果關(guān)閉再啟動EC2實(shí)例镇眷,這個地址也會被釋放并且重新分配咬最。但是彈性IP地址是和我們的AWS賬號綁定的,除非手動釋放掉這個地址欠动,否則這個地址可以一直擁有這個賬號。

6.終端節(jié)點(diǎn)(Endpoints)

終端節(jié)點(diǎn)(Endpoints)是虛擬設(shè)備惑申,它是以能夠自動水平擴(kuò)展具伍、高度冗余、高度可用的VPC組件設(shè)計(jì)而成圈驼,不需要為它的帶寬限制和故障而有任何擔(dān)憂人芽。

接口終端節(jié)點(diǎn)PrivateLink 提供支持,它使用彈性網(wǎng)絡(luò)接口 (ENI) 作為發(fā)往服務(wù)的流量的入口點(diǎn)绩脆。 網(wǎng)關(guān)終端節(jié)點(diǎn)充當(dāng)路由表中路由的目標(biāo)萤厅,用于處理以服務(wù)為目標(biāo)的流量。 網(wǎng)關(guān)僅支持Amazon S3 和Dynamo DB

VPC終端節(jié)點(diǎn)能建立VPC和一些AWS服務(wù)之間的高速靴迫、私密的“專線”惕味。這個專線叫做PrivateLink,使用了這個技術(shù)玉锌,你無需再使用Internet網(wǎng)關(guān)名挥、NAT網(wǎng)關(guān)、VPN或AWS Direct Connect連接就可以訪問到一些AWS資源了主守!

舉個例子:VPC內(nèi)的服務(wù)(比如EC2)需要訪問S3的資源禀倔,只需要通過VPC終端節(jié)點(diǎn)和更改路由表,就可以通過AWS內(nèi)網(wǎng)訪問到這些服務(wù)参淫。在這個情況下救湖,VPC內(nèi)的服務(wù)(EC2)甚至不需要連接任何外網(wǎng)。如下圖所示

vpc endpoints

7.NAT網(wǎng)關(guān)/實(shí)例

  • NAT的全程是“Network Address Translation”涎才,中文解釋是“網(wǎng)絡(luò)地址轉(zhuǎn)換”鞋既,它可以讓整個機(jī)構(gòu)只使用一個公有的IP地址出現(xiàn)在Internet上。

  • NAT是一種把內(nèi)部私有地址(192.168.1.x,10.x.x.x等)轉(zhuǎn)換為Internet公有地址的協(xié)議涛救,它一定程度上解決了公網(wǎng)地址不足的問題畏邢。

7.1 NAT Instance

在實(shí)際的場景下,我們經(jīng)常需要將數(shù)據(jù)庫检吆、EC2放到私網(wǎng)舒萎,但是實(shí)例中的服務(wù)又必須要訪問互聯(lián)網(wǎng),這個時候NAT Instance就可以幫我們解決這個問題蹭沛,以私有子網(wǎng)內(nèi)的EC2請求互聯(lián)網(wǎng)為例臂寝,我們的請求會被先被路由表路由到公共子網(wǎng)內(nèi)的NAT Instance中,然后通過NAT Instance服務(wù)來訪問互聯(lián)網(wǎng)摊灭。

  • 每項(xiàng) EC2 實(shí)例都會默認(rèn)執(zhí)行源/目標(biāo)檢查咆贬。這意味著實(shí)例必須為其發(fā)送或接收的數(shù)據(jù)流的源頭或目標(biāo)。但是帚呼,NAT 實(shí)例必須能夠在源或目標(biāo)并非其本身時發(fā)送和接收數(shù)據(jù)流掏缎。因此,創(chuàng)建NAT實(shí)例之后煤杀,一定要關(guān)閉源/目標(biāo)檢查(Source/Destination Check)

  • NAT實(shí)例需要創(chuàng)建在公有子網(wǎng)內(nèi)

  • 私有子網(wǎng)需要創(chuàng)建一條默認(rèn)路由(0.0.0.0/0)眷蜈,指到NAT實(shí)例

  • NAT實(shí)例的瓶頸在于實(shí)例的大小,需要自己創(chuàng)建彈性伸縮組(Auto Scaling Group)沈自,自定義腳本來達(dá)到NAT實(shí)例的高可用(比如部署在多個可用區(qū))

  • 我們更推薦使用NAT Gateway的形式來實(shí)現(xiàn)功能酌儒,如果我們真的想要使用NAT Instance,可以在社區(qū)AMI來搜索它枯途。

    截屏2021-02-28 下午5.38.36
截屏2021-02-28 下午5.33.49

7.2 NAT Gateway

當(dāng)我們使用忌怎,就不用再創(chuàng)建NAT Instance了,也就沒有實(shí)例大小的煩惱酪夷,NAT Gateway會自動擴(kuò)容榴啸。

  • NAT Gateway需要關(guān)聯(lián)到公共子網(wǎng),它自動分配一個公網(wǎng)IP地址(EIP)

  • 私有子網(wǎng)需要創(chuàng)建一條默認(rèn)路由(0.0.0.0/0)到NAT網(wǎng)關(guān)

  • 不需要更改源/目標(biāo)檢查(Source/Destination Check)

7.3 堡壘機(jī)

堡壘機(jī)(Bastion Host)又叫做跳板機(jī)(Jump Box)捶索,主要用于運(yùn)維人員遠(yuǎn)程登陸服務(wù)器的集中管理插掂。運(yùn)維人員首先登陸到這臺堡壘機(jī)(公網(wǎng)),然后再通過堡壘機(jī)管理位于內(nèi)網(wǎng)的所有服務(wù)器腥例。

需要與NAT Instance區(qū)分辅甥,私有子網(wǎng)中的流量會發(fā)送到NAT Instance里,而堡壘機(jī)只是用來登錄燎竖、管理璃弄。

8. 對等連接(Peering)和Transit Gateway

8.1 Peering Connect

VPC對等連接(VPC Peering)是兩個VPC之間的連接,通過VPC Peering构回,我們就可以使用私有地址讓兩個VPC之間相互通信夏块,就像它們在同一個VPC內(nèi)一樣疏咐。

我們可以給自己、其他AWS賬號的VPC脐供、不同區(qū)域的VPC來建立Peering Connect.

如下圖所示浑塞,VPC A和VPC B之間建立了對等連接,那么VPC A中網(wǎng)段10.0.0.0/16內(nèi)的實(shí)例就可以和VPC B中網(wǎng)段172.31.0.0/16內(nèi)的實(shí)例進(jìn)行互相通信政己,仿佛它們是處于同一個內(nèi)網(wǎng)一樣酌壕。

如果兩個VPC出現(xiàn)了地址覆蓋/重復(fù),那么這兩個VPC不能做Peering

  • 例如10.0.0.0/16的VPC與10.0.0.0/24的VPC是不能做對等連接的

  • VPC Peering沒有傳遞性

    • 即如果VPC A與VPC B進(jìn)行了對等連接

    • VPC B與VPC C進(jìn)行了對等連接

    • VPC A是不能與VPC C進(jìn)行直接通信的歇由,必須再建立VPC A和VPC C的對等連接才可以

img

8.2 Transit Gateway

我們先來看一個情況卵牍,當(dāng)我們需要創(chuàng)建多個VPC之間的連接時,需要非常多的Peering沦泌,Transit Gateway就是為了解決這一個問題糊昙。

需要注意的是,Transit Gateway 需要保證所有的VPC在一個region下面谢谦。

截屏2021-03-07 下午7.21.13.png

通過Transit Gateway释牺,我們就可以簡單地來管理多個VPC啦。

截屏2021-02-28 下午6.47.06

9.Network ACLs與Security Group

  • 在你的默認(rèn)VPC內(nèi)會有一個默認(rèn)的網(wǎng)絡(luò)ACL(NACL)回挽,它會允許所有入向和出向的流量

  • 對于所有VPC內(nèi)的子網(wǎng)船侧,每一個子網(wǎng)都需要關(guān)聯(lián)一個網(wǎng)絡(luò)ACL。如果沒有關(guān)聯(lián)任何網(wǎng)絡(luò)ACL厅各,那么子網(wǎng)會關(guān)聯(lián)默認(rèn)的網(wǎng)絡(luò)ACL

  • 一個網(wǎng)絡(luò)ACL可以關(guān)聯(lián)多個子網(wǎng),但一個子網(wǎng)只能關(guān)聯(lián)一個網(wǎng)絡(luò)ACL

  • 網(wǎng)絡(luò)ACL包含了一系列(允許或拒絕)的規(guī)則预柒,網(wǎng)絡(luò)ACL會按順序執(zhí)行队塘,一旦匹配就結(jié)束,不會再繼續(xù)往下匹配

  • 網(wǎng)絡(luò)ACL有入向和出向的規(guī)則宜鸯,每一條規(guī)則都可以配置允許或者拒絕, 還記得我們的安全組嗎憔古,它只支持顯式的允許。

  • 網(wǎng)絡(luò)ACL是無狀態(tài)的(安全組是有狀態(tài)的)

    • 被允許的入向流量的響應(yīng)流量必須被精準(zhǔn)的出向規(guī)則所允許(反之亦然)

    • 一般至少需要允許臨時端口(TCP 1024-65535)

截屏2021-02-28 下午7.05.06

臨時端口

客戶端來說淋袖,每次發(fā)起 TCP 連接請求時鸿市,都需要分配一個空閑的本地端口(臨時端口),去連接遠(yuǎn)端的服務(wù)器即碗。由于這個本地端口是獨(dú)占的焰情,所以客戶端最多只能發(fā)起 65535 個連接。

服務(wù)器端來說剥懒,其通常監(jiān)聽在固定端口上(比如 80 端口)内舟,等待客戶端的連接。根據(jù)五元組(源IP地址初橘、目的IP地址验游、協(xié)議號充岛、源端口、目的端口)結(jié)構(gòu)耕蝉,我們知道崔梗,客戶端的 IP 和端口都是可變的。如果不考慮 IP 地址分類以及資源限制垒在,服務(wù)器端的理論最大連接數(shù)蒜魄,可以達(dá)到 2 的 48 次方(IP 為 32 位,端口號為 16 位)爪膊,遠(yuǎn)大于 65535权悟。

所以,綜合來看推盛,客戶端最大支持 65535 個連接峦阁,而服務(wù)器端可支持的連接數(shù)是海量的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耘成,一起剝皮案震驚了整個濱河市榔昔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瘪菌,老刑警劉巖撒会,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異师妙,居然都是意外死亡诵肛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門默穴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來怔檩,“玉大人,你說我怎么就攤上這事蓄诽⊙ρ担” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵仑氛,是天一觀的道長乙埃。 經(jīng)常有香客問我,道長锯岖,這世上最難降的妖魔是什么介袜? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮嚎莉,結(jié)果婚禮上米酬,老公的妹妹穿的比我還像新娘。我一直安慰自己趋箩,他們只是感情好赃额,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布加派。 她就那樣靜靜地躺著,像睡著了一般跳芳。 火紅的嫁衣襯著肌膚如雪芍锦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天飞盆,我揣著相機(jī)與錄音娄琉,去河邊找鬼。 笑死吓歇,一個胖子當(dāng)著我的面吹牛孽水,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播城看,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼女气,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了测柠?” 一聲冷哼從身側(cè)響起炼鞠,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轰胁,沒想到半個月后谒主,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赃阀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年霎肯,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片榛斯。...
    茶點(diǎn)故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡姿现,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肖抱,到底是詐尸還是另有隱情,我是刑警寧澤异旧,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布意述,位于F島的核電站,受9級特大地震影響吮蛹,放射性物質(zhì)發(fā)生泄漏荤崇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一潮针、第九天 我趴在偏房一處隱蔽的房頂上張望术荤。 院中可真熱鬧,春花似錦每篷、人聲如沸瓣戚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽子库。三九已至舱权,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仑嗅,已是汗流浹背宴倍。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仓技,地道東北人鸵贬。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像脖捻,于是被迫代替她去往敵國和親阔逼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容