Amazon VPC에 연결된 Lambda 함수에 인터넷 액세스 권한을 부여하려면 어떻게 해야 합니까?

3분 분량
0

Amazon Virtual Private Cloud(Amazon VPC)에 연결된 AWS Lambda 함수에 인터넷 액세스 권한을 부여하고 싶습니다.

간략한 설명

기본적으로 Lambda 함수는 인터넷 액세스가 가능한 Lambda 관리형 VPC에서 실행됩니다. AWS 계정의 VPC에 있는 리소스에 액세스하려면 VPC 구성을 함수에 추가하십시오. 이 구성은 VPC가 인터넷에 액세스할 수 없는 한 VPC 내 리소스로 기능을 제한합니다.

Lambda 함수를 퍼블릭 서브넷에 연결하더라도 함수는 인터넷에 직접 연결할 수 없습니다. VPC의 함수에는 프라이빗 IP 주소가 있으며 VPC가 인터넷에 액세스하려면 NAT 게이트웨이 또는 NAT 인스턴스가 필요합니다.

참고: VPC 엔드포인트를 사용하여 인터넷 액세스 없이 Amazon VPC 연결 내에서 지원되는 AWS 서비스에 연결할 수 있습니다.

해결 방법

Amazon VPC에서 퍼블릭 서브넷과 프라이빗 서브넷 생성

Lambda 함수를 위한 프라이빗 서브넷과 NAT 게이트웨이를 위한 퍼블릭 서브넷을 생성합니다. 이름 태그 필드에 서브넷을 퍼블릭 또는 프라이빗으로 식별하는 각 서브넷의 이름을 입력합니다. 예를 들어, 퍼블릭 서브넷, 프라이빗 Lambda 1, 프라이빗 Lambda 2를 사용합니다.

참고: 여러 가용 영역에 걸쳐 두 개 이상의 프라이빗 서브넷을 만드는 것이 모범 사례입니다. 이 작업은 중복성을 생성하고 Lambda가 함수의 고가용성을 유지할 수 있도록 합니다.

인터넷 게이트웨이를 사용하여 서브넷에 인터넷 액세스 추가

인터넷 게이트웨이를 생성하여 VPC에 연결합니다.

NAT 게이트웨이 생성

NAT 게이트웨이를 생성합니다. 서브넷에서 공개하려는 서브넷을 선택합니다. 예를 들어, 퍼블릭 서브넷을 선택합니다.

(선택 사항) NAT 게이트웨이 설정을 테스트합니다.

두 개의 사용자 지정 라우팅 테이블 생성

참고: VPC의 Lambda 함수가 요청을 보낼 때 함수는 연결된 서브넷을 무작위로 선택합니다. 함수가 잘못 구성된 서브넷을 사용하는 경우 오류가 발생합니다. 이 문제를 방지하려면 함수에서 사용하는 모든 서브넷에 동일한 구성을 사용해야 합니다.

사용자 지정 라우팅 테이블을 설정하려면 퍼블릭 서브넷과 프라이빗 서브넷 모두에 대해 다음 단계를 완료하십시오.

  1. 사용자 지정 라우팅 테이블을 생성합니다. 이름 태그 필드에 각 라우팅 테이블의 이름을 입력하면 연결된 서브넷을 쉽게 식별할 수 있습니다. 예를 들어, 퍼블릭 서브넷프라이빗 Lambda를 사용합니다.
  2. 서브넷의 라우팅 테이블을 프라이빗 또는 퍼블릭 서브넷과 연결합니다.
  3. 라우팅 테이블에 새 경로를 추가하고 다음 구성을 추가합니다.
    목적지0.0.0.0/0을 입력합니다.
    대상인터넷 게이트웨이 또는 NAT 게이트웨이를 선택합니다. 퍼블릭 서브넷의 경우 인터넷 게이트웨이의 ID를 선택합니다. 프라이빗 서브넷의 경우 NAT 게이트웨이의 ID를 선택합니다.
    중요: NAT 게이트웨이 대신 NAT 인스턴스를 사용하는 경우 NAT 게이트웨이 대신 네트워크 인터페이스를 선택합니다.
  4. 경로 저장을 선택합니다.

참고: NAT 게이트웨이에 대한 경로가 활성 상태인지 확인하십시오. NAT 게이트웨이가 삭제되고 경로를 업데이트하지 않으면 경로가 블랙홀 상태가 됩니다. 자세한 내용은 NAT 게이트웨이 삭제를 참조하십시오.

네트워크 ACL 구성 검토

VPC의 기본 네트워크 액세스 제어 목록(네트워크 ACL)은 모든 인바운드 및 아웃바운드 트래픽을 허용합니다. 네트워크 ACL 규칙을 변경하는 경우에도 Lambda 함수의 아웃바운드 요청을 허용해야 합니다. 또한 네트워크 ACL에서 다음 인바운드 트래픽을 허용하는지 확인하십시오.

  • NAT 게이트웨이를 사용하는 프라이빗 서브넷의 경우: 임시 포트 1024-65535에서 인바운드 트래픽을 허용합니다.
  • NAT 인스턴스를 사용하는 프라이빗 서브넷의 경우 NAT 인스턴스 운영 체제(OS)에서 사용하는 임시 포트에서 인바운드 트래픽을 허용합니다.

자세한 내용은 Amazon VPC의 인터네트워크 트래픽 개인 정보 보호를 참조하십시오.

Lambda 실행 역할 생성

VPC에 대한 Lambda 실행 역할을 생성합니다. 그런 다음 새 Lambda 실행 역할을 사용하도록 Lambda 함수를 업데이트합니다.

VPC에 연결하도록 Lambda 함수 구성

함수를 VPC에 연결하고 다음 설정을 구성합니다.

Amazon VPC 연결이 있는 Lambda 함수의 경우 송신 전용 인터넷 게이트웨이를 사용하여 인터넷에 액세스할 수 있습니다. 자세한 내용은 IPv6 지원을 참조하십시오.

관련 정보

Lambda의 네트워킹 문제 해결

Amazon VPC에 있는 Lambda 함수의 시간 초과 문제를 해결하려면 어떻게 해야 합니까?

Lambda 함수의 ETIMEDOUT 오류 문제를 해결하려면 어떻게 해야 합니까?

Lambda 함수에 Amazon VPC의 리소스에 대한 액세스 권한 부여

Lambda 함수 오류 문제를 해결하려면 어떻게 해야 합니까?

AWS 공식
AWS 공식업데이트됨 2달 전