와탭랩스 블로그 오픈 이벤트 😃
자세히 보기
테크
2025-02-20
AWS Lambda(람다) 함수를 손쉽게 자동 생성하는 방법

저는 업무에 필요한 도구들을 자주 만들어 활용하는 편입니다. 그중에서도 백엔드 작업이 필요한 경우에는 주로 AWS Lambda(람다)를 사용합니다. 그렇지만 매번 람다 함수를 생성하는 과정은 반복적이고 다소 번거로운 작업입니다. 그래서 이를 자동화하여 누구나 간편하게 람다 함수를 생성할 수 있는 람다 함수 생성기 프로젝트를 만들게 되었습니다.

간편한 사용법

람다 함수 생성기는 직관적인 UI를 제공하여, 몇 가지 간단한 단계만으로 람다 함수를 생성할 수 있습니다.

1. 람다 함수 이름 입력 및 리전 등의 선택

생성할 람다 함수의 이름, 실행할 AWS 리전, 런타임 등 기본적인 설정 정보를 입력합니다. 필요한 정보만 입력하면 되므로 매우 간단합니다.

key

2. 생성 결과 화면

함수 생성이 완료되면 결과 화면에서 생성된 함수의 이름, 리전, 함수 URL 등의 정보를 확인할 수 있습니다. URL을 웹 브라우저에 붙여 넣으면 Lambda 함수가 정상적으로 작동하는지 즉시 테스트할 수 있습니다.

key

3. 생성된 람다 함수 확인

AWS 콘솔이나 기타 관리 도구를 통해 실제 생성된 람다 함수를 확인할 수 있습니다. 생성 후 함수의 설정이나 코드를 수정하여 사용하시면 됩니다.

key

설치 및 실행 방법

람다 함수 생성기의 설치 및 실행 방법은 다음과 같습니다.

1. 코드 가져오기 및 준비

람다 함수 생성기 프로젝트는 깃허브에 공개되어 있으며, 아래 명령어를 통해 저장소의 코드를 로컬에 클론할 수 있습니다.

클론한 후 백엔드 디렉토리로 이동하여 필요한 의존성을 설치합니다.

이후 backend/index.mjs 파일을 열어 람다 실행 역할(Execution Role)의 ARN을 여러분이 미리 생성한 역할로 수정합니다. 이 역할은 람다 함수가 실행되는 동안 필요한 권한을 부여받는 데 꼭 필요합니다.

위 코드에서 [your-role-arn]을 여러분의 람다 실행 역할 ARN으로 변경해 주세요. 올바른 권한이 부여되어 있어야 람다 함수가 정상적으로 동작합니다. 설정이 완료되면 backend 폴더 전체를 ZIP 파일로 압축하여 AWS Lambda에 업로드할 준비를 합니다.

2. 람다 함수 생성

AWS Lambda 콘솔에서 새로운 람다 함수를 생성하는 방법은 다음과 같습니다.

2.1. AWS Lambda 콘솔 접속 및 함수 생성

AWS Lambda 콘솔에 접속한 후 함수 생성(Create Function) 버튼을 클릭합니다.

key

2.2. 함수 기본 설정

원하는 함수 이름을 입력하고, 프로젝트에 맞는 런타임과 아키텍처를 선택합니다. 특히, arm 아키텍처는 비용 대비 성능이 우수하므로 고려해볼 만합니다. 권한을 미리 작성하신 경우에는 해당 역할을 선택하시고, 없는 경우에는 새로 생성합니다. 여기서는 기본으로 설정을 사용하여 새로 생성하도록 하겠습니다.

key

2.3. 실행 역할 선택

기존에 생성한 실행 역할을 선택하거나 새로 생성할 수 있습니다. 여기서는 기본 설정으로 새 역할을 생성하는 방법을 사용합니다.

2.4. 추가 구성 – 함수 URL 활성화

추가 구성 단계에서 “함수 URL 활성화” 옵션을 선택합니다. 테스트 목적으로 인증 유형을 NONE으로 설정할 수 있으며, 실제 서비스 운영 시에는 보안을 위해 AWS_IAM 등으로 변경하는 것이 좋습니다.

key

2.5. CORS 구성 선택

추가 구성의 마지막 단계에서는 “교차 출처 리소스 공유(CORS) 구성” 옵션을 선택합니다.

key

모든 설정을 마친 후, 함수 생성 버튼을 클릭하여 람다 함수를 생성합니다.

3. 람다 함수 코드 업로드

함수 생성이 완료되면 AWS Lambda 콘솔 내에서 생성한 함수를 선택한 후 ZIP 파일을 업로드합니다.

  • “에서 업로드” 버튼을 클릭하고 “.zip 파일” 메뉴를 선택합니다.
  • 이어서 압축했던 backend 폴더의 .zip 파일을 선택하여 업로드합니다.
key

4. 람다 권한 설정

람다를 생성할 때 실행 역할을 새로 생성했다면 해당 역할에 권한을 부여해야 합니다. 여기서는 테스트를 위해서 IAMFullAccess와 AWSLambdaFullAccess 권한을 부여하도록 하겠습니다.

4.1. 실행 역할 확인

  1. 구성(Configuration) 탭으로 이동한 후, 권한(Permissions) 메뉴를 클릭합니다.
  1. "실행 역할(Execution Role)" 아래에 표시된 역할 이름을 클릭하여 IAM 콘솔로 이동합니다.
key

4.2. 정책 연결 시작

"권한 추가" 버튼을 클릭하고 "정책 연결" 메뉴를 선택합니다.

key

4.3. 정책 선택 - IAMFullAccess

IAMFullAccess을 검색하여 선택한 후 "권한 추가" 버튼을 클릭합니다.

key

4.4. 정책 선택 - AWSLambdaFullAccess

동일한 방법으로 AWSLambdaFullAccess 정책을 검색하여 선택한 후 "권한 추가" 버튼을 클릭합니다.

key

이렇게 람다 함수에 필요한 권한 설정을 완료했습니다. 이제 람다 함수가 다른 람다 함수를 생성하고 관리할 수 있는 권한을 갖게 되었습니다.

5. 람다 함수 테스트

이제 프론트엔드에서 람다 함수를 호출하여 테스트할 차례입니다.

5.1. 프론트엔드 코드 수정

frontend/index.html 파일을 열어 람다 함수의 URL을 설정합니다.

위 코드에서 [your-lambda-url]을 생성된 람다 함수의 URL로 변경해 주세요. 이 URL은 AWS Lambda 콘솔의 "함수 URL" 항목에서 확인할 수 있습니다.

key

5.2.CORS 설정 문제 해결

테스트 중 CORS 관련 오류가 발생하면 AWS Lambda 콘솔에서 해당 함수의 "구성" 탭으로 이동한 후 "함수 URL" 설정에서 "편집" 버튼을 클릭합니다. 이후, 아래 그림과 같이 "오리진 허용", "헤더 노출", "헤더 허용", "메소드 허용" 항목들을 모두 *로 수정하면 CORS 문제를 해결할 수 있습니다.

5.3. 테스트

웹브라우저에서 frontend/index.html 파일을 열어 람다 함수를 호출하여 "사용법"과 같이 정상적으로 동작하는지 확인합니다.

key

끝으로

이처럼 람다 함수 생성기를 활용하면 복잡한 과정 없이 손쉽게 람다 함수를 생성하고 테스트할 수 있습니다. 반복되는 설정 작업을 자동화하여 개발 시간을 단축할 수 있으니, 다양한 업무 자동화 도구에 적용해 보시기 바랍니다.

Happy coding!

와탭 모니터링을 무료로 체험해보세요!