자습서: 교차 계정 Lambda 프록시 통합을 통해 REST API 생성 - Amazon API Gateway

자습서: 교차 계정 Lambda 프록시 통합을 통해 REST API 생성

이제는 다른 AWS Lambda 계정의 AWS 함수도 API 통합 백엔드로 사용할 수 있습니다. 각 계정은 Amazon API Gateway를 사용할 수 있는 모든 리전에 존재할 수 있습니다. 따라서 여러 API에 대해 Lambda 백엔드 함수를 중앙에서 손쉽게 관리 및 공유할 수 있습니다.

이 단원에서는 Amazon API Gateway 콘솔을 사용하여 교차 계정 Lambda 프록시 통합을 구성하는 방법을 보여줍니다.

API Gateway 교차 계정 Lambda 통합을 위한 API 생성

API를 생성하는 방법
  1. https://console.aws.amazon.com/apigateway에서 API Gateway 콘솔에 로그인합니다.

  2. API Gateway를 처음 사용하는 경우, 서비스의 기능을 소개하는 페이지가 나타납니다. REST API에서 빌드를 선택합니다. 예제 API 생성 팝업이 나타나면 확인을 선택합니다.

    API Gateway를 처음 사용하는 것이 아닌 경우 API 생성을 선택합니다. REST API에서 빌드를 선택합니다.

  3. API 이름에서 CrossAccountLambdaAPI을 입력합니다.

  4. (선택 사항) 설명에 설명을 입력합니다.

  5. API 엔드포인트 유형 설정을 지역으로 유지합니다.

  6. API 생성(Create API)을 선택합니다.

다른 계정으로 Lambda 통합 함수 생성

이제, 예제 API를 생성한 환경에서 다른 계정으로 Lambda 함수를 만들어 보겠습니다.

다른 계정으로 Lambda 함수 생성
  1. API Gateway API를 생성한 환경에서 다른 계정으로 Lambda 콘솔에 로그인합니다.

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

  3. 새로 작성을 선택합니다.

  4. 새로 작성에서 다음 작업을 수행합니다.

    1. 함수 이름에 이름을 입력합니다.

    2. 런타임 드롭다운 목록에서 지원되는 Node.js 런타임을 선택합니다.

    3. 아키텍처의 경우 기본 설정을 유지합니다.

    4. 권한에서 실행 역할 선택 또는 생성을 확장합니다. 역할을 만들거나 기존 역할을 선택할 수 있습니다.

    5. 함수 생성을 선택하여 계속 진행합니다.

  5. 아래로 스크롤하여 함수 코드(Function code) 창을 찾습니다.

  6. 자습서: Lambda 프록시 통합을 통해 REST API 생성에서 Node.js 함수 구현을 입력합니다.

  7. [Deploy]를 선택합니다.

  8. 함수의 정식 ARN을 기록해 둡니다(Lambda 함수 창의 오른쪽 위에). 이것은 나중에 교차 계정 Lambda 통합을 생성할 때 필요합니다.

교차 계정 Lambda 통합 구성

다른 계정으로 Lambda 통합 함수를 생성하면 API Gateway 콘솔을 사용하여 이를 첫 번째 계정의 API에 추가할 수 있습니다.

참고

교차 리전, 교차 계정 권한 부여자를 구성할 때 대상 함수에 추가된 sourceArn은 API의 리전이 아닌 함수에 포함된 리전을 사용합니다.

API를 생성한 후에는 리소스를 생성합니다. 일반적으로 API 리소스는 애플리케이션 로직에 따른 리소스 트리로 정리되어 있습니다. 이 예시에서는 /helloworld 리소스를 생성합니다.

리소스를 생성하려면
  1. 리소스 생성을 선택합니다.

  2. 프록시 리소스는 꺼진 상태로 둡니다.

  3. 리소스 경로/로 유지합니다.

  4. 리소스 이름helloworld을 입력합니다.

  5. 오리진 간 리소스 공유(CORS)를 꺼진 상태로 둡니다.

  6. 리소스 생성을 선택합니다.

리소스를 생성한 후 GET 메서드를 생성합니다. 다른 계정으로 Lambda 함수와 GET 메서드를 통합합니다.

GET 메서드를 생성하는 방법
  1. /helloworld 리소스를 선택한 다음 메서드 생성을 선택합니다.

  2. 메서드 유형에서 GET을 선택합니다.

  3. 통합 유형에서 Lambda 함수를 선택합니다.

  4. Lambda 프록시 통합을 켭니다.

  5. Lambda 함수에, 1단계에서 입력한 Lambda 함수의 전체 ARN을 입력합니다.

    Lambda 콘솔 창의 오른쪽 위 모서리에서 함수의 ARN을 찾을 수 있습니다.

  6. ARN을 입력하면 aws lambda add-permission 명령 문자열이 나타납니다. 이 정책은 첫 번째 계정이 두 번째 계정의 Lambda 함수에 액세스할 수 있는 권한을 부여합니다. aws lambda add-permission 명령 문자열을 복사해 두 번째 계정에 대해 구성된 AWS CLI 창에 붙여 넣습니다.

  7. 메서드 생성을 선택합니다.

Lambda 콘솔에서 함수에 대해 업데이트된 정책을 확인할 수 있습니다.

(선택 사항) 업데이트된 정책을 보려면
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/lambda/에서 AWS Lambda 콘솔을 엽니다.

  2. Lambda 함수를 선택합니다.

  3. Permissions를 선택합니다.

    Allow이 API Condition 메서드에 대한 ARN인 AWS:SourceArn 절이 포함된 GET 정책이 표시되어야 합니다.