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

4분 분량
0

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

간략한 설명


프라이빗 서브넷에서 인터넷에 액세스하려면 Network Address Translation(NAT)이 필요합니다. Amazon VPC에 연결된 Lambda 함수에 인터넷 액세스 권한을 부여하려면 해당 아웃바운드 트래픽을 공용 서브넷NAT 게이트웨이 또는 NAT 인스턴스로 라우팅하세요.

자세한 내용은 인터넷 게이트웨이를 사용하여 인터넷에 연결하기를 참조하세요. 예제 설정은 프라이빗 서브넷에 서버가 있는 VPC와 NAT를 참조하세요.

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

해결 방법

(선택 사항) AWS Management Console의 VPC 마법사를 사용하여 새 Amazon VPC를 생성합니다.

**참고:**VPC 마법사를 사용하여 새 Amazon VPC를 생성하는 경우 다음 섹션으로 건너뛰세요. VPC에 대한 Lambda 실행 역할을 생성합니다.

1.AWS Management Console에서 VPC 마법사를 엽니다.

2.퍼블릭 및 프라이빗 서브넷이 있는 VPC를 선택합니다. 새 퍼블릭 서브넷프라이빗 서브넷(관련 인터넷 게이트웨이 및 NAT 게이트웨이 포함)이 Amazon VPC 콘솔에 나타납니다.

Amazon VPC에 퍼블릭 서브넷과 하나 이상의 프라이빗 서브넷을 생성합니다.

지침은 서브넷 생성을 참조하여 각 서브넷을 생성하세요.

서브넷을 생성할 때 이름 태그에 해당 서브넷을 퍼블릭 또는 프라이빗으로 식별하는 각 서브넷의 이름을 입력합니다. 예를 들면, 다음과 같습니다. 퍼블릭 서브넷, 프라이빗 lambda 1, ** 프라이빗 lambda 2**.

**참고:**여러 가용 영역에 걸쳐 두 개 이상의 프라이빗 서브넷을 만드는 것이 가장 좋습니다. 이 방법은 중복성을 생성하고 Lambda 서비스가 함수에 대해 고가용성을 유지할 수 있도록 합니다.

인터넷 게이트웨이를 생성하여 Amazon VPC에 연결

지침은 인터넷 게이트웨이 생성 및 연결을 참조하세요.

NAT 게이트웨이 생성

지침은 NAT 게이트웨이 만들기를 참조하세요. NAT 게이트웨이를 만들 때 서브넷에 대해 퍼블릭으로 설정할 서브넷을 선택합니다. (이전 예제에서: 퍼블릭 서브넷.)

**참고:**NAT 게이트웨이 설정을 테스트하려면 퍼블릭 NAT 게이트웨이 테스트를 참조하세요.

퍼블릭 서브넷용과 프라이빗 서브넷용 두 개의 사용자 지정 라우팅 테이블을 생성합니다.

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

지침은 사용자 지정 라우팅 테이블 만들기를 참조하세요. 라우팅 테이블을 생성할 때 이름 태그에 라우팅 테이블이 연결된 서브넷을 식별하는 데 도움이 되는 각 라우팅 테이블의 이름을 입력합니다. 예를 들면, 다음과 같습니다. 퍼블릭 서브넷프라이빗 Lambda.

각 라우팅 테이블에 대해 다음 단계를 완료해야 합니다.

퍼블릭 서브넷의 라우팅 테이블의 경우

1.퍼블릭 서브넷의 라우팅 테이블(퍼블릭 서브넷)을 퍼블릭으로 설정하려는 서브넷에 연결합니다.

2.다음 구성을 포함하는 라우팅 테이블에 새 경로를 추가합니다.

목적지0.0.0.0/0을 입력합니다.
대상에서 인터넷 게이트웨이를 선택한 다음, 생성한 인터넷 게이트웨이의 ID(igw-123example)를 선택합니다. 경로 저장을 선택합니다.

프라이빗 서브넷의 라우팅 테이블의 경우

1.프라이빗 서브넷의 라우팅 테이블(프라이빗 Lambda)을 프라이빗 서브넷과 연결합니다.

2.다음 구성을 포함하는 라우팅 테이블에 새 경로를 추가합니다.

목적지0.0.0.0/0을 입력합니다.
대상에서 NAT 게이트웨이를 선택합니다. 그런 다음 생성한 NAT 게이트웨이의 ID(nat-123example)를 선택합니다.

**중요:**NAT 인스턴스를 사용하는 경우 네트워크 인터페이스를 대신 선택하세요. 경로 저장을 선택합니다.

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

네트워크 ACL이 Lambda 함수의 아웃바운드 요청과 필요에 따라 인바운드 트래픽을 허용하는지 확인합니다.

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

또한 네트워크 ACL이 VPC 구성을 기반으로 다음과 같은 인바운드 트래픽을 허용하는지 확인하세요.

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

**참고:**자세한 내용은 Amazon VPC의 인터네트워크 트래픽 개인 정보 보호를 참조하세요.

VPC에 대한 Lambda 실행 역할 생성

1.AWS 자격 증명 및 액세스 관리(IAM) 콘솔에서 역할 페이지를 엽니다.

2.    역할 생성을 선택합니다. 역할 생성 페이지가 열립니다.

3.역할 생성 페이지에서 다음 단계를 완료합니다.

신뢰할 수 있는 개체 유형 선택에서 AWS 서비스를 선택합니다.
일반적인 사용 사례의 경우 Lambda를 선택하세요.
다음: 권한을 선택합니다.
연결 권한 정책에서 AWSLambdaVPCAccessExecutionRole을 검색합니다.
해당 이름의 정책을 선택합니다. 그런 후, 다음: 태그를 선택합니다.
(선택 사항) 사용 사례에 맞는 태그를 추가합니다.
다음: 검토를 선택합니다.
역할 이름에 Lambda 실행 역할의 이름을 입력합니다. 예: lambda_vpc_basic_execution.
(선택 사항) 역할 설명에 역할 설명을 입력합니다. 역할 생성을 선택합니다.

Lambda 함수에 역할 연결

1.    Lambda 콘솔에서 함수 페이지를 엽니다.

2.Amazon VPC에 연결하려는 함수의 이름을 선택합니다.

3.구성 탭을 선택하고 권한을 선택합니다.

4.실행 역할에서 편집을 선택합니다.

5.기존 역할 드롭다운 목록을 선택한 다음 역할을 선택합니다. 예: lambda_vpc_basic_execution.

6.    저장을 선택합니다.

자세한 내용은 Lambda 실행 역할IAM 콘솔에서의 실행 역할 생성을 참조하세요.

Lambda 함수를 Amazon VPC에 연결로 구성합니다.

1.    Lambda 콘솔에서 함수 페이지를 엽니다.

2.Amazon VPC에 연결하려는 함수의 이름을 선택합니다.

3.구성 탭을 선택합니다.

4.왼쪽 탐색 모음에서 VPC를 선택한 다음 편집을 선택합니다. 그런 후, 다음 필드를 입력합니다.

**Virtual Private Cloud(VPC)**의 경우 VPC를 선택합니다.
서브넷의 경우 생성한 프라이빗 서브넷을 선택합니다. 서브넷 ID(및 이름을 지정한 경우 이름)로 식별하세요.
보안 그룹의 경우 보안 그룹을 선택합니다.

참고:기본 보안 그룹은 모든 아웃바운드 인터넷 트래픽을 허용하며 대부분의 사용 사례에 충분합니다. 자세한 내용은 보안 그룹을 사용하여 AWS 리소스에 대한 트래픽 제어를 참조하세요.

5.    저장을 선택합니다.

관련 정보

VPC의 리소스에 아웃바운드 네트워킹 연결

Lambda의 네트워킹 문제 해결

Lambda 함수 오류 문제를 해결하려면 어떻게 해야 하나요?

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음