轉(zhuǎn)載于:https://blog.csdn.net/FL63Zv9Zou86950w/article/details/105400909
亞馬遜VPC圖標(biāo)
公共子網(wǎng)中的實(shí)例可以通過(guò)互聯(lián)網(wǎng)訪問(wèn),而私有子網(wǎng)中的實(shí)例無(wú)法訪問(wèn)艰亮。以下是作者將要構(gòu)建的體系結(jié)構(gòu)莱褒。
VPC架構(gòu)
創(chuàng)建自定義VPC
登錄到你的AWS控制臺(tái)盅抚,選擇你要在其中創(chuàng)建VPC的區(qū)域(在這種情況下,作者使用的是北弗吉尼亞),然后選擇VPC。
現(xiàn)在莺琳,單擊左側(cè)欄中的“你的VPC”,然后單擊“創(chuàng)建VPC”载慈。
創(chuàng)建VPC頁(yè)面
為你的VPC和IPv4 CIDR塊命名惭等。如果需要,還可以提供一個(gè)IPv6 CIDR塊办铡,但是對(duì)于本示例辞做,作者將采用默認(rèn)選擇。
你可以強(qiáng)制在此VPC中啟動(dòng)的EC2實(shí)例的租賃寡具。如果選擇專(zhuān)用的秤茅,則將在專(zhuān)用租用實(shí)例上啟動(dòng)所有實(shí)例(成本更高)。如果選擇“默認(rèn)”選項(xiàng)童叠,則實(shí)例將在啟動(dòng)實(shí)例時(shí)使用選定的租賃選項(xiàng)框喳。
單擊創(chuàng)建按鈕來(lái)創(chuàng)建你的自定義VPC!
你的VPC
現(xiàn)在拯钻,你可以看到自定義VPC以及默認(rèn)VPC帖努。
創(chuàng)建新的VPC時(shí)撰豺,默認(rèn)情況下會(huì)創(chuàng)建網(wǎng)絡(luò)訪問(wèn)控制列表(NACL)和主路由表粪般。
創(chuàng)建子網(wǎng)
現(xiàn)在,我們已經(jīng)創(chuàng)建了自定義VPC污桦,讓我們通過(guò)選擇左側(cè)邊欄中的“子網(wǎng)”標(biāo)簽并單擊“創(chuàng)建子網(wǎng)”按鈕來(lái)創(chuàng)建公共子網(wǎng)和私有子網(wǎng)亩歹。
創(chuàng)建公共子網(wǎng)
首先創(chuàng)建公共子網(wǎng)。你可以給它起一個(gè)友好的名稱(chēng)來(lái)輕松地識(shí)別它,然后為該子網(wǎng)選擇自定義VPC和IPv4 CIDR塊小作。在這里亭姥,作者選擇10.0.1.0/24作為CIDR塊。
你也可以選擇要在其中創(chuàng)建此子網(wǎng)的AZ顾稀,因?yàn)橐粋€(gè)子網(wǎng)始終映射到一個(gè)AZ达罗。
完成后,單擊“創(chuàng)建”按鈕以創(chuàng)建子網(wǎng)静秆。
創(chuàng)建私有子網(wǎng)
現(xiàn)在粮揉,你可以用類(lèi)似的方式創(chuàng)建一個(gè)私有子網(wǎng)。
默認(rèn)情況下抚笔,子網(wǎng)的“自動(dòng)分配公用IP”設(shè)置被禁用扶认。讓我們?yōu)楣沧泳W(wǎng)啟用此功能,方法是選擇它殊橙,然后單擊頂部的“操作”下拉菜單辐宾,然后選擇“修改自動(dòng)分配IP設(shè)置。
現(xiàn)在膨蛮,選中復(fù)選框叠纹,然后單擊“保存”按鈕。
創(chuàng)建一個(gè)互聯(lián)網(wǎng)網(wǎng)關(guān)
如果沒(méi)有連接互聯(lián)網(wǎng)網(wǎng)關(guān)敞葛,則無(wú)法通過(guò)互聯(lián)網(wǎng)訪問(wèn)在該VPC內(nèi)創(chuàng)建的任何實(shí)例吊洼。
創(chuàng)建互聯(lián)網(wǎng)網(wǎng)關(guān),請(qǐng)轉(zhuǎn)到左側(cè)欄中的互聯(lián)網(wǎng)網(wǎng)關(guān)選項(xiàng)卡制肮,然后單擊頂部的創(chuàng)建互聯(lián)網(wǎng)網(wǎng)關(guān)冒窍。為你的互聯(lián)網(wǎng)網(wǎng)關(guān)命名,然后單擊“保存”按鈕豺鼻。
你可以看到網(wǎng)關(guān)已分離综液。你需要將互聯(lián)網(wǎng)網(wǎng)關(guān)與你的自定義VPC相連。你可以通過(guò)選擇它儒飒,單擊頂部的“操作”下拉列表谬莹,然后選擇“附加到VPC”來(lái)執(zhí)行此操作。
然后選擇你的自定義VPC桩了,然后單擊“附加”按鈕附帽。
附加互聯(lián)網(wǎng)網(wǎng)關(guān)
出于安全原因,建議保留主路由表不變井誉。因此蕉扮,我們將為自定義VPC創(chuàng)建一個(gè)新的路由表,并允許通過(guò)它訪問(wèn)我們的公共子網(wǎng)颗圣。
讓我們從左側(cè)邊欄中轉(zhuǎn)到“路由表”標(biāo)簽喳钟,然后點(diǎn)擊頂部的“創(chuàng)建路由表”按鈕屁使。
為路由表命名,選擇自定義VPC奔则,然后單擊“保存”按鈕蛮寂。
將子網(wǎng)與路由表關(guān)聯(lián)
默認(rèn)情況下,所有子網(wǎng)都與主路由表關(guān)聯(lián)易茬。通過(guò)選擇公用子網(wǎng)并將其導(dǎo)航到底部的“子網(wǎng)關(guān)聯(lián)”選項(xiàng)卡酬蹋,將其與定制路由表相關(guān)聯(lián)。
單擊編輯子網(wǎng)關(guān)聯(lián)抽莱,然后選擇公共子網(wǎng)除嘹,然后單擊保存按鈕。
現(xiàn)在岸蜗,要允許互聯(lián)網(wǎng)訪問(wèn)我們的公共子網(wǎng)尉咕,我們需要為自定義路由表創(chuàng)建一個(gè)新的路由。
選擇自定義路線表璃岳,然后導(dǎo)航至底部的“路線”標(biāo)簽年缎。單擊“編輯路由”按鈕,然后添加目標(biāo)為0.0.0.0/0的新路由铃慷,即互聯(lián)網(wǎng)和Target作為連接的互聯(lián)網(wǎng)網(wǎng)關(guān)单芜。
保存路由,現(xiàn)在你的公共子網(wǎng)可以訪問(wèn)互聯(lián)網(wǎng)犁柜。
現(xiàn)在該啟動(dòng)我們的實(shí)例了洲鸠。轉(zhuǎn)到EC2窗口,然后單擊啟動(dòng)實(shí)例馋缅。
WordPress AMI
從AWS Marketplace中選擇由Bitnami和Automattic認(rèn)證的WordPress扒腕,然后選擇一個(gè)實(shí)例類(lèi)型。作者在這里選擇t2.micro萤悴,因?yàn)樗强捎玫拿赓M(fèi)套餐瘾腰。
在下一步中,選擇自定義VPC作為網(wǎng)絡(luò)覆履,選擇公共子網(wǎng)作為子網(wǎng)√E瑁現(xiàn)在,在子網(wǎng)下方的字段中硝全,你可以看到字段自動(dòng)分配公共IP栖雾,其值已設(shè)置為子網(wǎng)設(shè)置。
由于在子網(wǎng)中伟众,我們啟用了此選項(xiàng)析藕,因此此處的默認(rèn)選項(xiàng)是“啟用”。
現(xiàn)在赂鲤,添加一些存儲(chǔ)并為你的實(shí)例命名(作者給出的是公共實(shí)例)噪径。
現(xiàn)在,創(chuàng)建一個(gè)安全組数初,其中端口22找爱、80和443可以訪問(wèn)互聯(lián)網(wǎng)。我們來(lái)打開(kāi)端口22泡孩,因?yàn)槲覀円獙SH從公共實(shí)例轉(zhuǎn)換為私有實(shí)例车摄,但是為了提高安全性,SSH應(yīng)該僅針對(duì)你的特定IP開(kāi)放仑鸥。
單擊Review and Launch吮播,然后通過(guò)創(chuàng)建密鑰對(duì)啟動(dòng)實(shí)例。
現(xiàn)在眼俊,要?jiǎng)?chuàng)建私有實(shí)例意狠,請(qǐng)選擇相同的AMI和實(shí)例類(lèi)型。只是這一次選擇專(zhuān)用子網(wǎng)來(lái)啟動(dòng)實(shí)例疮胖。
你可以看到环戈,對(duì)于專(zhuān)用子網(wǎng),默認(rèn)情況下禁用自動(dòng)分配公用IP澎灸。
現(xiàn)在院塞,添加一些存儲(chǔ),為你的實(shí)例命名性昭,選擇與公共實(shí)例相同的安全組拦止,并使用相同的密鑰啟動(dòng)該實(shí)例。
兩個(gè)實(shí)例都運(yùn)行之后糜颠,你可以看到只有公共實(shí)例具有IPv4公用IP汹族。
EC2 實(shí)例
如果你在瀏覽器中打開(kāi)此IP,你將看到新的WordPress博客其兴!
由于你的私有實(shí)例沒(méi)有公共IP地址鞠抑,因此你將無(wú)法從瀏覽器中看到其WordPress博客。
通過(guò)SSH進(jìn)入實(shí)例
現(xiàn)在該通過(guò)SSH進(jìn)入你的實(shí)例了忌警,但是由于你的私有實(shí)例沒(méi)有公共IP地址搁拙,因此你將無(wú)法直接從系統(tǒng)中對(duì)其進(jìn)行SSH。
因此法绵,首先讓SSH進(jìn)入公共實(shí)例箕速。
通過(guò)SSH進(jìn)入公共實(shí)例
要確認(rèn)你的實(shí)例可以訪問(wèn)互聯(lián)網(wǎng),你可以運(yùn)行sudo apt-get update并查看其是否正常運(yùn)行朋譬。
更新公共實(shí)例
現(xiàn)在盐茎,我們位于公共子網(wǎng)內(nèi),我們應(yīng)該能夠通過(guò)SSH進(jìn)入我們的私有子網(wǎng)徙赢,因?yàn)槟J(rèn)情況下字柠,VPC中的實(shí)例可以相互通信探越。
要使用SSH,我們需要私鑰窑业,因此請(qǐng)創(chuàng)建一個(gè).pem文件并在其中復(fù)制下載的PEM文件的內(nèi)容钦幔。你可以通過(guò)鍵入以下命令來(lái)創(chuàng)建新文件:
vi private.pem打開(kāi)VIM;
按i進(jìn)入VIM的插入模式常柄;
復(fù)制下載的PEM文件的內(nèi)容鲤氢,然后在Mac上使用Command + V,在Linux上使用Ctrl + Shift + V粘貼到終端中西潘;
按Escape鍵退出插入模式卷玉,然后鍵入:wq保存文件并退出;
現(xiàn)在喷市,鍵入chmod 600 private.pem以限制文件的權(quán)限相种。
通過(guò)SSH進(jìn)入私有實(shí)例
要SSH進(jìn)入私有實(shí)例,請(qǐng)輸入以下命令:
ssh ubuntu@<private-IP-of-private-instance> -i private.pem
選擇實(shí)例后品姓,可以從“描述”選項(xiàng)卡中找到實(shí)例的私有IP蚂子。在作者的情況下,私有實(shí)例的私有IP為10.0.3.171缭黔。
專(zhuān)用子網(wǎng)的專(zhuān)用IP
現(xiàn)在我們處于私有實(shí)例的終端食茎。要確認(rèn)我們的私有實(shí)例無(wú)權(quán)訪問(wèn)互聯(lián)網(wǎng),請(qǐng)運(yùn)行相同的命令:
sudo apt-get update
無(wú)法更新專(zhuān)用子網(wǎng)(無(wú)法訪問(wèn)互聯(lián)網(wǎng))
你會(huì)注意到它會(huì)超時(shí)或顯示一些錯(cuò)誤馏谨。
專(zhuān)用子網(wǎng)的應(yīng)用
現(xiàn)在别渔,你已經(jīng)看到一個(gè)專(zhuān)用子網(wǎng),讓我們看看為什么要使用一個(gè)專(zhuān)用子網(wǎng):
數(shù)據(jù)庫(kù)——最常見(jiàn)的用例之一是將數(shù)據(jù)庫(kù)托管在私有子網(wǎng)中惧互,而將Web服務(wù)器托管在公共子網(wǎng)中哎媚。這樣,你就可以限制對(duì)數(shù)據(jù)庫(kù)的互聯(lián)網(wǎng)訪問(wèn)喊儡,從而提供了額外的安全性拨与。
應(yīng)用服務(wù)器——假設(shè)你有處理邏輯并與數(shù)據(jù)庫(kù)交互的應(yīng)用服務(wù)器。現(xiàn)在,你的Web服務(wù)器可以將作業(yè)傳遞到專(zhuān)用子網(wǎng)中存在的應(yīng)用程序服務(wù)器。
對(duì)私有實(shí)例的出站互聯(lián)網(wǎng)訪問(wèn)
你的私有實(shí)例可能需要出站互聯(lián)網(wǎng)訪問(wèn)才能使系統(tǒng)保持最新?tīng)顟B(tài)姨俩。你可以通過(guò)創(chuàng)建NAT網(wǎng)關(guān)來(lái)實(shí)現(xiàn)。它們僅允許對(duì)你的私有實(shí)例的出站互聯(lián)網(wǎng)訪問(wèn)淤毛,同時(shí)阻止對(duì)它們的所有入站互聯(lián)網(wǎng)訪問(wèn)。
圓滿完成
現(xiàn)在算柳,你已經(jīng)了解了如何使用公用子網(wǎng)和專(zhuān)用子網(wǎng)創(chuàng)建自定義VPC低淡,并有時(shí)間終止整個(gè)設(shè)置。
終止你的EC2實(shí)例
實(shí)例終止后,轉(zhuǎn)到VPC窗口蔗蹋,選擇自定義VPC何荚,單擊頂部的“操作”按鈕,然后選擇“刪除VPC”選項(xiàng)猪杭。
刪除自定義VPC
再次單擊“刪除VPC”餐塘,它將刪除你的VPC及其所有資源。
刪除VPC確認(rèn)