簡體   English   中英

如何將VPC內的AWS Lambda函數連接到DynamoDB等公共資源?

[英]How to connect AWS Lambda function inside a VPC to public resources like DynamoDB?

我正在嘗試為ElasticCache啟用我的VPC lambda函數以訪問DynamoDB。 我知道,我需要設置一個NAT網關。 但是,我無法使其工作。 我的專用子網位於172.31。 范圍。

這些是我要執行的步驟:

  1. 創建IP范圍為10.0.0.0的公共子網。
  2. 在上述相同的IP范圍內創建一個公共VPC。
  3. 在公用VPC中創建公用Internet網關。
  4. 創建一個不是主路由表的公共路由表,並將公共子網附加到該表。 然后,將0.0.0.0/0的路由添加到上面創建的公共Internet網關。
  5. 在公共子網中創建NAT網關。 此NAT在10中獲得一個彈性IP和一個私有IP 。* 范圍。

現在,我有3個路由表,其中兩個用於我的公共子網(10.0.0.0),一個用於我的私有子網(172.31.0.0),這是我的私有VPC的一部分。

我的專用路由表的路由為0.0.0.0/0到我的專用Internet網關。

我想我需要更改此路由以指向我的公共NAT網關,但是我做不到,因為我的NAT的私有IP在10.0.0.0范圍內。 關於這一點,我感到困惑。 我嘗試在專用子網中創建NAT網關並將路由轉發給它,但它也無法正常工作。 我錯過了什么?

愚蠢,但是您是否有機會將默認VPC(172.31 ...)和您創建的VPC(10.0 ...)混在一起。 因此,如果您看到默認VPC的路由表,則實際上是默認子網的路由表,順便說一下!

我犯的錯誤是創建兩個VPC,一個用於私有子網,另一個用於公共子網。 除非啟用對等,否則AWS VPC無法相互通信。

起初,對於具有網絡背景的人來說,專用和公用子網的概念是模棱兩可的。 它實際上意味着的是邏輯子網,該子網將具有可從Internet(如Web服務器)訪問的資源以及諸如數據庫服務器(應受到Internet保護)的本地資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM