VPC 연결 Lambda 함수에 대한 인터넷 액세스 활성화 - AWS Lambda

VPC 연결 Lambda 함수에 대한 인터넷 액세스 활성화

기본적으로 Lambda 함수는 인터넷에 액세스할 수 있는 Lambda 관리형 VPC에서 실행됩니다. 계정의 VPC에 있는 리소스에 액세스하려면 함수에 VPC 구성을 추가하면 됩니다. 이렇게 하면 VPC가 인터넷에 액세스할 수 없는 경우에는 해당 VPC 내의 리소스로 함수가 제한됩니다. 이 페이지에서는 VPC 연결 Lambda 함수에 인터넷 액세스를 제공하는 방법을 설명합니다.

VPC 생성

VPC 생성 워크플로는 서브넷, NAT 게이트웨이, 인터넷 게이트웨이, 라우팅 테이블 항목을 포함하여 Lambda 함수가 프라이빗 서브넷에서 퍼블릭 인터넷에 액세스하는 데 필요한 모든 VPC 리소스를 생성합니다.

VPC를 생성하려면
  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 대시보드에서 VPC 생성을 선택합니다.

  3. 생성할 리소스에서 VPC 등을 선택합니다.

  4. VPC 구성

    1. Name tag auto-generation(이름 태그 자동 생성)에 VPC의 이름을 입력합니다.

    2. IPv4 CIDR 블록에 애플리케이션 또는 네트워크에 필요한 CIDR 블록을 입력하거나 기본 사항을 유지할 수 있습니다.

    3. 애플리케이션이 IPv6 주소를 사용하여 통신하는 경우 IPv6 CIDR 블록, 즉 Amazon에서 제공한 IPv6 CIDR 블록을 선택합니다.

  5. 서브넷 구성

    1. 가용 영역 수에서 2를 선택합니다. 고가용성을 위해 2개 이상의 AZ를 권장합니다.

    2. 퍼블릭 서브넷 수2를 선택합니다.

    3. 프라이빗 서브넷 수2를 선택합니다.

    4. 퍼블릭 서브넷에 대한 기본 CIDR 블록을 유지하거나 서브넷 CIDR 블록 사용자 지정을 확장하고 CIDR 블록을 입력할 수 있습니다. 자세한 내용은 서브넷 CIDR 블록을 참조하세요.

  6. NAT 게이트웨이에서 복원력 향상을 위해 AZ당 1개를 선택합니다.

  7. 송신 전용 인터넷 게이트웨이의 경우 IPv6 CIDR 블록을 포함하도록 선택한 경우 를 선택합니다.

  8. VPC 엔드포인트의 경우 기본값(S3 게이트웨이)을 유지합니다. 이 옵션은 비용이 들지 않습니다. 자세한 내용은 Amazon S3용 VPC 엔드포인트 유형을 참조하세요.

  9. DNS 옵션의 경우 기본 설정을 유지합니다.

  10. VPC 생성을 선택합니다.

Lambda 함수 구성

함수를 생성할 때 VPC를 구성하려면
  1. Lambda 콘솔의 함수 페이지를 엽니다.

  2. 함수 생성을 선택합니다.

  3. 기본 정보(Basic information)에서 함수 이름(Function name)에 함수 이름을 입력합니다.

  4. Advanced settings(고급 설정)를 확장합니다.

  5. VPC 활성화를 선택한 다음 VPC를 선택합니다.

  6. (선택 사항) 아웃바운드 IPv6 트래픽을 허용하려면 듀얼 스택 서브넷에 IPv6 트래픽 허용을 선택합니다.

  7. 서브넷의 경우 모든 프라이빗 서브넷을 선택합니다. 프라이빗 서브넷은 NAT 게이트웨이를 통해 인터넷에 액세스할 수 있습니다. 함수를 퍼블릭 서브넷에 연결해도 인터넷 액세스가 제공되지는 않습니다.

    참고

    듀얼 스택 서브넷에 IPv6 트래픽 허용을 선택한 경우 선택한 모든 서브넷에 IPv4 CIDR 블록 및 IPv6 CIDR 블록이 있어야 합니다.

  8. 보안 그룹에서 아웃바운드 트래픽을 허용하는 보안 그룹을 선택합니다.

  9. 함수 생성을 선택합니다.

Lambda는 AWSLambdaVPCAccessExecutionRole AWS 관리형 정책을 사용하여 실행 역할을 자동으로 생성합니다. 이 정책의 권한은 VPC 구성을 위한 탄력적 네트워크 인터페이스를 생성하는 데만 필요하며, 함수를 호출하는 데는 필요하지 않습니다. 최소 권한의 권한을 적용하려면 함수 및 VPC 구성을 생성한 후 실행 역할에서 AWSLambdaVPCAccessExecutionRole 정책을 제거하면 됩니다. 자세한 내용은 필수 IAM 권한 단원을 참조하십시오.

기존 함수에 대한 VPC를 구성하려면

기존 함수에 VPC 구성을 추가하려면 함수의 실행 역할에 탄력적 네트워크 인터페이스를 생성하고 관리할 수 있는 권한이 있어야 합니다. AWSLambdaVPCAccessExecutionRole AWS 관리형 정책에는 필요한 권한이 포함되어 있습니다. 최소 권한의 권한을 적용하려면 VPC 구성을 생성한 후 실행 역할에서 AWSLambdaVPCAccessExecutionRole 정책을 제거하면 됩니다.

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

  2. 함수를 선택합니다.

  3. 구성 탭을 선택한 다음 VPC를 선택합니다.

  4. VPC에서 편집을 선택합니다.

  5. VPC를 선택합니다.

  6. (선택 사항) 아웃바운드 IPv6 트래픽을 허용하려면 듀얼 스택 서브넷에 IPv6 트래픽 허용을 선택합니다.

  7. 서브넷의 경우 모든 프라이빗 서브넷을 선택합니다. 프라이빗 서브넷은 NAT 게이트웨이를 통해 인터넷에 액세스할 수 있습니다. 함수를 퍼블릭 서브넷에 연결해도 인터넷 액세스가 제공되지는 않습니다.

    참고

    듀얼 스택 서브넷에 IPv6 트래픽 허용을 선택한 경우 선택한 모든 서브넷에 IPv4 CIDR 블록 및 IPv6 CIDR 블록이 있어야 합니다.

  8. 보안 그룹에서 아웃바운드 트래픽을 허용하는 보안 그룹을 선택합니다.

  9. Save(저장)를 선택합니다.

함수 테스트

다음 샘플 코드를 사용하여 VPC 연결 함수가 퍼블릭 인터넷에 연결할 수 있는지 확인하세요. 성공하면 코드가 200 상태 코드를 반환합니다. 실패하면 함수가 제한 시간을 초과합니다.

Node.js

이 예제에서는 nodejs18.x 이상 런타임에서 사용할 수 있는 fetch를 사용합니다.

  1. Lambda 콘솔의 코드 소스 창에서 index.mjs 파일에 다음 코드를 붙여넣습니다. 이 함수는 퍼블릭 엔드포인트에 HTTP GET 요청을 하고 HTTP 응답 코드를 반환하여 함수가 퍼블릭 인터넷에 액세스할 수 있는지 테스트합니다.

    Lambda 콘솔 코드 편집기.
    예 - async/await를 사용한 HTTP 요청
    const url = "https://aws.amazon.com/"; export const handler = async(event) => { try { // fetch is available with Node.js 18 and later runtimes const res = await fetch(url); console.info("status", res.status); return res.status; } catch (e) { console.error(e); return 500; } };
  2. [배포]를 선택합니다.

  3. 테스트 탭을 선택합니다.

    Lambda 콘솔 테스트 탭.
  4. 테스트를 선택합니다.

  5. 함수가 200 상태 코드를 반환합니다. 이는 해당 함수에 아웃바운드 인터넷 액세스 권한이 있음을 의미합니다.

    Lambda 콘솔 테스트 탭.

    함수가 퍼블릭 인터넷에 연결할 수 없으면 다음과 같은 오류 메시지가 표시됩니다.

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }
Python
  1. Lambda 콘솔의 코드 소스 창에서 lambda_function.py 파일에 다음 코드를 붙여넣습니다. 이 함수는 퍼블릭 엔드포인트에 HTTP GET 요청을 하고 HTTP 응답 코드를 반환하여 함수가 퍼블릭 인터넷에 액세스할 수 있는지 테스트합니다.

    Lambda 콘솔 코드 편집기.
    import urllib.request def lambda_handler(event, context): try: response = urllib.request.urlopen('https://aws.amazon.com') status_code = response.getcode() print('Response Code:', status_code) return status_code except Exception as e: print('Error:', e) raise e
  2. [배포]를 선택합니다.

  3. 테스트 탭을 선택합니다.

    Lambda 콘솔 테스트 탭.
  4. 테스트를 선택합니다.

  5. 함수가 200 상태 코드를 반환합니다. 이는 해당 함수에 아웃바운드 인터넷 액세스 권한이 있음을 의미합니다.

    Lambda 콘솔 테스트 탭.

    함수가 퍼블릭 인터넷에 연결할 수 없으면 다음과 같은 오류 메시지가 표시됩니다.

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }

이미 VPC가 있지만 Lambda 함수에 대한 퍼블릭 인터넷 액세스를 구성해야 하는 경우 다음 단계를 따르세요. 이 절차에서는 VPC에 서브넷이 2개 이상 있다고 가정합니다. 서브넷 2개가 없는 경우 Amazon VPC 사용 설명서의 서브넷 생성을 참조하세요.

라우팅 테이블 구성 확인

  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. VPC ID를 선택합니다.

    VPC 콘솔의 VPC 목록.
  3. 아래로 스크롤하여 리소스 맵 섹션으로 이동합니다. 라우팅 테이블 매핑에 유의하세요. 서브넷에 매핑된 각각의 라우팅 테이블을 엽니다.

    VPC 콘솔 리소스 맵 섹션
  4. 아래로 스크롤하여 라우팅 탭으로 이동합니다. 라우팅을 검토하여 다음 중 하나에 해당하는지 확인합니다. 이러한 각 요구 사항은 별도의 라우팅 테이블을 통해 충족되어야 합니다.

    • 인터넷 바운드 트래픽(IPv4의 경우 0.0.0.0/0, IPv6의 경우 ::/0)은 인터넷 게이트웨이(igw-xxxxxxxxxx)로 라우팅됩니다. 이는 라우팅 테이블과 연결된 서브넷이 퍼블릭 서브넷임을 의미합니다.

      참고

      서브넷에 IPv6 CIDR 블록이 없는 경우 IPv4 라우팅(0.0.0.0/0)만 표시됩니다.

      예 퍼블릭 서브넷 라우팅 테이블
      인터넷 게이트웨이에 대한 라우팅이 포함된 퍼블릭 서브넷 라우팅 테이블
    • IPv4(0.0.0.0/0)에 대한 인터넷에 바인딩된 트래픽은 퍼블릭 서브넷과 연결된 NAT 게이트웨이(nat-xxxxxxxxxx)로 라우팅됩니다. 이는 해당 서브넷이 NAT 게이트웨이를 통해 인터넷에 액세스할 수 있는 프라이빗 서브넷임을 의미합니다.

      참고

      서브넷에 IPv6 CIDR 블록이 있는 경우 라우팅 테이블은 인터넷에 바인딩된 IPv6 트래픽(::/0)도 송신 전용 인터넷 게이트웨이(eigw-xxxxxxxxxx)로 라우팅해야 합니다. 서브넷에 IPv6 CIDR 블록이 없는 경우 IPv4 라우팅(0.0.0.0/0)만 표시됩니다.

      예 프라이빗 서브넷 라우팅 테이블
      NAT 게이트웨이에 대한 라우팅이 포함된 프라이빗 서브넷 라우팅 테이블
  5. VPC의 서브넷과 연결된 각 라우팅 테이블을 검토하고 인터넷 게이트웨이가 있는 라우팅 테이블과 NAT 게이트웨이가 있는 라우팅 테이블이 있음을 확인할 때까지 이전 단계를 반복합니다.

    라우팅 테이블 2개(인터넷 게이트웨이에 대한 라우팅이 있는 라우팅 테이블과 NAT 게이트웨이에 대한 라우팅이 있는 라우팅 테이블)가 없는 경우 다음 단계에 따라 누락된 리소스와 라우팅 테이블 항목을 생성합니다.

라우팅 테이블을 생성하고 이를 서브넷과 연결하려면 다음 단계를 따르세요.

Amazon VPC 콘솔을 사용하여 사용자 지정 라우팅 테이블을 생성하려면 다음을 수행합니다.
  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 라우팅 테이블을 선택합니다.

  3. 라우팅 테이블 생성을 선택합니다.

  4. (선택 사항) 이름(Name)에 라우팅 테이블의 이름을 입력합니다.

  5. VPC에서 VPC를 선택합니다.

  6. (선택 사항) 태그를 추가하려면 새 태그 추가(Add new tag)를 선택하고 태그 키와 태그 값을 입력합니다.

  7. 라우팅 테이블 생성을 선택합니다.

  8. [서브넷 연결(Subnet associations)] 탭에서 [서브넷 연결 편집(Edit subnet associations)]을 선택합니다.

    VPC에 인터넷 게이트웨이 연결
  9. 라우팅 테이블과 연결할 서브넷에 대한 확인란을 선택합니다.

  10. [연결 저장(Save associations)]을 선택합니다.

다음 단계에 따라 인터넷 게이트웨이를 생성하고, 이를 VPC에 연결하고, 퍼블릭 서브넷의 라우팅 테이블에 추가합니다.

인터넷 게이트웨이를 생성하려면
  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 인터넷 게이트웨이(Internet gateways)를 선택합니다.

  3. 인터넷 게이트웨이 생성을 선택합니다.

  4. (선택 사항) 인터넷 게이트웨이에 이름을 입력합니다.

  5. (선택 사항) 태그를 추가하려면 Add new tag(새 태그 추가)를 선택하고 태그 키와 태그 값을 입력합니다.

  6. 인터넷 게이트웨이 생성을 선택합니다.

  7. 화면 상단의 배너에서 VPC에 연결을 선택하고 사용 가능한 VPC를 선택한 다음 인터넷 게이트웨이 연결을 선택합니다.

    VPC에 인터넷 게이트웨이 연결
  8. VPC ID를 선택합니다.

    인터넷 게이트웨이 세부 정보 페이지
  9. VPC ID를 다시 선택하여 VPC 세부 정보 페이지를 엽니다.

    필터링된 VPC 목록
  10. 아래로 스크롤하여 리소스 맵으로 이동한 다음 서브넷을 선택합니다. 서브넷 세부 정보가 새 탭에 표시됩니다.

    서브넷 목록이 포함된 VPC 콘솔 리소스 맵.
  11. 라우팅 테이블에서 링크를 선택합니다.

    서브넷 세부 정보 페이지의 라우팅 테이블 링크
  12. 라우팅 테이블 ID를 선택하여 라우팅 테이블 세부 정보 페이지를 엽니다.

    필터링된 라우팅 테이블 목록
  13. 라우팅에서 라우팅 편집을 선택합니다.

    라우팅 편집 버튼이 있는 라우팅 목록
  14. 라우팅 추가를 선택한 다음 대상 상자에 0.0.0.0/0을 입력합니다.

    새 라우팅의 대상 추가
  15. 대상에서 인터넷 게이트웨이를 선택한 다음 이전에 생성한 인터넷 게이트웨이를 선택합니다. 서브넷에 IPv6 CIDR 블록이 있는 경우 동일한 인터넷 게이트웨이에 ::/0에 대한 라우팅도 추가해야 합니다.

    새 라우팅에 대상 추가
  16. Save changes(변경 사항 저장)를 선택합니다.

다음 단계에 따라 NAT 게이트웨이를 생성하고 이를 퍼블릭 서브넷과 연결한 다음 프라이빗 서브넷의 라우팅 테이블에 추가합니다.

NAT 게이트웨이를 생성하고 이를 퍼블릭 서브넷과 연결하려면 다음을 수행합니다.
  1. 탐색 창에서 NAT 게이트웨이를 선택합니다.

  2. NAT 게이트웨이 생성을 선택합니다.

  3. (선택 사항) NAT 게이트웨이에 이름을 입력합니다.

  4. 서브넷에서 VPC의 퍼블릭 서브넷을 선택합니다. (퍼블릭 서브넷은 라우팅 테이블에 인터넷 게이트웨이에 대한 직접 라우팅이 있는 서브넷입니다.)

    참고

    NAT 게이트웨이는 퍼블릭 서브넷과 연결되어 있지만 라우팅 테이블 항목은 프라이빗 서브넷에 있습니다.

  5. 탄력적 IP 할당 ID에서 탄력적 IP 주소를 선택하거나 탄력적 IP 할당을 선택합니다.

  6. NAT 게이트웨이 생성을 선택합니다.

프라이빗 서브넷의 라우팅 테이블에 있는 NAT 게이트웨이에 라우팅을 추가하려면 다음을 수행합니다.
  1. 탐색 창에서 서브넷을 선택합니다.

  2. VPC에서 프라이빗 서브넷을 선택합니다. (프라이빗 서브넷은 라우팅 테이블에 인터넷 게이트웨이에 대한 라우팅이 없는 서브넷입니다.)

  3. 라우팅 테이블에서 링크를 선택합니다.

    서브넷 세부 정보 페이지의 라우팅 테이블 링크
  4. 아래로 스크롤하여 라우팅 탭을 선택한 다음 라우팅 편집을 선택합니다.

    라우팅 테이블 세부 정보 페이지의 라우팅팅 탭
  5. 라우팅 추가를 선택한 다음 대상 상자에 0.0.0.0/0을 입력합니다.

    새 라우팅의 대상 추가
  6. 대상에서 NAT 게이트웨이를 선택한 다음 이전에 생성한 NAT 게이트웨이를 선택합니다.

    새 라우팅에 대상 추가
  7. Save changes(변경 사항 저장)를 선택합니다.

송신 전용 인터넷 게이트웨이를 생성하고 프라이빗 서브넷의 라우팅 테이블에 추가하려면 다음 단계를 따르세요.

외부 전용 인터넷 게이트웨이를 생성하려면
  1. 탐색 창에서 송신 전용 인터넷 게이트웨이를 선택합니다.

  2. 송신 전용 인터넷 게이트웨이 생성을 선택합니다.

  3. (선택 사항) 이름을 입력합니다.

  4. 외부 전용 인터넷 게이트웨이를 생성할 VPC를 선택합니다.

  5. 송신 전용 인터넷 게이트웨이 생성을 선택합니다.

  6. 연결된 VPC ID에서 링크를 선택합니다.

    송신 전용 인터넷 게이트웨이 세부 정보 페이지
  7. VPC ID 아래의 링크를 선택하여 VPC 세부 정보 페이지를 엽니다.

  8. 아래로 스크롤하여 리소스 맵으로 이동한 다음 프라이빗 서브넷을 선택합니다. 서브넷 세부 정보가 새 탭에 표시됩니다.

    서브넷 목록이 포함된 VPC 콘솔 리소스 맵.
  9. 라우팅 테이블에서 링크를 선택합니다.

    서브넷 세부 정보 페이지의 라우팅 테이블 링크
  10. 라우팅 테이블 ID를 선택하여 라우팅 테이블 세부 정보 페이지를 엽니다.

    필터링된 라우팅 테이블 목록
  11. 라우팅에서 라우팅 편집을 선택합니다.

    라우팅 편집 버튼이 있는 라우팅 목록
  12. 라우팅 추가를 선택한 다음 대상 상자에 ::/0을 입력합니다.

    새 라우팅의 대상 추가
  13. 대상에서 송신 전용 인터넷 게이트웨이를 선택한 다음 이전에 생성한 게이트웨이를 선택합니다.

    새 라우팅에 대상 추가
  14. Save changes(변경 사항 저장)를 선택합니다.

Lambda 함수 구성

함수를 생성할 때 VPC를 구성하려면
  1. Lambda 콘솔의 함수 페이지를 엽니다.

  2. 함수 생성을 선택합니다.

  3. 기본 정보(Basic information)에서 함수 이름(Function name)에 함수 이름을 입력합니다.

  4. Advanced settings(고급 설정)를 확장합니다.

  5. VPC 활성화를 선택한 다음 VPC를 선택합니다.

  6. (선택 사항) 아웃바운드 IPv6 트래픽을 허용하려면 듀얼 스택 서브넷에 IPv6 트래픽 허용을 선택합니다.

  7. 서브넷의 경우 모든 프라이빗 서브넷을 선택합니다. 프라이빗 서브넷은 NAT 게이트웨이를 통해 인터넷에 액세스할 수 있습니다. 함수를 퍼블릭 서브넷에 연결해도 인터넷 액세스가 제공되지는 않습니다.

    참고

    듀얼 스택 서브넷에 IPv6 트래픽 허용을 선택한 경우 선택한 모든 서브넷에 IPv4 CIDR 블록 및 IPv6 CIDR 블록이 있어야 합니다.

  8. 보안 그룹에서 아웃바운드 트래픽을 허용하는 보안 그룹을 선택합니다.

  9. 함수 생성을 선택합니다.

Lambda는 AWSLambdaVPCAccessExecutionRole AWS 관리형 정책을 사용하여 실행 역할을 자동으로 생성합니다. 이 정책의 권한은 VPC 구성을 위한 탄력적 네트워크 인터페이스를 생성하는 데만 필요하며, 함수를 호출하는 데는 필요하지 않습니다. 최소 권한의 권한을 적용하려면 함수 및 VPC 구성을 생성한 후 실행 역할에서 AWSLambdaVPCAccessExecutionRole 정책을 제거하면 됩니다. 자세한 내용은 필수 IAM 권한 단원을 참조하십시오.

기존 함수에 대한 VPC를 구성하려면

기존 함수에 VPC 구성을 추가하려면 함수의 실행 역할에 탄력적 네트워크 인터페이스를 생성하고 관리할 수 있는 권한이 있어야 합니다. AWSLambdaVPCAccessExecutionRole AWS 관리형 정책에는 필요한 권한이 포함되어 있습니다. 최소 권한의 권한을 적용하려면 VPC 구성을 생성한 후 실행 역할에서 AWSLambdaVPCAccessExecutionRole 정책을 제거하면 됩니다.

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

  2. 함수를 선택합니다.

  3. 구성 탭을 선택한 다음 VPC를 선택합니다.

  4. VPC에서 편집을 선택합니다.

  5. VPC를 선택합니다.

  6. (선택 사항) 아웃바운드 IPv6 트래픽을 허용하려면 듀얼 스택 서브넷에 IPv6 트래픽 허용을 선택합니다.

  7. 서브넷의 경우 모든 프라이빗 서브넷을 선택합니다. 프라이빗 서브넷은 NAT 게이트웨이를 통해 인터넷에 액세스할 수 있습니다. 함수를 퍼블릭 서브넷에 연결해도 인터넷 액세스가 제공되지는 않습니다.

    참고

    듀얼 스택 서브넷에 IPv6 트래픽 허용을 선택한 경우 선택한 모든 서브넷에 IPv4 CIDR 블록 및 IPv6 CIDR 블록이 있어야 합니다.

  8. 보안 그룹에서 아웃바운드 트래픽을 허용하는 보안 그룹을 선택합니다.

  9. Save(저장)를 선택합니다.

함수 테스트

다음 샘플 코드를 사용하여 VPC 연결 함수가 퍼블릭 인터넷에 연결할 수 있는지 확인하세요. 성공하면 코드가 200 상태 코드를 반환합니다. 실패하면 함수가 제한 시간을 초과합니다.

Node.js

이 예제에서는 nodejs18.x 이상 런타임에서 사용할 수 있는 fetch를 사용합니다.

  1. Lambda 콘솔의 코드 소스 창에서 index.mjs 파일에 다음 코드를 붙여넣습니다. 이 함수는 퍼블릭 엔드포인트에 HTTP GET 요청을 하고 HTTP 응답 코드를 반환하여 함수가 퍼블릭 인터넷에 액세스할 수 있는지 테스트합니다.

    Lambda 콘솔 코드 편집기.
    예 - async/await를 사용한 HTTP 요청
    const url = "https://aws.amazon.com/"; export const handler = async(event) => { try { // fetch is available with Node.js 18 and later runtimes const res = await fetch(url); console.info("status", res.status); return res.status; } catch (e) { console.error(e); return 500; } };
  2. [배포]를 선택합니다.

  3. 테스트 탭을 선택합니다.

    Lambda 콘솔 테스트 탭.
  4. 테스트를 선택합니다.

  5. 함수가 200 상태 코드를 반환합니다. 이는 해당 함수에 아웃바운드 인터넷 액세스 권한이 있음을 의미합니다.

    Lambda 콘솔 테스트 탭.

    함수가 퍼블릭 인터넷에 연결할 수 없으면 다음과 같은 오류 메시지가 표시됩니다.

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }
Python
  1. Lambda 콘솔의 코드 소스 창에서 lambda_function.py 파일에 다음 코드를 붙여넣습니다. 이 함수는 퍼블릭 엔드포인트에 HTTP GET 요청을 하고 HTTP 응답 코드를 반환하여 함수가 퍼블릭 인터넷에 액세스할 수 있는지 테스트합니다.

    Lambda 콘솔 코드 편집기.
    import urllib.request def lambda_handler(event, context): try: response = urllib.request.urlopen('https://aws.amazon.com') status_code = response.getcode() print('Response Code:', status_code) return status_code except Exception as e: print('Error:', e) raise e
  2. [배포]를 선택합니다.

  3. 테스트 탭을 선택합니다.

    Lambda 콘솔 테스트 탭.
  4. 테스트를 선택합니다.

  5. 함수가 200 상태 코드를 반환합니다. 이는 해당 함수에 아웃바운드 인터넷 액세스 권한이 있음을 의미합니다.

    Lambda 콘솔 테스트 탭.

    함수가 퍼블릭 인터넷에 연결할 수 없으면 다음과 같은 오류 메시지가 표시됩니다.

    { "errorMessage": "2024-04-11T17:22:20.857Z abe12jlc-640a-8157-0249-9be825c2y110 Task timed out after 3.01 seconds" }