.NET Aspire 도구에 대해 알아보기

완료됨

.NET Aspire는 Visual Studio 사용자 인터페이스에 도구를 추가하여 클라우드 네이티브 앱을 만들고 관리하는 데 도움을 줍니다. 이러한 도구는 서로 다른 컨테이너에서 실행되더라도 완전한 앱을 구성하는 구성 요소가 무엇인지 명확하므로 쉽게 혼동할 수 있습니다. .NET Aspire 대시보드는 테스트 및 디버그에 도움이 되는 진단 및 모니터링 데이터와 함께 실행 중인 앱에 대한 통합 보기도 제공합니다.

가상의 아웃도어 의류 및 장비 회사 시나리오를 다시 생각해 보세요. 개발팀이 각 마이크로 서비스에 대한 아키텍처 디자인을 완료했으며 개발을 시작하려고 합니다. Visual Studio 및 명령줄에서 .NET Aspire를 사용하여 작업하는 방법을 이해하려고 합니다.

이 단원에서는 .NET Aspire 도구와 이 도구가 개발자가 클라우드 네이티브 앱을 만들고 디버깅할 때 어떻게 지원하는지 알아봅니다.

필수 조건

.NET Aspire를 설치하기 전에 컴퓨터에 다음이 필요합니다.

  • .NET 8.0
  • 컨테이너 호스팅을 위한 Docker Desktop 또는 Podman.
  • Visual Studio와 같은 IDE(통합 개발 환경) 또는 Visual Studio Code와 같은 코드 편집기

Visual Studio를 사용하는 경우 버전 17.9 이상을 설치해야 합니다.

참고 항목

Docker Desktop 또는 Podman은 .NET Aspire가 마이크로 서비스 및 일부 지원 서비스를 실행하는 데 사용하는 컨테이너를 호스팅하는 데 필요합니다. .NET Aspire는 이미지와 컨테이너를 구성하고 컴파일하므로 컨테이너 전문가가 될 필요는 없습니다.

.NET Aspire 설치

Microsoft Visual Studio를 사용하는 경우 ASP.NET 및 웹 개발 워크로드에서 .NET Aspire SDK 구성 요소를 추가하여 .NET Aspire를 설치할 수 있습니다. 일단 설치되면 새로운 도구를 사용할 수 있습니다. 이 모듈의 뒷부분에 있는 연습에서 이러한 단계를 완료하게 됩니다.

Visual Studio 설치 관리자에서 ASP.NET 및 웹 개발 워크로드의 일부로 .NET Aspire를 설치할 수 있음을 보여 주는 스크린샷.

또는 Visual Studio 설치 관리자를 사용하지 않으려는 경우 .NET CLI를 사용하여 .NET Aspire를 설치할 수 있습니다.

dotnet workload update
dotnet workload install aspire
dotnet workload list

Visual Studio의 프로젝트 템플릿

5개의 .NET Aspire 애플리케이션 템플릿이 추가되었습니다. 이를 사용하여 새 애플리케이션을 만들 수 있습니다.

  • .NET Aspire 애플리케이션: 이 템플릿은 다음 두 개의 프로젝트가 있는 최소 .NET Aspire 솔루션을 만듭니다. 앱 호스트 프로젝트는 솔루션을 오케스트레이션하고 서비스 기본값 프로젝트는 복원력, 서비스 검색 및 원격 분석을 위해 재사용 가능한 구성 세부 정보를 관리합니다.
  • .NET Aspire 시작 애플리케이션: 이 템플릿은 완전한 솔루션을 만듭니다. 여기에는 이전 템플릿과 동일한 앱 호스트서비스 기본값 프로젝트가 포함되어 있으며 백 엔드 API 서비스 및 프런트 엔드 웹 인터페이스용 프로젝트가 추가됩니다.
  • .NET Aspire 앱 호스트: 이 템플릿은 새 솔루션에 앱 호스트 프로젝트만 만듭니다. 마이크로 서비스, 라이브러리 및 기타 프로젝트를 추가하여 앱을 완료할 수 있습니다.
  • .NET Aspire 서비스 기본값: 이 템플릿은 새 솔루션에 서비스 기본값 프로젝트만 만듭니다.
  • .NET Aspire 테스트 프로젝트: 이 템플릿은 앱 호스트에 대한 xUnit 테스트를 만듭니다.

참고 항목

Visual Studio에서 여는 기존 .NET 웹 애플리케이션에 .NET Aspire를 추가할 수도 있습니다. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 선택한 다음 .NET Aspire Orchestrator 지원을 선택합니다. 이 작업은 솔루션에 앱 호스트 및 서비스 기본 프로젝트를 추가하고 서비스 검색 및 기타 .NET Aspire 기능을 위해 기존 프로젝트를 등록합니다.

.NET Aspire 대시보드

애플리케이션 작업을 하면서 Visual Studio 디버거를 사용하여 F5 키를 눌러 코드를 실행할 수 있습니다. 이렇게 하면 Visual Studio는 각 마이크로 서비스에 대한 Docker 이미지를 자동으로 빌드하고, Docker 서비스가 실행되고 있지 않으면 시작하고, 전체 애플리케이션을 실행합니다. 또한 마이크로 서비스에 연결하고, 앱 성능을 조사하고, 해당 동작을 모니터링하는 데 사용할 수 있는 .NET Aspire 대시보드도 표시됩니다.

.NET Aspire 대시보드의 스크린샷.

Important

.NET Aspire 프로젝트 템플릿은 앱 호스트 프로젝트를 솔루션의 시작 프로젝트로 설정합니다. 시작 프로젝트를 변경하면 디버깅 중에 .NET Aspire 대시보드 및 솔루션의 다른 측면이 올바르게 작동하지 않습니다.

대시보드 홈페이지에서는 애플리케이션을 구성하는 모든 리소스를 확인할 수 있습니다. 각 마이크로 서비스는 프로젝트로 나열됩니다. Redis Cache와 같은 지원 서비스는 컨테이너로 나열됩니다. 다른 구성 요소는 실행 파일로 존재할 수 있습니다. 각 리소스에 대한 자세한 세부 정보를 가져올 수 있습니다. 마이크로 서비스에는 엔드포인트 열도 있습니다. 브라우저에서 리소스에 연결하고 테스트하려면 이 열의 링크를 선택합니다.

대시보드에는 4개의 모니터링 섹션이 있습니다.

  • 콘솔 로그: 이 페이지에는 상단에서 선택한 프로젝트에서 표준 출력으로 전송된 모든 텍스트가 표시됩니다. 표준 출력은 이벤트나 상태 메시지를 보고하는 데 자주 사용됩니다.
  • 구조화된 로그: 이 페이지에는 OpenTelemetry 라이브러리에서 생성된 이벤트가 표시됩니다. 구조화된 로그는 메시지 템플릿과 매개 변수를 유지하므로 다른 로그 이벤트보다 쿼리하기가 더 쉽습니다.
  • 추적: 이 페이지에는 앱에서 수신한 각 요청에 대한 추적이 표시됩니다. 세부 정보에는 타임스탬프, 추적이 완료된 시간 및 추적 기간이 포함됩니다. 범위 열에는 요청과 관련된 모든 리소스가 표시됩니다. 세부 정보 열에서 보기를 선택하면 추적의 모든 범위와 기간을 보여 주는 타임라인을 볼 수 있습니다.
  • 메트릭: 이 페이지에는 선택한 메트릭에 대한 차트가 표시됩니다. 먼저 페이지 상단에서 프로젝트를 선택합니다. 그런 다음 활성 요청 수, 요청 기간, 연결 수 및 기타 성능 데이터와 같은 값이 포함된 메트릭 목록에서 선택합니다. 메트릭을 선택하면 실시간 차트가 표시됩니다. 차트 또는 필터의 시간 간격을 변경하여 더 많은 진단 정보를 드릴다운할 수 있습니다.

자세한 정보