Amazon Web Services 한국 블로그
VS Code IDE의 LocalStack 통합으로 서버리스 테스트 속도 높이기
오늘은 AWS Toolkit for Visual Studio Code의 LocalStack 통합을 발표합니다. 이 통합을 이용하면 개발자가 서버리스 애플리케이션을 로컬로 테스트하고 디버그하기가 전에 없이 간편해집니다. 이 강화 요소는 지난 2025년 7월에 출시한 콘솔에서 IDE 통합과 원격 디버깅 기능을 포함한 최근 AWS Lambda 개발 경험을 기반으로 하며, Amazon Web Services(AWS)에서 서버리스 개발을 간소화하고자 하는 노력이 이어진 결과입니다.
개발자는 보통 서버리스 애플리케이션을 빌드할 때면 테스트 경험을 간소화하기 위해 크게 세 가지 주요 영역에 집중합니다. 유닛 테스트, 통합 테스트, 그리고 클라우드에서 실행되는 리소스 디버깅입니다. AWS Serverless Application Model Command Line Interface(AWS SAM CLI)에는 개별적인 Lambda 함수에 대한 탁월한 로컬 유닛 테스트 기능이 있지만, Amazon Simple Queue Service(Amazon SQS), Amazon EventBridge, Amazon DynamoDB와 같이 AWS 서비스 여러 개가 관련된 이벤트 기반 아키텍처를 다루는 개발자에게는 로컬 통합 테스트용으로 종합적인 솔루션이 필요합니다. LocalStack이 AWS 서비스의 로컬 에뮬레이션을 제공하기는 했지만, 이전까지는 LocalStack을 독립 실행형 도구로 사용해야 했습니다. 그 과정에서 복잡한 구성이 필요하고, 여러 인터페이스를 자주 바꿔 가며 컨텍스트를 전환해야 했기 때문에 개발 주기가 느려졌습니다.
AWS Toolkit for VS Code의 LocalStack 통합
이러한 문제를 해결하기 위해 개발자가 AWS Toolkit for VS Code를 LocalStack 엔드포인트에 직접 연결할 수 있도록 LocalStack 통합을 도입하게 되었습니다. 이 통합을 이용하면 여러 도구를 전환하거나 복잡한 LocalStack 설정을 관리할 필요 없이 서버리스 애플리케이션을 테스트하고 디버그할 수 있습니다. 이제 Lambda, Amazon SQS, EventBridge와 같은 서비스를 포함한 엔드투엔드 이벤트 기반 워크플로를 로컬로 에뮬레이션할 수 있고, 그 과정에서 도구 여러 개를 관리하거나 복잡한 엔드포인트 구성을 수행할 필요도 없고, 이전처럼 클라우드 리소스에 연결해야만 했던 서비스 경계 문제에 대처할 필요도 없습니다.
이 통합의 핵심적인 장점은 이제 AWS Toolkit for VS Code가 LocalStack과 같은 사용자 지정 엔드포인트에 연결할 수 있다는 것입니다. 이것은 전에는 불가능했던 일입니다. 이전에는 AWS Toolkit for VS Code가 LocalStack 환경을 가리키게 하려면 수동 구성을 수행하고 여러 도구를 번갈아 가며 컨텍스트를 전환해야 했습니다.
VS Code에서 LocalStack을 시작하는 방법은 간단명료합니다. LocalStack Free 버전부터 시작하면 개발 및 테스트 초기 단계에 이상적인 코어 AWS 서비스 로컬 에뮬레이션이 제공됩니다. VS Code에서 단계별 애플리케이션 시연을 이용하면 툴킷 인터페이스에서 직접 LocalStack을 설치할 수 있습니다. 인터페이스가 LocalStack 확장을 자동으로 설치하고, 설정 프로세스를 안내합니다. 구성을 마치면 에뮬레이션된 환경에 직접 서버리스 애플리케이션을 배포하고, 기능을 로컬로 테스트할 수 있습니다. 이 모든 것을 IDE를 종료하지 않고 진행할 수 있습니다.
직접 사용해 보기
우선, AWS Toolkit for VS Code를 최신 버전으로 업데이트합니다. 업데이트를 마치고 Application Builder로 이동하면 새 옵션이 표시됩니다. 여기에서 Walkthrough of Application Builder(애플리케이션 빌더 시연)를 클릭합니다. 이렇게 하면 클릭 한 번만으로 LocalStack이 설치됩니다.
LocalStack 설정을 완료했으면 상태 표시줄에서 LocalStack을 시작할 수 있고, 구성된 AWS 프로필 목록에서 LocalStack을 선택할 수 있게 됩니다. 이 그림에서는 Application Composer를 사용하여 Amazon API Gateway, Lambda, DynamoDB를 사용한 간단한 서버리스 아키텍처를 빌드하고 있습니다. 보통은 이 아키텍처를 AWS에 배포하는 데 AWS SAM을 사용합니다. 여기에서는 같은 AWS SAM 명령을 사용해 스택을 로컬로 배포해 보겠습니다.
명령줄에서 `sam deploy –guided –profile localstack`을 실행하고 평소처럼 프롬프트를 따릅니다. AWS SAM CLI를 사용하여 LocalStack을 배포하면 AWS에 배포할 때와 같은, 친숙한 경험이 제공됩니다. 아래 스크린샷을 보면 AWS SAM의 표준 출력이 표시되어 있고, AWS Toolkit Explorer에 새 LocalStack 리소스도 표시된 것을 확인할 수 있습니다.
Lambda 함수로 이동해서 로컬로 배포한 함수 코드를 편집할 수도 있습니다.
LocalStack 웹 사이트에서는 로그인한 다음, 로컬로 실행 중인 모든 리소스를 살펴볼 수 있습니다. 아래 스크린샷에서 방금 배포한 로컬 DynamoDB 테이블이 표시된 것을 확인할 수 있습니다.
향상된 개발 워크플로
이러한 새 특성은 최근에 출시한 콘솔-IDE 통합과 원격 디버깅 특성을 보완하여, 개발 수명 주기 내내 다양한 테스트 요구 사항에 부응하는 종합적인 개발 경험을 제공합니다. AWS SAM CLI는 유닛 테스트 관련 상황을 효과적으로 처리하여 탁월한 개별 Lambda 함수 로컬 테스트도 제공합니다. 통합 테스트의 경우, LocalStack 통합을 이용하면 AWS Identity and Access Management(IAM) 권한, Amazon Virtual Private Cloud(Amazon VPC) 구성과 같은 복잡한 과정이나 서비스 경계 문제 등 개발 주기 속도를 늦출 수 있는 요인 없이 멀티서비스 워크플로 테스트를 로컬로 진행할 수 있습니다.
개발자가 개발 환경에서 AWS 서비스를 이용해 테스트해야 하는 경우, 원격 디버깅 기능을 이용하면 Amazon VPC 리소스와 IAM 역할에 전체 액세스가 제공됩니다. 이렇게 계층형 방식으로 접근하면 개발자가 개발 단계 초창기에 LocalStack을 이용해 비즈니스 로직에만 집중하고, 그런 다음 AWS 서비스 동작과 구성에 대하여 검증해야 할 때는 클라우드 기반 테스트로 원활하게 전환할 수 있습니다. 이 통합을 이용하면 여러 도구와 환경을 바꿔 가면서 이용할 필요가 없어져 문제를 빠르게 식별하고 수정하면서도 각자의 구체적인 요구 사항에 적절한 테스트 방식을 유연하게 선택할 수 있습니다.
정식 출시
이러한 새 특성은 AWS Toolkit for VS Code를 v3.74.0으로 업데이트하면 이용할 수 있습니다. LocalStack 통합은 AWS GovCloud(미국) 리전을 제외한 모든 상용 AWS 리전에서 제공됩니다. 자세한 내용은 AWS Toolkit for VS Code 및 Lambda 설명서를 참조하세요.
LocalStack은 광범위한 서비스 적용 범위나 고급 특성이 필요한 개발자에게 확장된 특성을 포함한 추가 계층을 제공합니다. 이 통합은 AWS 추가 비용 없이 제공됩니다.
이러한 강화 요소에는 서버리스 개발 경험을 간소화하고자 계속 진행 중인 AWS의 노력이 또 한 번 중대한 진전을 이루었다는 의미가 있습니다. 지난 한 해 동안 VS Code를 서버리스 개발자를 위한 도구로 자리 잡게 하는 데 주력해 왔으며, 이번 LocalStack 통합 또한 개발자에게 서버리스 애플리케이션을 전에 없이 효율적으로 빌드하고 테스트할 도구를 제공함으로써 그러한 여정을 이어간 결과입니다.