Rust로 Lambda 함수 구축하기
Rust로 Lambda 함수 구축하기
Rust는 네이티브 코드로 컴파일되기 때문에 Lambda에서 Rust 코드를 실행하는 데 전용 런타임이 필요 없어요. 대신 Rust 런타임 클라이언트로 프로젝트를 로컬에서 빌드하고, OS 전용 런타임을 사용해 Lambda에 배포하면 돼요. OS 전용 런타임을 사용하면 Lambda가 운영 체제를 최신 패치로 자동 업데이트해 줘요. HTTP 이벤트 작업에 대한 내용은 Rust로 HTTP 이벤트 처리를 참고하세요. Rust와 함께 레이어(layer)를 사용하는 방법은 Rust Lambda 함수용 레이어 작업을 참고하세요.
본문
Rust용 도구와 라이브러리
- AWS SDK for Rust: AWS SDK for Rust는 Amazon Web Services 인프라 서비스와 상호작용하는 Rust API를 제공해요.
- Lambda용 Rust 런타임 클라이언트: 이 라이브러리는 Rust로 작성된 Lambda 함수를 쉽게 실행할 수 있게 해줘요.
- Cargo Lambda: Cargo 명령줄 도구의 서드파티 오픈소스 확장으로, Rust Lambda 함수를 빌드·배포하는 것을 간소화해요.
- Lambda HTTP: HTTP 이벤트 작업을 위한 래퍼를 제공하는 라이브러리예요.
- Lambda Extension: Rust로 Lambda Extension을 작성하는 것을 지원하는 라이브러리예요.
- AWS Lambda Events: 일반적인 이벤트 소스 통합을 위한 타입 정의를 제공하는 라이브러리예요.
Rust 샘플 Lambda 애플리케이션
- 기본 Lambda 함수: 기본 이벤트를 처리하는 방법을 보여주는 Rust 함수예요.
- 오류 처리가 있는 Lambda 함수: Lambda에서 커스텀 Rust 오류를 처리하는 방법을 보여주는 Rust 함수예요.
- 공유 리소스가 있는 Lambda 함수: Lambda 함수를 만들기 전에 공유 리소스를 초기화하는 Rust 프로젝트예요.
- Lambda HTTP 이벤트: HTTP 이벤트를 처리하는 Rust 함수예요.
- CORS 헤더가 있는 Lambda HTTP 이벤트: Tower를 사용해 CORS 헤더를 주입하는 Rust 함수예요.
- Lambda REST API: Axum과 Diesel로 PostgreSQL 데이터베이스에 연결하는 REST API예요.
- Serverless Rust 데모: Lambda의 Rust 라이브러리, 로깅, 환경 변수, AWS SDK 사용을 보여주는 Rust 프로젝트예요.
- 기본 Lambda Extension: 기본 확장 이벤트를 처리하는 방법을 보여주는 Rust 확장이에요.
- Lambda Logs Amazon Data Firehose Extension: Lambda 로그를 Firehose로 보내는 방법을 보여주는 Rust 확장이에요.
Topics(주제)
- Rust에서 Lambda 함수 핸들러 정의
- Lambda 컨텍스트 객체로 Rust 함수 정보 검색
- Rust로 HTTP 이벤트 처리
- .zip 파일 아카이브로 Rust Lambda 함수 배포
- Rust Lambda 함수용 레이어 작업
- Rust Lambda 함수 로그 및 모니터링
더 알아보기 (Learn more)
- Rust 런타임 클라이언트로 로컬 빌드 후 OS 전용 런타임으로 배포하고, HTTP 이벤트·레이어·로깅을 다루는 주제를 이어서 살펴보세요.