AWS VPC 설정 가이드 + AWS Lambda에 연결하기

김철기·2022년 2월 17일
5
post-thumbnail

안녕하세요. Gameeye에서 deeplol.gg 서비스를 개발 중인 김철기입니다.
클라우드 서버 인프라 구축, 백엔드 개발, 딥러닝 모델 연구를 담당하고 있습니다.

해당 포스팅은 AWS VPC의 이해와 생성 과정을 다룹니다.
(+ AWS Lambda와 연결하는 방법을 다룹니다.)

VPC의 이해

Amazon Virtual Private Cloud(Amazon VPC)에서는 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사합니다.

  • VPC는 Subnet, Internet Gateway, NAT, Routing Table, Security Group으로 구성
  • 구성요소의 현실 예시
    VPC = 사옥
    Subnet = 건물의 각 층
    Internet Gateway = 인터넷 전용선
    NAT = 공유기
    Routing Table = 공유기 설정
    Security Group = 방화벽

VPC 생성과정

VPC 생성과정은 위의 구성요소 현실 예시를 참고하면 이해하기 쉽습니다.

  • VPC 생성하기: 사옥으로 사용할 건물 계약
    VPC 대시보드 - VPC 생성 버튼 클릭 - VPC 이름과 IPv4 CIDR 블록을 입력하고 생성

  • Subnet 생성하기: 건물의 층을 나누고 전산실 만들기
    서브넷 대시보드 - 서브넷 생성 버튼 클릭 - 서브넷 이름과 가용영역, CIDR 블록을 설정 후 생성
    (고가용성을 위해 Public 2개, Private 2개를 생성)

  • Internet Gateway 생성하기: 인터넷 계약 후 인터넷선 연결
    Internet Gateway 대시보드 - 생성 버튼 클릭 - 이름 설정 후 생성

    생성한 Internet Gateway를 VPC에 연결

  • Public Routing Table 생성하기: 공유기와 인터넷 모뎀 연결
    라우팅 테이블 대시보드 - 라우팅 테이블 생성 버튼 클릭 - 생성한 VPC 선택하여 생성

    라우팅 테이블 설정 - 라우팅 - 라우팅 편집 - 라우팅 추가 버튼 클릭 - 생성한 Internet Gateway 선택 후 저장

    서브넷 연결 편집 - 생성한 public subnet 선택 후 저장

  • NAT 게이트웨이 생성하기: 공유기 켜기
    NAT 게이트웨이 대시보드 - NAT 게이트웨이 생성 - 생성한 퍼블릭 서브넷을 선택하고 탄력적 ID 할당하여 생성

  • Private Routing Table 생성하기: 공유기에 LAN 케이블 연결
    Public Routing Table처럼 생성 - 라우팅 편집 - 라우팅 추가 버튼 클릭 - 생성한 NAT 선택 후 저장

    서브넷 연결 편집 - 생성한 Private 서브넷을 선택 후 저장

+ AWS Lambda 서비스에 연결하기

  • 권한 추가
    Lambda 역할에서 'AWSLambdaVPCAccessExecutionRole' 정책을 연결
  • VPC 설정 변경
    VPC - 편집 - 생성한 VPC 지정 - 서브넷 지정(반드시 Private Subnet) - 외부 연결이 허용되는 보안 그룹 지정
profile
Deepveloper, deeplol.gg, fleaman.shop

1개의 댓글

comment-user-thumbnail
2024년 7월 10일

안녕하세요! 포스팅 잘 보았습니다. 저도 AWS 공부 중에 지금 궁금한 점이 생겨서 여쭤보고 싶습니다.
저는 NAT Gateway 대신에 NAT Instance를 생성해서 사용중 입니다. 그런데 지금 Lambda 함수를 subnet에 두었는데 인터넷 연결이 안되고 있습니다. 혹시 Lambda의 보안그룹은 어떻게 설정 하셨는지 알 수 있을까요? 감사합니다!

답글 달기