저는 업무에 필요한 도구들을 자주 만들어 활용하는 편입니다. 그중에서도 백엔드 작업이 필요한 경우에는 주로 AWS Lambda(람다)를 사용합니다. 그렇지만 매번 람다 함수를 생성하는 과정은 반복적이고 다소 번거로운 작업입니다. 그래서 이를 자동화하여 누구나 간편하게 람다 함수를 생성할 수 있는 람다 함수 생성기 프로젝트를 만들게 되었습니다.
람다 함수 생성기는 직관적인 UI를 제공하여, 몇 가지 간단한 단계만으로 람다 함수를 생성할 수 있습니다.
생성할 람다 함수의 이름, 실행할 AWS 리전, 런타임 등 기본적인 설정 정보를 입력합니다. 필요한 정보만 입력하면 되므로 매우 간단합니다.
함수 생성이 완료되면 결과 화면에서 생성된 함수의 이름, 리전, 함수 URL 등의 정보를 확인할 수 있습니다. URL을 웹 브라우저에 붙여 넣으면 Lambda 함수가 정상적으로 작동하는지 즉시 테스트할 수 있습니다.
AWS 콘솔이나 기타 관리 도구를 통해 실제 생성된 람다 함수를 확인할 수 있습니다. 생성 후 함수의 설정이나 코드를 수정하여 사용하시면 됩니다.
람다 함수 생성기의 설치 및 실행 방법은 다음과 같습니다.
람다 함수 생성기 프로젝트는 깃허브에 공개되어 있으며, 아래 명령어를 통해 저장소의 코드를 로컬에 클론할 수 있습니다.
클론한 후 백엔드 디렉토리로 이동하여 필요한 의존성을 설치합니다.
이후 backend/index.mjs 파일을 열어 람다 실행 역할(Execution Role)의 ARN을 여러분이 미리 생성한 역할로 수정합니다. 이 역할은 람다 함수가 실행되는 동안 필요한 권한을 부여받는 데 꼭 필요합니다.
위 코드에서 [your-role-arn]을 여러분의 람다 실행 역할 ARN으로 변경해 주세요. 올바른 권한이 부여되어 있어야 람다 함수가 정상적으로 동작합니다. 설정이 완료되면 backend 폴더 전체를 ZIP 파일로 압축하여 AWS Lambda에 업로드할 준비를 합니다.
AWS Lambda 콘솔에서 새로운 람다 함수를 생성하는 방법은 다음과 같습니다.
AWS Lambda 콘솔에 접속한 후 함수 생성(Create Function) 버튼을 클릭합니다.
원하는 함수 이름을 입력하고, 프로젝트에 맞는 런타임과 아키텍처를 선택합니다. 특히, arm 아키텍처는 비용 대비 성능이 우수하므로 고려해볼 만합니다. 권한을 미리 작성하신 경우에는 해당 역할을 선택하시고, 없는 경우에는 새로 생성합니다. 여기서는 기본으로 설정을 사용하여 새로 생성하도록 하겠습니다.
기존에 생성한 실행 역할을 선택하거나 새로 생성할 수 있습니다. 여기서는 기본 설정으로 새 역할을 생성하는 방법을 사용합니다.
추가 구성 단계에서 “함수 URL 활성화” 옵션을 선택합니다. 테스트 목적으로 인증 유형을 NONE으로 설정할 수 있으며, 실제 서비스 운영 시에는 보안을 위해 AWS_IAM 등으로 변경하는 것이 좋습니다.
추가 구성의 마지막 단계에서는 “교차 출처 리소스 공유(CORS) 구성” 옵션을 선택합니다.
모든 설정을 마친 후, 함수 생성 버튼을 클릭하여 람다 함수를 생성합니다.
함수 생성이 완료되면 AWS Lambda 콘솔 내에서 생성한 함수를 선택한 후 ZIP 파일을 업로드합니다.
람다를 생성할 때 실행 역할을 새로 생성했다면 해당 역할에 권한을 부여해야 합니다. 여기서는 테스트를 위해서 IAMFullAccess와 AWSLambdaFullAccess 권한을 부여하도록 하겠습니다.
"권한 추가" 버튼을 클릭하고 "정책 연결" 메뉴를 선택합니다.
IAMFullAccess을 검색하여 선택한 후 "권한 추가" 버튼을 클릭합니다.
동일한 방법으로 AWSLambdaFullAccess 정책을 검색하여 선택한 후 "권한 추가" 버튼을 클릭합니다.
이렇게 람다 함수에 필요한 권한 설정을 완료했습니다. 이제 람다 함수가 다른 람다 함수를 생성하고 관리할 수 있는 권한을 갖게 되었습니다.
이제 프론트엔드에서 람다 함수를 호출하여 테스트할 차례입니다.
frontend/index.html 파일을 열어 람다 함수의 URL을 설정합니다.
위 코드에서 [your-lambda-url]을 생성된 람다 함수의 URL로 변경해 주세요. 이 URL은 AWS Lambda 콘솔의 "함수 URL" 항목에서 확인할 수 있습니다.
테스트 중 CORS 관련 오류가 발생하면 AWS Lambda 콘솔에서 해당 함수의 "구성" 탭으로 이동한 후 "함수 URL" 설정에서 "편집" 버튼을 클릭합니다. 이후, 아래 그림과 같이 "오리진 허용", "헤더 노출", "헤더 허용", "메소드 허용" 항목들을 모두 *로 수정하면 CORS 문제를 해결할 수 있습니다.
5.3. 테스트웹브라우저에서 frontend/index.html 파일을 열어 람다 함수를 호출하여 "사용법"과 같이 정상적으로 동작하는지 확인합니다.
이처럼 람다 함수 생성기를 활용하면 복잡한 과정 없이 손쉽게 람다 함수를 생성하고 테스트할 수 있습니다. 반복되는 설정 작업을 자동화하여 개발 시간을 단축할 수 있으니, 다양한 업무 자동화 도구에 적용해 보시기 바랍니다.
Happy coding!