첫 번째 Lambda 함수 생성
Lambda 사용을 시작하려면 Lambda 콘솔에서 함수를 생성해야 합니다. 몇 분 안에 함수를 생성하여 배포하고 콘솔에서 테스트할 수 있습니다.
자습서를 진행하면서 Lambda 이벤트 객체를 사용하여 함수에 인수를 전달하는 방법과 같은 몇 가지 기본적인 Lambda 개념을 배우게 됩니다. 함수에서 로그 출력을 반환하는 방법과 Amazon CloudWatch Logs에서 함수의 간접 호출 로그를 보는 방법도 학습합니다.
작업을 단순화하려면 Python 또는 Node.js 런타임을 사용하여 함수를 생성하세요. 이러한 해석된 언어를 사용하면 콘솔의 기본 제공 코드 편집기에서 함수 코드를 직접 편집할 수 있습니다. Java 및 C#과 같은 컴파일된 언어를 사용할 때 로컬 빌드 머신에 배포 패키지를 생성하여 Lambda에 업로드해야 합니다. 다른 런타임을 사용하여 Lambda에 함수를 배포하는 방법에 대해 알아보려면 추가 리소스 및 다음 단계 섹션의 링크를 참조하세요.
작은 정보
서버리스 솔루션을 빌드하는 방법을 알아보려면 서버리스 개발자 안내서를 확인하세요.
사전 조건
AWS 계정이 없는 경우 다음 절차에 따라 계정을 생성합니다.
AWS 계정에 가입
https://portal.aws.amazon.com/billing/signup
을 엽니다. 온라인 지시 사항을 따릅니다.
등록 절차 중 전화를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.
AWS 계정 루트 사용자에 가입하면 AWS 계정 루트 사용자가 만들어집니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 루트 사용자 액세스 권한이 필요한 작업을 수행하는 것입니다.
AWS는 가입 절차 완료된 후 사용자에게 확인 이메일을 전송합니다. 언제든지 https://aws.amazon.com/
AWS 계정에 가입하고 AWS 계정 루트 사용자에 보안 조치를 한 다음, AWS IAM Identity Center을 활성화하고 일상적인 작업에 루트 사용자를 사용하지 않도록 관리 사용자를 생성합니다.
귀하의 AWS 계정 루트 사용자 보호
-
루트 사용자를 선택하고 AWS 계정이메일 주소를 입력하여 AWS Management Console
에 계정 소유자로 로그인합니다. 다음 페이지에서 비밀번호를 입력합니다. 루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 AWS 로그인 User Guide의 루트 사용자로 로그인을 참조하십시오.
-
루트 사용자의 다중 인증(MFA)을 활성화합니다.
지침은 IAM 사용 설명서의 AWS 계정 루트 사용자용 가상 MFA 디바이스 활성화(콘솔)를 참조하십시오.
관리자 액세스 권한이 있는 사용자 생성
-
IAM Identity Center를 활성화합니다.
지침은 AWS IAM Identity Center 사용 설명서의 AWS IAM Identity Center 설정을 참조하세요.
-
IAM Identity Center에서 사용자에게 관리 액세스 권한을 부여합니다.
IAM Identity Center 디렉터리를 ID 소스로 사용하는 방법에 대한 자습서는 AWS IAM Identity Center 사용 설명서의 기본 IAM Identity Center 디렉터리로 사용자 액세스 구성을 참조하세요.
관리 액세스 권한이 있는 사용자로 로그인
-
IAM IDentity Center 사용자로 로그인하려면 IAM Identity Center 사용자를 생성할 때 이메일 주소로 전송된 로그인 URL을 사용합니다.
IAM Identity Center 사용자로 로그인하는 데 도움이 필요한 경우 AWS 로그인 사용 설명서의 AWS 액세스 포털에 로그인을 참조하십시오.
추가 사용자에게 액세스 권한 할당
-
IAM Identity Center에서 최소 권한 적용 모범 사례를 따르는 권한 세트를 생성합니다.
지침은 AWS IAM Identity Center 사용 설명서의 Create a permission set를 참조하세요.
-
사용자를 그룹에 할당하고, 그룹에 Single Sign-On 액세스 권한을 할당합니다.
지침은 AWS IAM Identity Center 사용 설명서의 Add groups를 참조하세요.
콘솔로 Lambda 함수 생성
이 예제에서 함수는 "length"
와 "width"
라는 레이블이 붙은 2개의 정수 값을 포함하는 JSON 객체를 사용합니다. 함수는 이러한 값을 곱하여 면적을 계산하고 이 값을 JSON 문자열로 반환합니다.
또한 함수는 CloudWatch 로그 그룹의 이름과 함께 계산된 면적을 인쇄합니다. 자습서 후반부에서는 CloudWatch Logs를 사용하여 함수의 간접 호출 레코드를 보는 방법을 배웁니다.
콘솔로 Hello world 함수 생성
Lambda 콘솔의 함수 페이지
를 엽니다. -
함수 생성(Create function)을 선택합니다.
-
새로 작성을 선택합니다.
-
기본 정보 창의 함수 이름에
을 입력하세요.myLambdaFunction
-
런타임에서 Node.js 22.x 또는 Python 3.13을 선택하세요.
-
아키텍처를 x86_64로 설정된 상태로 두고 함수 생성을 선택하세요.
Lambda는 Hello from Lambda!
와 같은 메시지를 반환하는 함수 외에도 함수에 대한 실행 역할을 생성합니다. 실행 역할은 AWS 서비스 및 리소스에 액세스할 수 있는 권한을 Lambda 함수에 부여하는 AWS Identity and Access Management(IAM) 역할입니다. 함수에 대해 Lambda가 생성하는 역할은 CloudWatch Logs에 쓸 수 있는 기본 권한을 부여합니다.
콘솔의 기본 제공 코드 편집기를 사용하여 Lambda에서 생성한 Hello world 코드를 사용자의 함수 코드로 바꿉니다.
콘솔을 사용하여 Lambda 함수 간접 호출
Lambda 콘솔 코드 편집기를 사용하여 함수를 간접 호출하려면 함수에 전송할 테스트 이벤트를 생성합니다. 이벤트는 "length"
및 "width"
키가 있는 2개의 키-값 페어를 포함하는 JSON 형식의 문서입니다.
테스트 이벤트 생성
-
콘솔 코드 편집기의 테스트 이벤트 섹션에서 테스트 이벤트 생성을 선택하세요.
-
Event Name(이벤트 이름)에
myTestEvent
를 입력합니다. -
이벤트 JSON 섹션에서 기본 JSON을 다음으로 바꾸세요.
{ "length": 6, "width": 7 }
-
Save(저장)를 선택합니다.
함수를 테스트하고 간접 호출 레코드를 보는 방법
콘솔 코드 편집기의 테스트 이벤트 섹션에서 테스트 이벤트 옆에 있는 실행 아이콘을 선택하세요.
함수 실행이 완료되면 실행 결과 탭에 응답 및 함수 로그가 표시됩니다. 다음과 유사한 결과가 출력됩니다.
Lambda 콘솔 외부에서 함수를 간접 호출할 때는 CloudWatch Logs를 사용하여 함수의 실행 결과를 확인해야 합니다.
CloudWatch Logs에서 함수의 간접 호출 레코드 보기
-
CloudWatch 콘솔에서 로그 그룹 페이지
를 엽니다. -
함수에 대한 로그 그룹(
/aws/lambda/myLambdaFunction
)을 선택합니다. 이는 함수가 콘솔에 인쇄한 로그 그룹 이름입니다. -
아래로 스크롤하고 확인하고자 하는 함수 간접 호출의 로그 스트림을 선택합니다.
다음과 유사한 출력 화면이 표시되어야 합니다.
정리
예제 함수를 사용한 작업을 마치면 해당 함수를 삭제하세요. 함수의 로그를 저장하는 로그 그룹과 콘솔에서 생성된 실행 역할을 삭제할 수도 있습니다.
Lambda 함수를 삭제하려면
-
Lambda 콘솔의 함수 페이지
를 엽니다. -
생성한 함수를 선택합니다.
-
작업, 삭제를 선택합니다.
-
텍스트 입력 필드에
delete
를 입력하고 Delete(삭제)를 선택합니다.
로그 그룹 삭제
-
CloudWatch 콘솔에서 로그 그룹 페이지
를 엽니다. -
함수의 로그 그룹(
/aws/lambda/myLambdaFunction
)을 선택합니다. -
작업(Actions), 로그 그룹 삭제(Delete log group(s))를 선택합니다.
-
로그 그룹 삭제(Delete log group(s)) 대화 상자에서 삭제(Delete)를 선택합니다.
실행 역할을 삭제하려면
-
AWS Identity and Access Management(IAM) 콘솔의 역할 페이지
를 엽니다. -
함수의 실행 역할(예:
myLambdaFunction-role-
)을 선택합니다.31exxmpl
-
Delete(삭제)를 선택합니다.
-
역할 삭제 대화 상자에 역할 이름을 입력하고 삭제를 선택하세요.
추가 리소스 및 다음 단계
콘솔을 사용하여 간단한 Lambda 함수를 생성하고 테스트했으니 다음 단계를 수행합니다.
-
함수에 종속 항목을 추가하고 .zip 배포 패키지를 사용하여 코드를 배포하는 방법을 알아봅니다. 다음 링크에서 원하는 언어를 선택합니다.
-
다른 AWS 서비스를 사용하여 Lambda 함수를 간접 호출하는 방법을 알아보려면 자습서: Amazon S3 트리거를 사용하여 Lambda 함수 간접 호출 섹션을 참조하세요.
-
다른 AWS 서비스와 함께 Lambda를 사용하는 보다 복잡한 예제를 보려면 다음 자습서 중 하나를 선택합니다.
-
자습서: API Gateway에서 Lambda 사용: Lambda 함수를 호출하는 Amazon API Gateway REST API를 생성합니다.
-
Amazon RDS에 액세스하기 위해 Lambda 함수 사용: Lambda 함수를 사용하여 RDS 프록시를 통해 Amazon Relational Database Service(RDS) 데이터베이스에 데이터를 씁니다.
-
Amazon S3 트리거를 사용하여 썸네일 이미지 생성: 이미지 파일이 Amazon S3 버킷에 업로드될 때마다 Lambda 함수를 사용하여 썸네일을 생성합니다.
-