VS Code를 사용하여 로컬에서 Lambda 함수 개발
Lambda 함수를 Lambda 콘솔에서 전체 개발 환경을 제공하고 AWS SAM, AWS CDK 등의 다른 로컬 개발 옵션을 사용할 수 있는 Visual Studio Code로 이동할 수 있습니다.
로컬 개발의 주요 이점
Lambda 콘솔은 함수를 빠르게 편집하고 테스트하는 방법을 제공하며 로컬 개발은 고급 기능을 제공합니다.
-
고급 IDE 기능: 디버깅, 코드 완료, 리팩터링 도구
-
오프라인 개발: 클라우드 배포 전에 로컬에서 변경 사항 작업 및 테스트
-
코드형 인프라 통합: AWS SAM, AWS CDK, Infrastructure Composer에서 원활한 사용
-
종속성 관리: 함수 종속성에 대한 전체 제어
사전 조건
VS Code에서 로컬로 Lambda 함수를 개발하려면 먼저 다음이 필요합니다.
-
VS Code: 설치 지침은 Download VS Code
를 참조하세요. -
AWS Toolkit for Visual Studio Code: 설치 지침은 Setting up the AWS Toolkit for Visual Studio Code를 참조하세요. 개요는 AWS Toolkit for Visual Studio Code
섹션을 참조하세요. -
AWS 자격 증명: 자격 증명 구성에 대한 자세한 내용은 Setting up your AWS credentials를 참조하세요.
-
AWS SAM CLI: 설치 지침은 Installing the AWS SAM CLI를 참조하세요.
-
Docker 설치됨(선택 사항이지만 로컬 테스트에 필요): 설치 지침은 Get Docker
를 참조하세요.
참고
로컬로 구성된 AWS 계정 및 프로필이 이미 있는 경우 AdministratorAccess 관리형 정책이 구성된 AWS 프로필에 추가되었는지 확인합니다.
인증 및 액세스 제어
Lambda 함수를 로컬에서 개발하려면 클라우드에서와 마찬가지로 사용자를 대신하여 AWS 리소스에 안전하게 액세스하고 관리하기 위한 AWS 자격 증명이 필요합니다. AWS Toolkit for VS Code는 다음과 같은 인증 방법을 지원합니다.
AWS Toolkit for VS Code는 다음과 같은 인증 방법을 지원합니다.
-
IAM 사용자 장기 자격 증명
-
수임된 역할의 임시 자격 증명
-
아이덴티티 페더레이션
-
AWS 계정 루트 사용자 자격 증명(권장되지 않음)
이 섹션에서는 IAM 사용자 장기 자격 증명을 사용하여 이러한 자격 증명을 얻고 구성하는 방법을 안내합니다.
IAM 자격 증명 받기
액세스 키가 있는 IAM 사용자가 이미 있는 경우 다음 섹션을 위해 액세스 키 ID와 시크릿 액세스 키를 모두 준비합니다. 이러한 키가 없는 경우 다음 단계에 따라 키를 생성합니다.
참고
액세스 키 ID와 보안 액세스 키를 함께 사용하여 요청을 인증해야 합니다.
IAM 사용자와 액세스 키를 생성하려면:
-
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 사용자를 선택합니다.
-
사용자 생성을 선택합니다.
-
사용자 이름에 이름을 입력하고 다음을 선택합니다.
-
권한 설정에서 정책을 직접 연결을 선택합니다.
-
AdministratorAccess를 선택하고 다음을 선택합니다.
-
사용자 생성을 선택합니다.
-
성공 배너에서 사용자 보기를 선택합니다.
-
액세스 키 생성을 선택합니다.
-
사용 사례에서 로컬 코드를 선택합니다.
-
확인란을 선택하고 다음을 선택합니다.
-
(선택 사항) 설명 태그 값을 입력합니다.
-
액세스 키 생성을 선택합니다.
-
액세스 키와 시크릿 액세스 키를 즉시 복사합니다. 이 페이지를 나간 후에는 시크릿 액세스 키에 다시 액세스할 수 없습니다.
중요
보안 키를 공유하거나 소스 제어에 커밋해서는 안 됩니다. 해당 키를 안전하게 저장하고 더 이상 필요하지 않은 경우 삭제하세요.
참고
자세한 내용은 IAM 사용 설명서의 AWS 계정에서 IAM 사용자 생성 및 IAM 사용자의 액세스 키 관리를 참조하세요.
AWS Toolkit를 사용하여 AWS 자격 증명 구성
다음 표에는 다음 절차에서 완료할 자격 증명 설정 과정이 요약되어 있습니다.
수행할 작업 | 이유? |
---|---|
로그인 패널 열기 | 인증 시작 |
명령 팔레트를 사용하여 AWS 새 연결 추가 검색 | 로그인 UI에 액세스 |
IAM 자격 증명 선택 | 프로그래밍 방식 액세스를 위해 액세스 키 사용 |
프로필 이름, 액세스 키, 보안 키 입력 | 연결을 위한 자격 증명 제공 |
AWS Explorer 업데이트 참조 | 연결 확인 |
AWS 계정에 인증하는 다음 단계를 완료합니다.
-
VS Code에서 로그인 패널을 엽니다.
-
인증 프로세스를 시작하려면 왼쪽 탐색 창에서 AWS 아이콘을 선택하거나 명령 팔레트(Mac의 경우 Cmd+Shift+P, Windows/Linux의 경우 Ctrl+Shift+P)를 열고 AWS 새 연결 추가를 검색하여 선택합니다.
-
-
로그인 패널에서 IAM 자격 증명을 선택하고 계속을 선택합니다.
참고
계속하려면 VS Code용 AWS IDE Extensions가 데이터에 액세스하도록 허용해야 합니다.
-
프로필 이름, 액세스 키 ID, 시크릿 액세스 키를 입력한 다음 계속을 선택합니다.
-
AWS 서비스 및 리소스에 대한 VS Code의 AWS Explorer를 확인하여 연결 상태를 검증합니다.
장기 자격 증명을 사용한 인증 설정에 대한 자세한 내용은 Using long-term credentials to authenticate AWS SDKs and tools를 참조하세요.
인증 구성에 대한 자세한 내용은 AWS Toolkit for Visual Studio Code 사용자 가이드의 AWS IAM 자격 증명을 참조하세요.
콘솔에서 로컬 개발로 이동
참고
콘솔에서 변경한 경우 로컬 개발로 전환하기 전에 배포되지 않은 변경 사항이 없는지 확인합니다.
Lambda 콘솔에서 VS Code로 Lambda 함수를 이동하려면 다음 단계를 완료합니다.
-
Lambda 콘솔
을 엽니다. -
함수의 이름을 선택합니다.
-
코드 소스 탭을 선택합니다.
-
Visual Studio Code에서 열기를 선택합니다.
참고
Visual Studio Code에서 열기 버튼은 AWS Toolkit 버전 3.69.0 이상에서만 사용 가능합니다. 이전 버전의 AWS Toolkit가 설치된 경우 VS Code에
Cannot open the handler
메시지가 표시될 수 있습니다. 이 문제를 해결하려면 AWS Toolkit를 최신 버전으로 업데이트합니다. -
메시지가 표시되면 브라우저에서 VS Code를 열도록 허용합니다.
VS Code에서 함수를 열면 Lambda가 빠른 테스트 및 배포를 위해 설계된 임시 위치에 함수 코드를 사용하여 로컬 프로젝트를 생성합니다. 여기에는 함수 코드, 종속성, 로컬 개발에 사용할 수 있는 기본 프로젝트 구조가 포함됩니다.
VS Code에서 AWS를 사용하는 방법에 대한 자세한 내용은 AWS Toolkit for Visual Studio Code 사용자 가이드를 참조하세요.
로컬에서 함수 작업
VS Code에서 함수를 연 후에 다음 단계에 따라 함수에 액세스하고 관리합니다.
-
사이드바에서 AWS 아이콘을 선택하여 AWS Explorer를 엽니다.
-
AWS Explorer에서 Lambda 함수가 있는 리전을 선택합니다.
-
선택한 리전에서 Lambda 섹션을 확장하여 함수를 보고 관리합니다.
VS Code에서 함수를 연 상태에서 다음을 수행할 수 있습니다.
-
전체 언어 지원 및 코드 완료를 통해 함수 코드를 편집합니다.
-
AWS Toolkit를 사용하여 로컬에서 함수를 테스트합니다.
-
중단점 및 변수 검사를 사용하여 함수를 디버깅합니다.
-
클라우드 아이콘을 사용하여 업데이트된 함수를 AWS에 다시 배포합니다.
-
함수에 대한 종속성을 설치하고 관리합니다.
자세한 내용은 AWS Toolkit for Visual Studio Code 사용자 가이드의 Working with AWS Lambda functions를 참조하세요.
함수를 AWS SAM 템플릿으로 변환하고 IaC 도구 사용
VS Code에서 Lambda 함수 옆에 있는 AWS SAM 애플리케이션으로 변환 아이콘을 선택하여 Lambda 함수를 AWS SAM 템플릿으로 변환할 수 있습니다. AWS SAM 프로젝트 위치를 선택하라는 메시지가 표시됩니다. 선택하면 Lambda 함수가 새 AWS SAM 프로젝트에 저장된 template.yaml
파일로 변환됩니다.
함수를 AWS SAM 템플릿으로 변환하면 다음을 수행할 수 있습니다.
인프라의 버전 관리 제어
배포 자동화
원격으로 함수 디버깅
애플리케이션에 AWS 리소스 추가
개발 수명 주기 전반에서 일관된 환경 유지
Infrastructure Composer를 사용하여 AWS SAM 템플릿을 시각적으로 편집
IaC 도구 사용에 대한 자세한 내용은 다음 가이드를 참조하세요.
이러한 도구는 서버리스 애플리케이션의 정의, 테스트, 배포를 위한 추가 기능을 제공합니다.
다음 단계
VS Code를 사용한 Lambda 함수 작업에 대한 자세한 내용은 다음 리소스를 참조하세요.
-
AWS Toolkit for VS Code 사용자 가이드의 AWS Lambda 함수 작업
-
AWS Toolkit for VS Code 사용자 가이드의 서버리스 애플리케이션 작업
-
Lambda 개발자 안내서의 코드형 인프라(IaC)