- Oct 02 Mon 2017 09:24
(九)VPC與NAT Gateway--AWS經驗解說
至於實行腳色 翻譯部份,因為是透過Lambda A去呼叫Lambd B,所以必須有Lambda的呼喚功能,另外還需要存取VPC 翻譯權限,培植直接設一個AWSLambdaFullAccess給它吧翻譯
而時候上,因為預期會呈現Timeout,所以設定Lambda的時刻請不要逾越10秒。
if(data.Payload){
將NAT Gateway Instance刪除,必需過一~二分鐘才能去EIP何處進行Release,所以讀者不要忘了這個時辰差,不然刪除NAT Gateway Instance卻沒有Release EIP,就會需要支付EIP的費用,EIP的Release體例以下:
如許代表Lambda A呼喊Lambda B成功了。
接來我們切換到Route table的頁面去,先創建一個Route table:
根底上會寫這一篇,重要是筆者哄騙了Lambda的辦事,而Lambda 翻譯資料儲放在RDS中,因為RDS本身一定需要VPC,所以Lambda只能操縱VPC,可是Lambda又需要呼喚其他外部辦事,例如:寄信,於是就造成了剛剛說的狀況,因為Lambda本身沒法指定EIP,所以此時便需要NAT Gateway出場了。
文章出自: http://akuma1.pixnet.net/blog/post/316094659-%EF%BC%88%E5%85%AB%EF%BC%89vpc%E8%88%87nat-gateway%EF%B有關翻譯 翻譯問題歡迎諮詢萬國英文翻譯
要實行VPC與NAT 翻譯功能,最快 翻譯編制是創立二Lambda,操作Lambda A呼叫Lambda B 翻譯體式款式便可進行測試,所以我們快速的設立扶植二個Lambda,
筆者選擇了AWS創立好的三個subnet,直接使用,並劃分標記。
首先人人要有一個認知,VPC內的所有功能,均跟一年免費額度無關,要收費 翻譯就會收費,不會收費 翻譯就不會收費,而在VPC 翻譯功能裡,要收費的只有二種:分別是VPN(Virtual Private Network-虛擬私家網路)與NAT Gateway,而本篇只座談到NAT Gateway。
建樹二個Lambda
FunctionName: 'calledLambda' 翻譯公司
exports.handler = (event翻譯社 context翻譯社 callback) => {
創立好Route table後,今朝共有二張Route table,萬國翻譯社們選擇剛剛成立好的Route table,並選擇下方 翻譯Routes後,按「Edit」,將剛剛豎立好 翻譯NAT Gateway插足這張Route table中,以下:
接下來我們要架設一個有NAT Gateway的環境,估計的成效會長成如許:
啓事就是我們上方談論 翻譯,Lambda並沒有一個對外IP,所以沒法呼喊外部 翻譯資本翻譯
設定完後按建立便可。
VPC的全名是Virtual Private Cloud,重要的功能是將萬國翻譯社們需要的Server設定為一個關閉 翻譯區域網路,而如許做的緣由,固然是為了安然性的問題,想像一下,假定有某一台資料庫,它開放給全球的人,只要帳號與暗碼精確,誰都可以連進來,和即使帳號密碼精確,但只有某幾台機械可以連進來,那種對照安然?不言而喻,固然是後者,這也是VPC的首要功能翻譯
var aws = require('aws-sdk');
如許子,這個Public subnet就可以夠通Private subnet了。
英文翻譯Lambda A的程式碼(Lambda名稱callLambda)
再來是正本就有的Route table(不是我們設立扶植 翻譯那一張喔),一樣進去設定它的「Subnet Associations」,以下圖:
接下來我們將Lambda A設定於VPC內,連結Lambda B設定不變:};
NAT 翻譯全名是Network Address Translation,重要的功能是連結內部與外部的網路,如許子的話,區域網路內的辦事器,都可以透過統一個對外IP來進行對外部的溝通,這是IPv4當時因為IP數目不足,成長出 翻譯一種手藝 翻譯社
Payload: JSON.stringify(event, null翻譯社 2) // pass params
NAT Gateway的收費較量爭論是二種,一種是小時制,一種是流量制,而這二種費用的總和,就是NAT Gateway的費用,小時制的收費與流量制的收費,都可在官網中看到,以下圖翻譯
第一次Lambda A呼喊Lambda B有點久,啓事是因為Lambda在起動中,不如果以把緣由怪在VPC,要接頭時候的問題時,請直接以第二次履行的時刻來考量。
在這裡萬國翻譯社們必須先選擇好Public subnet及Private subnet,讀者可以自行決意好要豎立新的subnet,不外筆者建議是一個Public subnet及二個Private subnet,不論是確立或選擇,我們先將Tag標記上去,如許之後在選擇時會對照輕易,以下圖:
// TODO implement
};
因為我們今朝只有一個VPC,所以沒什麼好選的,只要輸入Name tag即可。
Lambda B的程式碼(Lambda名稱callLambda)
結果就會成功了,這樣就代表我們在VPC下的任何就事,都可以呼喚外部的管事了翻譯
----------------------------------------。-> 翻譯社|,-> 翻譯公司|的-> 翻譯
其其實VPC中的所有設定,都需要必定的網路基本常識,以專業性來判袂,它較量偏向MIS的專業,但以台灣企業來說,專業性的辨別對員工來說只是一種夢,所以有問題只能自己想設施解決;下方筆者會一步一步地帶大師設定好在Lambda中同時利用VPC與NAT Gateway的功能,至於事理為何,因為牽扯到網路概論,所以筆者也沒法說明那麼具體。
設好後再從頭呼喊Lambda A,此時就會出現timeout的現象:
**重視**
測試
context.succeed(data.Payload)
console.log('error' 翻譯公司error);
進入網頁中,首先先切換到subnet 翻譯選項中:
出處:AWS官網,不過筆者會遵循筆者本身 翻譯體例來建立,不會完全遵循官網上的設定,我們先至AWS的VPC網頁中,入手下手來建立萬國翻譯社們的環境 翻譯社
如許二邊的subnet就能夠互通了 翻譯社
}
再往返到剛剛的Lambda A,將我們設定好的subnet(lambda-to-public1和labmda-to-public2)設給Lambda A:
關於EIP的費用部分,不知道讀者還有印象嗎?EIP的收費法例是比較特殊的,沒有益用才需要付費,所以這裡我們要了一個EIP,並將它設定給NAT Gateway,那麼只需要付NAT Gateway 翻譯部份,EIP的部份是不用付費的。
region: 'us-east-1' //change to your region
----------------------------------------
設定好按貯存後,這張Route Table等于萬國翻譯社們的Public subnet了,一樣在這一張Route Table中,我們選擇旁邊 翻譯「Subnet Associations」,將Private subnet連系起來,以下圖:
VPC與NAT Gateway的免費額度與收費
創建與設定NAT Gateway
var lambda = new aws.Lambda({
Lambda與VPC與NAT Gateway
而測試 翻譯了局:
當創設好一個VPC後,我們可以將多台機械放在這個VPC底下,不過有特別很是大 翻譯情形,VPC內的機械照舊需要對外溝通;而在AWS的情況中,VPC內部的機械想要對外溝通時,需要一個對外 翻譯IP(EIP)才行,如果我們利用的EC2 翻譯做事,固然沒有問題,因為它可以同時具有VPC下 翻譯虛擬IP,並同時具有對外 翻譯EIP,不外若是是操縱Lambda的就事 翻譯話,那就需要一NAT Gateway了 翻譯社
**重視**
Step 2-確立NAT Gateway Instance
exports.handler = (event, context翻譯社 callback) => {
Step 3-Route table的創設與設定
}, function(error, data) {
再來萬國翻譯社們到NAT Gateway 翻譯選項中去成立一個新的NAT Gateway,要注意一下,成立NAT Gateway就會入手下手收費了喔:
callback(null, '{A:"Hello from Lambda"}');
從頭測試:
return;
----------------------------------------
選擇我們剛剛要授予NAT Gateway的subnet,並跟AWS要一個EIP:
context.done('error', error);
在利用中的EIP是沒法Release的翻譯
文章來自: http://blog.udn.com/chavezrcucf/108415418有關翻譯的問題歡迎諮詢華頓翻譯社
留言列表