2

ElasticCache의 VPC 람다 기능을 사용하여 DynamoDB에 액세스하려고합니다. 나는 이것을 알기 때문에 NAT 게이트웨이를 설정해야합니다. 그러나, 나는 그것을 작동하게 할 수 없다. 내 개인 서브넷은 172.31에 있습니다. . 범위. VPC 내부의 AWS Lambda 함수를 DynamoDB와 같은 공용 리소스에 연결하는 방법은 무엇입니까?

내가 다음하고있는 단계입니다

  1. 가 10.0.0.0에서 IP 범위와 공개 서브넷을 만듭니다.
  2. 위에서 언급 한 것과 동일한 IP 범위에서 공용 VPC를 만듭니다.
  3. 공용 VPC에서 공용 인터넷 게이트웨이를 만듭니다.
  4. 주 라우트 테이블이 아닌 공용 경로 테이블을 작성하고 공용 서브넷을 연결하십시오. 그런 다음 위에서 만든 공용 인터넷 게이트웨이에 0.0.0.0/0에 대한 경로를 추가하십시오.
  5. 공용 서브넷에 NAT 게이트웨이를 만듭니다. 이 NAT는 10에서 탄성 IP와 사설 IP를 얻습니다. .. * 범위.

지금 나는 내 개인 VPC의 일부인 3 라우팅 테이블, 내 개인 서브넷 (172.31.0.0)에 대한 기존의 내 공개 서브넷 (10.0.0.0) 한 두 가지가 있습니다.

내 개인 경로 테이블에 개인 인터넷 게이트웨이에 0.0.0.0/0의 경로가 있습니다.

내 공용 NAT 게이트웨이를 가리 키도록이 경로를 변경해야한다고 생각하지만 내 NAT의 개인 IP가 10.0.0.0 범위에 있다고 생각합니다. 나는이 시점에서 진행하는 방법에 대해 혼란 스럽다. 개인 서브넷에 NAT 게이트웨이를 만들고 경로를 전달하려고 시도했지만 작동하지 않습니다. 나는 무엇을 놓치고?

+2

개인 서브넷의 기본 경로는 [NAT 게이트웨이 ID] (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html#nat-gateway-create- 경로)가 아니라 인터넷 게이트웨이. –

+0

내가 언급했듯이 내 개인 서브넷이 전달할 옵션 목록에 내 NAT를 표시하지 않습니다. – Adi

+0

ElastiCache를 DynamoDB와 함께 사용하지 마십시오. 아마존은 지금 당장 제대로 구성하기가 어렵 기 때문에 아마존이 좋은 해결책을 발표 할 때까지는 사용하지 마십시오. 우리는 우리 람다를 위해 redislabs.com을 사용하는 것을 끝내었다. –

답변

0

내가 만든 실수는 두 개의 VPC를 만드는 것이 었습니다. 하나는 개인 서브넷 용이고 다른 하나는 공개용입니다. 피어링을 사용하도록 설정하지 않으면 AWS VPC가 서로 통신 할 수 없습니다.

개인 및 공용 서브넷의 개념은 처음에는 네트워킹 배경의 사람이 모호합니다. 실제로 의미하는 것은 인터넷 (웹 서버와 같은)과 데이터베이스 서버 (인터넷으로부터 보호되어야하는)와 같은 로컬 자원에 액세스 할 수있는 논리적 서브넷입니다.

0

어리석은 일이지만, 기본 VPC (172.31 ...)와 생성 한 VPC (10.0 ...)를 혼합 할 가능성이 있습니다. 따라서 기본 VPC의 경로 테이블을보고있는 경우 실제로는 기본 서브넷 (들)입니다.이 서브넷은 공개 경로입니다.

관련 문제