데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      AWS MediaConvert 를 활용한 동영상 스트리밍 서비스 구축기 - 4편

      안전을최우선으로 25.09.15
      696 3 1
      DEVOTEE 요약
      본 블로그는 AWS Lambda에서 외부 API를 호출할 때 IP를 고정하기 위해 필요한 VPC 설정 과정을 설명합니다. Lambda 함수가 Private 서브넷에서 실행되도록 설정하고 NAT 게이트웨이와 인터넷 게이트웨이를 통해 아웃바운드 트래픽을 관리하는 방법을 다룹니다. VPC 구성은 퍼블릭 및 프라이빗 서브넷, 라우팅 테이블, 엘라스틱 IP 등을 생성하여 보안과 외부 통신을 모두 고려한 방식으로 설정됩니다.
      DEVOTEE 추천 블로그

      들어가며

      이번에는 VPC 설정에 대해서 알아보겠습니다.

      전체 아키텍쳐는 1편을 참고해 주시길 바랍니다.

      1편 : AWS MediaConvert 를 활용한 동영상 스트리밍 서비스 구축기 - 1편

      2편 : AWS MediaConvert 를 활용한 동영상 스트리밍 서비스 구축기 - 2편

      3편 : AWS MediaConvert 를 활용한 동영상 스트리밍 서비스 구축기 - 3편


      VPC 설정

      VPC 구성 이유

      Lambda(또는 타 aws 리소스) 에서 외부 API(CMS의 경우 어드민 시스템)를 호출 해야 하는데, 외부 API의 경우 방화벽 정책이 있는 경우가 있어 인바운드 정책 추가가 필요.

      하지만 Lambda에서 인입되는 ip들은 유동적이라, Lambda의 outbound ip를 고정해야 할 필요가 있음.


      lambda 고정 ip 설정 가이드

      https://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/generate-a-static-outbound-ip-address-using-a-lambda-function-amazon-vpc-and-a-serverless-architecture.html

      트래픽이 나가는 과정


      이미지 원본: AWS

      1. 아웃바운드 트래픽이 퍼블릭 서브넷 1의 NAT 게이트웨이 1을 통해 나간다.

      2. 아웃바운드 트래픽이 퍼블릭 서브넷 2의 NAT 게이트웨이 2을 통해 나간다.

      3. Lambda 함수는 프라이빗 서브넷 1 또는 프라이빗 서브넷 2에서 실행된다.

      4. 프라이빗 서브넷 1과 프라이빗 서브넷 2는 트래픽을 퍼블릭 서브넷의 NAT 게이트웨이로 라우팅.

      5. NAT 게이트웨이는 퍼블릭 서브넷에서 인터넷 게이트웨이로 아웃바운드 트래픽을 전송.

      6. 아웃바운드 데이터는 인터넷 게이트웨이에서 외부 서버로 전송.

      VPC 생성

      이름 : Lambda VPC

      IPv4 CIDR : 10.0.0.0/25


      서브넷 생성

      public subnet 생성(2개 생성)

      public subnet 1

      IPv4 CIDR 블록의 경우 를 10.0.0.0/28 입력하고 서브넷 생성



      public subnet 2

      가용 영역을 선택 할때 public subnet 1이 포함된 가용 영역은 사용할 수 없음으로 다른 가용영역 선택.

      IPv4 CIDR 블록의 경우 를 10.0.0.16/28 입력하고 서브넷 생성



      private subnet 생성(2개)

      private subnet 1

      이전에 생성한 public subnet 1 이 포함된 가용영역 선택.

      IPv4 CIDR 블록의 경우 를 10.0.0.32/28 입력하고 서브넷 생성



      private subnet 2

      이전에 생성한 public subnet 2 이 포함된 가용영역 선택.

      IPv4 CIDR 블록의 경우 를 10.0.0.64/28 입력하고 서브넷 생성


      엘라스틱 IP 생성

      엘라스틱 IP 생성(2개)


      엘라스틱 IP 첫번째

      탄력적 IP 주소 할당 클릭하여 IP 생성



      이름 편집하여 이름 생성

      (이 엘라스틱 IP 주소는 첫 번째 NAT 게이트웨이에 사용 )



      엘라스틱 IP 두번째

      탄력적 IP 주소 할당 클릭하여 IP 생성



      이름 편집하여 이름 생성

      (이 엘라스틱 IP 주소는 두 번째 NAT 게이트웨이에 사용 )


      인터넷 게이트웨이 생성

      이름 입력후 생성.



      생성한 인터넷 게이트웨이 선택 → 작업 → VPC에 연결



      Lambda VPC 선택


      NAT 게이트웨이 생성

      NAT 게이트웨이는 2개 생성 필요.


      NAT 게이트웨이 1

      1. 서브넷은 생성한 lambda public subnet 1 을 선택

      2. 연결 유형은 퍼블릭

      3. 엘라스틱 IP 할당 ID의 경우 앞서 만든 첫 번째 엘라스틱 IP 주소를 선택

      4. 생성


      NAT 게이트웨이 2

      1. 서브넷은 생성한 lambda public subnet 2 을 선택

      2. 연결 유형은 퍼블릭

      3. 엘라스틱 IP 할당 ID의 경우 앞서 만든 두 번째 엘라스틱 IP 주소를 선택

      4. 생성


      라우팅 테이블 생성

      public 2개, private 2개 생성


      public 1

      VPC 는 Lambda VPC 선택



      라우팅 편집 클릭 → 라우팅 추가

      대상: 0.0.0.0/0 → 인터넷 게이트웨이 → 만들어둔 인터넷 게이트웨이 선택 → 변경사항 저장



      서브넷 연결 편집



      public subnet 1번 선택 → 연결 저장



      public 2

      public 1번과 동일한 절차로 생성.


      라우팅 편집

      • 대상: 0.0.0.0/0 → 인터넷 게이트웨이 → 만들어둔 인터넷 게이트웨이 선택 → 변경사항 저장

      서브넷 연결 편집

      • public subnet 2번 선택 → 연결 저장

      private 1

      VPC 는 Lambda VPC 선택



      라우팅 편집 클릭 → 라우팅 추가

      대상: 0.0.0.0/0 → NAT 게이트웨이 → nat gateway 1번 선택 → 변경사항 저장



      서브넷 연결 편집

      private subnet 1번 선택 → 연결 저장



      private 2

      private 1번과 동일한 절차로 생성.


      라우팅 편집

      • 대상: 0.0.0.0/0 → NAT 게이트웨이 → nat gateway 2번 선택 → 변경사항 저장

      서브넷 연결 편집

      • private subnet 2번 선택 → 연결 저장

      lambda VPC 설정

      3편 에서 설정한 lambda(비디오 작업 완료)쪽에 VPC 설정이 필요하다.


      lambda(비디오 작업 완료쪽) → 구성 → VPC → 편집



      VPC : VPC 설정 에서 만든 VPC 선택

      서브넷 : VPC 설정에서 만든 private 서브넷 2개 선택

      보안그룹 : default 선택



      마치며

      VPC 는 번거롭지만 보안상 외부 통신을 위해서는 진행하는 편이 좋습니다.

      다음편에는 나머지 AWS 설정으로 eventbridge, cloudfront 등 나머지 설정을 진행할 예정입니다.

      그 다음편에는 실전으로 실제로 클라이언트에서 동영상을 올리고, 동영상 변환 결과를 받아 보는 내용 위주로 작성할 예정입니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      안전을최우선으로 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기