我正在嘗試爲ElasticCache啓用我的VPC lambda函數以訪問DynamoDB。我知道這一點,我需要建立一個NAT網關。但是,我無法使其工作。我的私人子網是在172.31。 。範圍。如何將VPC內部的AWS Lambda函數連接到公共資源(如DynamoDB)?
這是我下面的步驟:
- 在10.0.0.0創建IP範圍內的公共子網。
- 在上面提到的相同IP範圍內創建公共VPC。
- 在公共VPC中創建公共Internet網關。
- 創建一個公共路由表,它不是主路由表,並將公有子網連接到它。然後,將0.0.0.0/0的路由添加到上面創建的公共Internet網關。
- 在公有子網中創建NAT網關。這個NAT獲得了一個彈性IP和一個私有IP在10. 。。*範圍。
現在我有3個路由表,兩件給我的公共子網(10.0.0.0)和一個現有的爲我的私人子網(172.31.0.0),這是我的私人VPC的一部分。
我的私人路由表的路由爲0.0.0.0/0到我的私人Internet網關。
我想我需要改變這條路線指向我的公共NAT網關,但是我無法這樣做,因爲我的NAT的私有IP位於10.0.0.0範圍內。在這一點上,我很困惑如何繼續。我試圖在私有子網中創建一個NAT網關並將路由轉發給它,但它不起作用。我錯過了什麼?
您的私有子網的默認路由應該指向[NAT網關ID](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html#nat-gateway-create-路由),而不是Internet網關。 –
正如我所提到的,我的私有子網並未在要轉發的選項列表中顯示我的NAT。 – Adi
只要不在Amazon DynamoDB中使用ElastiCache,除非Amazon爲此發佈了一個好的解決方案,因爲現在正確配置它非常痛苦。我們最終使用redislabs.com來開發我們的lambda。 –