REST API 콘솔 시작 - Amazon API Gateway

REST API 콘솔 시작

이 시작 연습에서는 API Gateway REST API 콘솔을 사용하여 서버리스 REST API를 생성합니다. 서버리스 API를 사용하면 서버를 프로비저닝하고 관리하는 데 시간을 소비하는 대신 애플리케이션에 집중할 수 있습니다. 이 연습은 완료하는 데 20분을 넘지 않으며 AWS 프리 티어 내에서 가능합니다.

먼저, Lambda 콘솔을 사용하여 Lambda 함수를 생성합니다. 그런 다음 API Gateway REST API 콘솔을 사용하여 REST API를 생성합니다. API 메서드를 생성하고 Lambda 프록시 통합을 사용하여 Lambda 함수와 통합합니다. 마지막으로, API를 배포 및 테스트합니다.

REST API를 호출하면 API Gateway는 요청을 Lambda 함수로 라우팅합니다. Lambda는 함수를 실행하고 API Gateway에 응답을 반환합니다. 그러고 나면 API Gateway가 응답을 반환합니다.

이 튜토리얼에서 생성하는 REST API의 개요입니다.

이 연습을 완료하려면 AWS 계정과 콘솔 액세스 권한이 있는 AWS Identity and Access Management(IAM) 사용자가 있어야 합니다. 자세한 내용은 API Gateway를 사용하도록 설정 단원을 참조하십시오.

1단계: Lambda 함수 생성

API의 백엔드에 Lambda 함수를 사용합니다. Lambda는 필요 시에만 코드를 실행하며, 일일 몇 개의 요청에서 초당 수천 개의 요청까지 자동으로 규모를 조정합니다.

이 연습에서는 Lambda 콘솔에서 기본 Node.js 함수를 사용합니다.

Lambda 함수를 생성하는 방법
  1. https://console.aws.amazon.com/lambda에서 Lambda 콘솔에 로그인합니다.

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

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

  4. 함수 생성(Create function)을 선택합니다.

기본 Lambda 함수 코드는 다음과 유사해야 합니다.

export const handler = async (event) => { const response = { statusCode: 200, body: JSON.stringify('The API Gateway REST API console is great!'), }; return response; };

함수의 응답이 API Gateway에 필요한 형식과 일치하는 한 이 연습의 Lambda 함수를 수정할 수 있습니다.

기본 응답 본문(Hello from Lambda!)을 The API Gateway REST API console is great!로 바꿉니다. 예제 함수를 호출하면 업데이트된 응답과 함께 200 응답이 클라이언트에 반환됩니다.

2단계: REST API 생성

다음으로 루트 리소스(/)를 사용하여 REST API를 생성합니다.

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

  2. 다음 중 하나를 수행합니다.

    • 첫 번째 API를 생성하려면 REST API에서 빌드를 선택합니다.

    • 이전에 API를 생성한 경우 API 생성을 선택한 다음 REST API에서 빌드를 선택합니다.

  3. API 이름에서 my-rest-api을 입력합니다.

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

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

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

3단계: Lambda 프록시 통합 생성

다음으로 루트 리소스(/)에 REST API용 API 메서드를 생성하고 프록시 통합을 사용하여 이 메서드를 Lambda 함수와 통합합니다. Lambda 프록시 통합에서 API Gateway는 클라이언트로부터 들어오는 요청을 Lambda 함수에 직접 전달합니다.

Lambda 프록시 통합을 생성하려면
  1. / 리소스를 선택한 다음 메서드 생성을 선택합니다.

  2. 메서드 유형에서 ANY를 선택합니다.

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

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

  5. Lambda 함수의 경우 my-function을 입력한 다음 Lambda 함수를 선택합니다.

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

4단계: API 배포

다음으로, API 배포를 생성하고 스테이지에 연결합니다.

API를 배포하려면
  1. Deploy API(API 배포)를 선택합니다.

  2. 스테이지에서 새 스테이지를 선택합니다.

  3. 단계 이름Prod를 입력합니다.

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

  5. 배포를 선택합니다.

이제 클라이언트가 API를 호출할 수 있습니다. API를 배포하기 전에 테스트하려는 경우, 선택적으로 ANY 메서드를 선택하고 테스트 탭으로 이동한 다음 테스트를 선택할 수 있습니다.

5단계: API 호출

API를 호출하려면
  1. 기본 탐색 창에서 스테이지를 선택합니다.

  2. 스테이지 세부 정보에서 복사 아이콘을 선택하여 API의 호출 URL을 복사합니다.

    REST API를 생성하면 콘솔에 API의 호출 URL이 표시됩니다.
  3. 웹 브라우저에 호출 URL을 입력합니다.

    전체 URL은 https://abcd123.execute-api.us-east-2.amazonaws.com/Prod와(과) 같아야 합니다.

    브라우저가 API에 GET 요청을 보냅니다.

  4. API의 응답을 확인합니다. 브라우저에 텍스트 "The API Gateway REST API console is great!"이(가) 표시됩니다.

(선택 사항) 6단계: 정리

AWS 계정에 불필요한 비용이 발생하지 않도록 하려면 이 연습의 일부로 생성한 리소스를 삭제하세요. 다음 단계에서는 REST API, Lambda 함수 및 관련 리소스를 삭제합니다.

REST API를 삭제하려면
  1. 리소스 창에서 API 작업, API 삭제를 선택합니다.

  2. API 삭제 대화 상자에 confirm을 입력한 다음 삭제를 선택합니다.

Lambda 함수를 삭제하려면
  1. https://console.aws.amazon.com/lambda에서 Lambda 콘솔에 로그인합니다.

  2. 함수 페이지에서 함수를 선택합니다. 작업, 삭제를 선택합니다.

  3. 1개 함수 삭제 대화 상자에 delete를 입력한 후 삭제를 선택합니다.

Lambda 함수의 로그 그룹을 삭제하려면
  1. Amazon CloudWatch 콘솔의 로그 그룹 페이지를 엽니다.

  2. 로그 그룹 페이지에서 함수의 로그 그룹(/aws/lambda/my-function)을 선택합니다. 작업에서 로그 그룹 삭제를 선택합니다.

  3. 로그 그룹 삭제(Delete log group(s)) 대화 상자에서 삭제(Delete)를 선택합니다.

Lambda 함수의 실행 역할을 삭제하려면
  1. IAM 콘솔에서 역할 페이지를 엽니다.

  2. (선택 사항) 역할 페이지의 검색 상자에 my-function을 입력합니다.

  3. 함수의 역할(예: my-function-31exxmpl)을 선택한 다음 삭제를 선택합니다.

  4. my-function-31exxmpl을 삭제하시겠습니까? 대화 상자에 역할 이름을 입력한 후 삭제를 선택합니다.

작은 정보

AWS CloudFormation 또는 AWS Serverless Application Model(AWS SAM)을 사용하여 AWS 리소스의 생성 및 정리를 자동화할 수 있습니다. 일부 예제 AWS CloudFormation 템플릿은 awsdocs GitHub 리포지토리의 API Gateway용 예제 템플릿을 참조하세요.