워크플로를 더 빠르게: 기존 배포 방식 대신 Visual Studio Dev Tunnels를 써야 하는 이유
By Mirko Peters ·
팟캐스트에 다시 오신 것을 환영합니다! 코드 한 줄을 바꾸고 테스트하려는데 클라우드 배포가 끝나기까지 15분을 기다려 본 적이 있다면…
Automatically translated with AI from the original post. Read the English original
팟캐스트에 다시 오신 것을 환영합니다! 코드 한 줄을 바꾸고 테스트하려고 클라우드 배포가 끝나기를 15분씩 기다려 본 적이 있다면, 그것이 생산성에 얼마나 큰 부담이 되는지 잘 아실 겁니다. 오늘은 우리 엔지니어링 팀이 로컬 테스트, 디버깅, 통합 작업을 처리하는 방식을 완전히 바꿔 놓은 주제를 더 자세히 살펴보겠습니다. 이번 내용과 관련된 팟캐스트 에피소드 Test Microsoft 365 Apps with Visual Studio Dev Tunnels도 함께 보시길 권합니다. 이 에피소드에서 이러한 작업 흐름을 실제로 어떻게 적용하는지 자세히 다룹니다.
이 종합 가이드에서는 기존 배포 방식이 왜 최신 터널링 솔루션에 밀려나고 있는지, Visual Studio Dev Tunnels가 내부적으로 어떻게 동작하는지, 그리고 이를 Microsoft 365, Teams, ASP.NET Core 프로젝트에 자연스럽게 통합하는 방법을 살펴봅니다.
Visual Studio Dev Tunnels를 활용한 로컬 테스트
로컬 테스트가 중요한 이유
사용자에게 공개하기 전에 Microsoft 365 앱이 완벽하게 동작하도록 만들고 싶을 것입니다. 로컬 테스트를 하면 안전한 환경에서 버그를 일찍 발견하고 코드가 어떻게 동작하는지 확인할 수 있습니다. 로컬에서 테스트하면 변경 사항을 빠르게 적용하고 결과를 바로 확인할 수 있습니다. 이 과정은 시간을 아껴 줄 뿐 아니라 운영 환경에서 나타날 수 있는 실수를 미리 피하는 데도 도움이 됩니다.
기존의 localhost 테스트에는 한계가 있습니다. 로컬 컴퓨터는 인터넷에서 들어오는 연결을 받을 수 없습니다. 그래서 웹후크, 인증 흐름, Microsoft 365 서비스와의 통합처럼 실제 환경의 접근이 필요한 기능을 테스트하기 어렵습니다. 실제 사용자가 앱을 어떻게 경험할지 시뮬레이션하지 못해 발목이 잡히는 경우가 생길 수 있습니다.
Dev Tunnels는 특히 로컬 서버를 설정해 테스트하는 데 어려움을 겪는 모바일 개발자들에게 웹 애플리케이션을 개발하고 테스트하는 방식을 혁신했습니다. 개발 과정을 단순하게 만들고 협업을 강화하는 게임 체인저 같은 기능입니다.
적절한 도구를 사용하면 이러한 과제를 극복할 수 있습니다. 내 컴퓨터에서 작업하는 경우에도 앱을 위한 현실에 가까운 환경을 만들 수 있습니다.
Dev Tunnels로 로컬 테스트하기
visual studio dev tunnels를 사용하면 localhost에서 Microsoft 365 앱을 테스트할 수 있습니다. 이 도구는 로컬 서비스를 인터넷에 안전하게 노출하는 방법을 제공합니다. Microsoft 365와 어떻게 연동되는지 확인하기 위해 코드를 Azure나 다른 클라우드 플랫폼에 배포할 필요가 없습니다.
Visual Studio Dev Tunnels는 로컬 애플리케이션을 인터넷에 안전하게 노출할 수 있게 해 줌으로써 기존 localhost 테스트를 강화합니다. 이 기능 덕분에 들어오는 연결을 받을 수 있어, 로컬 테스트에만 머무르는 한계를 넘어 Microsoft 365 앱을 보다 현실적인 환경에서 테스트할 수 있습니다.
Dev tunnels가 로컬 테스트의 속도와 보안을 개선하는 방식은 다음과 같습니다.
- Dev tunnels를 사용하면 로컬 서비스를 3분 이내에 보안이 적용된 클라우드 엔드포인트처럼 동작하게 만들 수 있습니다.
- Dev tunnels는 Microsoft 365 앱을 로컬에서 테스트할 때 안전한 인터넷 접근을 가능하게 합니다.
- 개발 환경이 외부에 노출되지 않도록 올바른 구성이 무엇보다 중요합니다.
몇 번의 클릭이나 명령만으로 터널을 설정할 수 있습니다. 터널의 이름과 공개 범위를 직접 선택하므로 앱에 접근할 수 있는 사용자를 직접 통제할 수 있습니다. 인증 기능을 사용해 작업 내용을 안전하게 보호할 수도 있습니다. 전체 컴퓨터를 공유하지 않고도 팀원과 협업하거나 테스터를 초대할 수 있다는 점에서 유연성이 높습니다.
Dev tunnels를 사용하면 OAuth 인증, Teams 봇, SharePoint 웹 파트 같은 기능을 마치 클라우드에서 실행되는 것처럼 테스트할 수 있습니다. 실시간으로 피드백을 받고 문제가 생기는 즉시 디버깅할 수 있습니다. 이렇게 하면 개발 주기가 더 빨라지고 안정적으로 진행됩니다.
개발 터널을 사용하면 배포하기 전에 코드에 대한 확신을 높일 수 있습니다. 내 컴퓨터에서만 동작하는 것이 아니라 실제 환경에서도 앱이 제대로 작동한다는 것을 알 수 있습니다.
Visual Studio 개발 터널 개요
주요 기능
Visual Studio 개발 터널을 사용하면 로컬 컴퓨터에서 Microsoft 365 앱을 테스트하고 디버그할 수 있는 강력한 방법을 얻을 수 있습니다. 몇 단계만으로 ASP.NET Core 서비스를 인터넷에 노출할 수 있습니다. 이 도구는 안전하고 유연한 개발 환경을 구성하는 데 도움이 됩니다.
유용하게 활용할 수 있는 주요 기능은 다음과 같습니다.
- 원격 URL을 사용하여 로컬 API를 노출할 수 있으므로 ASP.NET Core 프로젝트를 간편하게 테스트하고 디버그할 수 있습니다.
- 로컬 앱에 공개적으로 액세스 가능한 URL이 생기므로 타사 서비스와의 통합이 간단해집니다.
- localhost에 중단점을 설정하고, 원격 URL에 액세스할 때 ASP.NET Core 코드가 어떻게 응답하는지 확인할 수 있습니다.
- 명명된 터널을 사용하면 혼동 없이 특정 프로젝트나 서비스를 공유할 수 있습니다.
- 영구 터널을 사용하면 시간이 지나도 액세스를 유지할 수 있으며, 이는 지속적으로 진행되는 ASP.NET Core 프로젝트에 중요합니다.
- 터널의 액세스 수준을 선택할 수 있습니다. 비공개, 조직, 공개 중에서 고를 수 있으며, 이를 통해 누가 작업 내용을 볼 수 있는지 쉽게 제어할 수 있습니다.
- Entra ID 인증을 사용하면 유효한 자격 증명을 가진 사용자만 액세스할 수 있어 데이터를 안전하게 보호할 수 있습니다.
- CLI를 사용하면 터널을 관리하고 자동화할 수 있습니다. 명령을 사용하여 터널을 만들고, 나열하고, 태그를 지정하여 더 쉽게 관리할 수 있습니다.
팁: 영구 터널과 명명된 터널을 사용하면 ASP.NET Core 프로젝트를 다시 시작할 때마다 터널을 다시 만들 필요가 없습니다. 이렇게 하면 시간을 절약하고 오류도 줄일 수 있습니다.
개발 터널의 작동 방식
개발 터널은 로컬 ASP.NET Core 서버와 인터넷 사이에 안전한 연결 통로를 만듭니다. 이를 통해 실제 운영 환경에서 실행되는 것처럼 Microsoft 365 앱을 테스트할 수 있습니다.
보안 공개 엔드포인트
먼저 devtunnel CLI를 다운로드하여 설치합니다. Entra ID, Microsoft 또는 GitHub 계정으로 로그인한 후 로컬 ASP.NET Core 서버를 실행합니다. 그다음 devtunnel host –p PORT 명령을 사용하여 터널을 호스트하거나 만듭니다. 영구 URL이 필요하다면 영구 터널을 만드는 devtunnel create 명령을 사용합니다.
이 과정을 거치면 로컬 ASP.NET Core 서비스에 대해 인터넷에서 접근할 수 있는 안전한 엔드포인트가 생깁니다. 이제 공개 URL이 필요한 웹훅, 인증 흐름, 통합 기능을 테스트할 수 있습니다. Entra ID 인증을 사용하면 승인된 사용자만 터널에 액세스할 수 있으므로 데이터가 실수로 노출될 위험이 줄어듭니다.
Visual Studio 및 CLI와의 통합
Visual Studio에서는 개발 터널을 쉽게 만들고 관리할 수 있습니다. IDE 안에서 몇 번의 클릭만으로 터널을 설정할 수 있습니다. CLI에는 고정 수명 터널이나 더 나은 정리를 위한 태그 지정 등 더 많은 옵션이 있습니다. ASP.NET Core 프로젝트의 터널 생성을 자동화하여 워크플로를 더 빠르고 안정적으로 만들 수 있습니다.
또한 모든 터널을 나열하고, 세부 정보를 확인하고, 액세스 권한을 관리할 수 있습니다. 이러한 유연성 덕분에 팀과 협업하면서도 개발 환경을 안전하게 유지할 수 있습니다.
참고: 개발 터널은 로컬 ASP.NET Core 엔드포인트를 안전하게 인터넷에 노출하도록 설계되어, 테스트와 디버깅을 안전하고 효율적으로 수행할 수 있게 합니다.
Visual Studio에서 터널 호스트 또는 만들기
사전 요구 사항 및 설정
Microsoft 365 앱 테스트를 위해 터널을 호스트하거나 만들기 전에 환경을 준비해야 합니다. Visual Studio에는 필요한 도구가 갖추어져 있지만, 먼저 몇 가지 요구 사항을 충족해야 합니다. 시작하는 데 필요한 항목은 다음 표에 정리되어 있습니다.
| 사전 요구 사항 | 설명 |
|---|---|
| Visual Studio 2022 Preview | 버전 17.6 이상을 다운로드하십시오. ASP.NET 및 웹 개발 워크로드가 설치되어 있는지 확인하십시오. dev tunnels를 사용하려면 로그인하십시오. |
| Power Platform 환경 | Power Automate 또는 Power Apps 중 하나가 필요합니다. |
올바른 버전의 Visual Studio를 사용하고 있는지 확인해야 합니다. 설치 관리자를 열고 ASP.NET 및 웹 개발 워크로드가 활성화되어 있는지 확인하십시오. dev tunnels 도구 창에 액세스하려면 Microsoft 계정으로 로그인하십시오. ASP.NET Core 프로젝트를 Power Platform에 연결할 계획이라면 Power Automate 또는 Power Apps에 액세스할 수 있는지 확인하십시오.
팁: 도구를 최신 상태로 유지하면 설정 문제를 피할 수 있으며, dev tunnels 도구 창의 최신 기능을 사용할 수 있습니다.
터널 만들기 및 이름 지정
Visual Studio의 dev tunnels 도구 창에서 직접 터널을 만들 수 있습니다. 이 과정을 통해 Microsoft 365 앱 테스트를 위해 ASP.NET Core 서비스를 인터넷에 노출할 수 있습니다. 다음 단계에 따라 터널을 만들고 이름을 지정하십시오.
- 디버그 드롭다운에서 Dev Tunnels > Create A Tunnel을 선택하십시오.
- dev tunnels 도구 창에서 대화 상자가 열립니다. 사용하려는 계정을 선택하십시오.
- 터널의 이름을 입력하십시오. 이 이름을 사용하면 dev tunnels 도구 창에서 터널을 식별하는 데 도움이 됩니다.
- 터널 유형을 선택하십시오. 항상 같은 URL을 사용하려면 Persistent를, 세션마다 새 URL을 사용하려면 Temporary를 선택하십시오.
- 인증 유형을 선택하십시오: Private, Organization 또는 Public.
- 확인을 클릭하여 터널을 만드십시오.
터널을 만들면 ASP.NET Core 프로젝트를 Microsoft 365 서비스에 더 쉽게 연결할 수 있습니다. dev tunnels 도구 창은 터널을 체계적으로 정리하고 한눈에 보여 줍니다. 이 창에서 활성 터널을 언제든지 찾고 관리할 수 있습니다.
참고: 터널에 이름을 지정하면 본인과 팀이 어떤 ASP.NET Core 서비스가 노출되어 있는지 파악하는 데 도움이 됩니다. dev tunnels 도구 창에서 각 터널에 명확한 이름을 사용하십시오.
터널 가시성 설정
터널 가시성은 dev tunnels에 접근할 수 있는 사용자를 제어합니다. 터널을 만들 때 dev tunnels 도구 창에서 이 옵션을 설정합니다. 적절한 가시성 수준은 작업물을 보호하고 협업을 지원합니다.
주요 가시성 옵션은 다음과 같습니다.
| 가시성 옵션 | 설명 |
|---|---|
| Private | 본인만 터널에 접근할 수 있습니다. |
| Organization | 조직의 모든 사용자가 터널에 접근할 수 있습니다. 개인 계정의 경우 Private과 동일합니다. |
| Public | 인터넷의 누구나 터널에 접근할 수 있습니다. 신중하게 사용하십시오. |
- Private: 본인만 터널을 사용할 수 있습니다.
- Organization: 팀이나 회사가 터널을 사용할 수 있습니다.
- Public: 누구나 터널을 사용할 수 있습니다.
dev tunnels 도구 창에서 터널을 만들고 관리할 때 가시성을 변경할 수 있습니다. 적절한 가시성을 선택하면 트래픽을 모니터링하고 Microsoft 365 앱을 안전하게 유지하는 데 도움이 됩니다. Private 터널은 개인 개발에 가장 적합합니다. Organization 터널은 팀이 함께 테스트하는 데 도움이 됩니다. Public 터널은 외부 테스터를 허용하지만 각별한 주의가 필요합니다.
주의: Public 터널은 인증을 요구하지 않습니다. 앱을 조직 외부 사용자와 공유해야 할 때만 사용하고, 항상 dev tunnels 도구 창에서 접근 현황을 모니터링하십시오.
터널 가시성은 보안과 협업 모두에 영향을 줍니다. 적절한 수준을 설정하면 올바른 사람만 앱에 접근하도록 보장할 수 있습니다. 이를 통해 위험을 줄이고 팀이 원활하게 협업할 수 있습니다.
Dev Tunnels CLI 사용하기
Dev Tunnels CLI를 사용하면 명령줄에서 dev tunnels를 직접 관리할 수 있습니다. 이 도구는 특히 워크플로를 자동화하거나 Visual Studio 인터페이스 밖에서 작업하려는 경우에 유연성과 속도를 제공합니다. CLI는 간단한 테스트와 보다 고급 설정 모두에 적합합니다.
시작하려면 Dev Tunnels CLI를 설치해야 합니다. 터미널에서 다음 명령을 실행하여 설치할 수 있습니다.
dotnet tool install -g Microsoft.DevTunnels.Cli설치 후에는 로그인해야 합니다. Microsoft 계정, Entra ID 또는 GitHub 계정을 사용하십시오. 이 단계에서 CLI 세션이 Visual Studio 환경과 연결되며 안전한 접근이 보장됩니다.
devtunnel login로그인하면 터널을 만들고 관리할 수 있습니다. 다음은 로컬 프로젝트용 터널을 만드는 간단한 방법입니다.
devtunnel host -p 5000이 명령은 포트 5000에서 실행 중인 로컬 서비스를 인터넷에 노출합니다. CLI는 Microsoft 365 앱을 테스트하는 데 사용할 수 있는 공개 URL을 표시합니다. 이 URL을 팀과 공유하거나 통합 테스트에 사용할 수 있습니다.
사용자 지정 이름으로 영구 터널을 만들려면 다음 명령을 사용합니다:
devtunnel create my-tunnel --persistent
devtunnel host my-tunnel -p 5000이 방법을 사용하면 세션이 바뀌어도 같은 URL을 유지할 수 있으므로 OAuth 리디렉션 URI와 일관된 테스트에 유용합니다. CLI에서 터널 공개 범위를 직접 설정할 수도 있습니다. 예를 들어 터널을 조직 내에서만 접근할 수 있도록 하려면 --access organization 플래그를 추가합니다:
devtunnel create my-tunnel --persistent --access organization팁: 터널에는 명확하고 설명적인 이름을 사용하십시오. 그래야 여러 프로젝트를 Visual Studio에서 더 쉽게 관리하고 혼동을 줄일 수 있습니다.
언제든지 활성 상태인 모든 터널의 목록을 확인할 수 있습니다:
devtunnel list터널을 중지하려면 다음을 사용합니다:
devtunnel close my-tunnelCLI를 사용하면 스크립트에서 터널 생성을 자동화할 수도 있습니다. 빌드나 배포 프로세스의 일부로 Dev Tunnels를 설정해야 할 때 유용합니다. CLI 명령을 팀과 공유하면 모든 구성원이 같은 설정을 사용하게 되어 일관성이 높아지고 오류도 줄어듭니다.
참고: Dev Tunnels CLI는 Visual Studio와 원활하게 작동합니다. 터널 설정을 잃지 않고 CLI와 Visual Studio 인터페이스를 오갈 수 있습니다.
Dev Tunnels CLI를 익히면 개발 환경을 더 세밀하게 제어할 수 있습니다. 어떤 Microsoft 365 앱 프로젝트에서든 터널을 빠르게 만들고, 관리하고, 보호할 수 있습니다. 혼자 작업하든 팀의 일원으로 작업하든, 이러한 유연성 덕분에 앱을 더 효율적으로 테스트하고 디버깅할 수 있습니다.
Dev Tunnels용 Microsoft 365 앱 구성

앱 등록 및 리디렉션 URI 업데이트
Visual Studio를 통해 로컬 ASP.NET Core 프로젝트를 Microsoft 365 서비스에 연결하려면 앱 등록과 리디렉션 URI를 업데이트해야 합니다. 이 과정을 거치면 앱이 Dev Tunnels가 제공하는 보안 엔드포인트를 사용할 수 있습니다. 앱 등록을 설정하는 간단한 방법은 다음과 같습니다:
- Microsoft Entra ID – 앱 등록 포털을 엽니다.
- "새 등록"을 선택하고 앱 이름을 입력합니다.
- 앱에서 지원할 계정 유형을 선택합니다.
- 리디렉션 URI 필드는 지금은 비워 둡니다.
- "등록"을 클릭하여 앱을 만듭니다.
- 개요 페이지에서 애플리케이션(클라이언트) ID와 디렉터리(테넌트) ID를 복사합니다.
- "관리" 아래에서 "API 노출"을 선택합니다.
- "설정" 링크를 클릭하여 애플리케이션 ID URI를 생성합니다.
- "access_as_user"라는 이름의 범위를 추가합니다.
- "동의할 수 있는 사용자"를 "관리자 및 사용자"로 설정합니다.
- 관리자 동의 및 사용자 동의 메시지를 입력합니다.
- 상태가 "사용"으로 설정되어 있는지 확인합니다.
- "범위 추가"를 선택하여 완료합니다.
Visual Studio에서 터널을 만든 후에는 앱 등록의 리디렉션 URI를 업데이트해야 합니다. ASP.NET Core 터널의 공개 URL을 리디렉션 URI로 사용하십시오. 이 단계를 거치면 테스트 중에 Microsoft 365가 인증 응답을 어디로 보내야 하는지 알 수 있습니다.
팁: 클라이언트 ID와 테넌트 ID는 반드시 저장해 두십시오. 인증과 OAuth 설정에 필요합니다.
Teams, SharePoint 및 Power Platform 앱 연결
Visual Studio를 사용하면 ASP.NET Core 서비스를 Teams, SharePoint 및 Power Platform 앱에 연결할 수 있습니다. Dev Tunnels를 사용하면 이 과정이 안전하고 간단해집니다. 터널을 사용하면 터널 엔드포인트에 연결할 때 경고를 받게 됩니다. 이러한 경고는 피싱 공격과 민감한 URL의 실수로 인한 공유를 방지하는 데 도움이 됩니다.
- Teams 봇과 메시지 확장은 로컬 개발에 기본적으로 Dev Tunnels를 사용합니다. 이 구성을 사용하면 배포 전에 기능을 안전하게 테스트할 수 있습니다.
- SharePoint 웹 파트와 Power Platform 커넥터도 보안 엔드포인트의 이점을 누릴 수 있습니다. 실제 환경과 유사한 시나리오에서 웹후크, 인증, 데이터 흐름을 테스트할 수 있습니다.
- Microsoft 365 ID 인증은 보안의 또 다른 계층을 추가합니다. Visual Studio에서 터널을 만들고 관리하려면 Microsoft 365 계정으로 로그인해야 합니다.
참고: 보안 인식을 높이면 ASP.NET Core 앱을 테스트하는 동안 본인과 팀이 안전하게 작업하는 데 도움이 됩니다.
인증 및 OAuth 처리
Microsoft 365 앱이 Dev Tunnels와 함께 작동하도록 하려면 인증과 OAuth를 구성해야 합니다. 단계별 안내는 다음과 같습니다:
- Microsoft Entra ID 포털에서 앱을 등록합니다.
- 애플리케이션 URI를 Visual Studio의 터널 엔드포인트와 일치하도록 설정합니다.
- 토큰 교환에 사용할 클라이언트 비밀을 만듭니다.
- Microsoft Graph에 접근하도록 API 권한을 추가합니다.
- 리디렉션 URI를 ASP.NET Core 터널 URL을 사용하도록 업데이트합니다.
- 로컬 서비스를 호스팅하도록 Dev Tunnels를 설정합니다.
- 프로젝트 리포지토리를 복제하고 구성 파일에 클라이언트 ID, 테넌트 ID, 비밀 값을 업데이트합니다.
- Visual Studio를 열고 ASP.NET Core 프로젝트를 실행합니다.
이 설정을 통해 앱은 로그인, 토큰 교환, API 호출을 안전하게 처리할 수 있습니다. 프로덕션에 배포하기 전에 안전한 환경에서 OAuth 같은 인증 흐름을 테스트할 수 있습니다.
리디렉션 URI와 권한을 항상 다시 한번 확인하십시오. 이 단계는 흔히 발생하는 인증 오류를 방지하고 테스트 환경을 안전하게 유지하는 데 도움이 됩니다.
보안 및 모범 사례
터널 가시성 옵션
개발 환경에 접근할 수 있는 사용자는 터널 가시성을 설정하여 직접 제어할 수 있습니다. 터널을 만들 때 비공개, 조직, 공개 액세스 중에서 선택합니다. 비공개 터널은 본인만 연결할 수 있습니다. 조직 터널은 회사의 누구나 사용할 수 있습니다. 공개 터널은 링크를 가진 모든 사람에게 액세스를 허용합니다. 프로젝트에 필요한 가장 낮은 가시성을 항상 선택하십시오.
Microsoft 365 앱 테스트 중 보안을 극대화하려면 다음 모범 사례를 따르십시오.
- 가능하면 터널을 비공개 또는 조직 수준으로 설정하십시오.
- Office 365 애플리케이션에 대해 분할 터널링을 구현하십시오. 이 방법은 성능을 개선하고 데이터를 안전하게 유지합니다.
- 분할 터널링에는 Microsoft가 제공하는 IP 주소 범위를 사용하십시오. 정규화된 도메인 이름(FQDN) 사용은 피하십시오.
- Office 365 트래픽에 대한 SSL 가로채기를 비활성화하십시오. 이 단계는 Microsoft의 보안 권장 사항을 준수하는 데 도움이 됩니다.
- Microsoft 365 연결 테스트 도구를 사용하여 분할 터널링 정책이 제대로 작동하는지 확인하십시오.
- Office 365 도메인에 대해 SSL Break and Inspect를 끄십시오.
팁: 공유하기 전에 터널 가시성 설정을 검토하십시오. 이 습관은 개발 환경이 실수로 노출되는 것을 막는 데 도움이 됩니다.
Entra ID로 액세스 보호
Entra ID 인증을 요구하도록 설정하여 터널을 보호할 수 있습니다. 이 기능을 사용하면 승인된 사용자만 로컬 서비스에 액세스할 수 있습니다. Entra ID 인증을 사용하도록 설정하면 개발 터널에 강력한 보호 계층이 추가됩니다. 유효한 자격 증명을 가진 사용자만 연결할 수 있으므로 데이터를 안전하게 보호하는 데 도움이 됩니다.
Entra ID는 조직 단위 액세스도 지원합니다. 터널을 공개하지 않고도 팀 전체가 앱을 테스트하고 디버깅하도록 허용할 수 있습니다. 이 방식은 보안과 협업의 균형을 맞춰 줍니다. 민감한 프로젝트이거나 기밀 정보를 다루는 경우에는 항상 Entra ID 인증을 사용하십시오.
참고: Entra ID 인증은 Visual Studio 인터페이스와 명령줄 도구 모두에서 원활하게 작동합니다.
터널 모니터링 및 관리
안전하고 효율적인 작업 흐름을 유지하려면 터널을 모니터링하고 관리해야 합니다. Visual Studio에는 개발 터널을 관리하는 기능이 기본으로 포함되어 있습니다. IDE 내에서 활성 터널을 확인하고 상태를 점검하며 액세스 설정을 조정할 수 있습니다. 명령줄 인터페이스를 사용하면 터널을 빠르게 만들고, 나열하고, 닫을 수도 있습니다.
터널 관리를 위한 모범 사례는 다음과 같습니다.
- 활성 터널 목록을 정기적으로 검토하십시오.
- 테스트가 끝나면 터널을 닫아 보안 위험을 줄이십시오.
- 혼동을 피하도록 각 터널에 설명이 분명한 이름을 사용하십시오.
- 프로젝트 요구 사항에 따라 임시 터널과 영구 터널 중 하나를 선택하십시오.
- 보안 요구 사항에 맞게 액세스 제어를 설정하십시오.
표를 보면 터널 관리 옵션을 비교하는 데 도움이 됩니다.
| 관리 도구 | 기능 |
|---|---|
| Visual Studio IDE | 터널 보기, 만들기, 편집 및 닫기 |
| 명령줄(CLI) | 터널 생성 및 관리 자동화 |
기억하십시오: 터널을 잘 관리하면 개발 환경을 체계적이고 안전하게 유지할 수 있습니다.
피해야 할 일반적인 실수
Microsoft 365 앱 테스트에 Visual Studio Dev Tunnels를 사용할 때는 작업 속도를 떨어뜨리거나 프로젝트를 위험에 빠뜨릴 수 있는 실수를 피해야 합니다. 많은 개발자가 같은 문제를 겪습니다. 주의할 점을 알고 있으면 시간을 절약하고 환경을 안전하게 유지할 수 있습니다.
1. 잘못된 터널 가시성 선택
편의를 위해 공용 터널을 선택할 수도 있습니다. 하지만 이 선택으로 링크를 가진 누구에게나 앱이 노출될 수 있습니다. 테스트를 시작하기 전에 항상 터널의 공개 범위를 확인하십시오. 대부분의 프로젝트에서는 비공개 또는 조직용 터널을 사용하십시오. 외부 테스터가 필요한 경우에만 공용 터널을 사용하고, 액세스를 항상 모니터링하십시오.
팁: 팀원이나 테스터에게 URL을 공유하기 전에 터널 설정을 검토하십시오.
2. 리디렉션 URI 업데이트를 잊는 경우
터널 URL을 변경하면 앱 등록의 리디렉션 URI도 반드시 업데이트해야 합니다. 이 단계를 건너뛰면 인증이 실패합니다. 앱 등록이 현재 터널 엔드포인트와 일치하는지 항상 다시 확인하십시오.
3. 인증 설정을 무시하는 경우
터널에 Entra ID 인증을 활성화하는 것을 잊을 수 있습니다. 이 설정이 없으면 링크를 가진 누구나 로컬 서비스에 접근할 수 있습니다. 민감한 프로젝트에서는 항상 인증을 요구하십시오. 이 단계는 데이터와 사용자를 보호합니다.
4. 테스트 후 터널을 열어 두는 경우
테스트가 끝난 뒤에도 터널을 계속 실행해 두면 보안 위험이 커집니다. 사용하지 않는 터널은 원치 않는 접근의 대상이 될 수 있습니다. 더 이상 필요하지 않을 때는 항상 터널을 닫으십시오.
5. 일반적이거나 혼동되는 터널 이름을 사용하는 경우
터널 이름이 불명확하면 본인과 팀원이 혼란을 겪을 수 있습니다. 프로젝트나 서비스에 맞는 설명적인 이름을 사용하십시오. 이렇게 하면 여러 터널을 관리하고 실수를 줄이는 데 도움이 됩니다.
6. 로그 모니터링을 소홀히 하는 경우
터널 로그를 확인하지 않을 수 있습니다. 로그는 비정상적인 활동이나 무단 액세스를 찾아내는 데 도움이 됩니다. 로그를 정기적으로 검토하는 습관을 들이십시오.
| 함정 | 회피 방법 |
|---|---|
| 비공개 앱에 공용 터널 사용 | 터널을 비공개 또는 조직용으로 설정 |
| 오래된 리디렉션 URI | 터널 변경 후 앱 등록 업데이트 |
| 인증 없음 | Entra ID 인증 활성화 |
| 닫지 않은 터널 | 테스트 후 터널 닫기 |
| 모호한 터널 이름 | 명확하고 설명적인 이름 사용 |
| 로그 무시 | 의심스러운 활동이 있는지 로그 모니터링 |
참고: 각 테스트 세션 전후에 체크리스트를 따르면 대부분의 문제를 예방할 수 있습니다.
이러한 일반적인 함정에 주의를 기울이면 개발 프로세스를 원활하게 유지하고 Microsoft 365 앱을 안전하게 보호할 수 있습니다. 더 나은 습관을 기르고 팀이 불필요한 문제를 피하도록 도울 수 있습니다.
문제 해결 및 고급 팁
연결 문제 디버깅
터널을 사용할 때 연결 문제가 발생할 수 있습니다. 먼저 로컬 서비스가 실행 중이며 올바른 포트에서 수신 대기하고 있는지 확인하십시오. 명령줄을 사용하여 서비스가 요청에 응답하는지 확인하십시오. 오류가 표시되면 서비스를 다시 시작하고 다시 시도하십시오.
다음으로 방화벽 설정을 확인하십시오. 방화벽은 수신 연결을 차단할 수 있습니다. 터널에 사용하는 포트의 트래픽을 허용하십시오. VPN을 사용하는 경우 연결을 끊고 다시 테스트하십시오. VPN은 네트워크 설정을 변경하여 문제를 일으킬 수 있습니다.
여전히 문제가 있다면 devtunnel list 명령을 사용하여 활성 상태의 모든 터널을 확인하십시오. Microsoft 365 앱에서 올바른 터널 URL을 사용하고 있는지 확인하십시오. 잘못된 URL을 복사하면 연결 실패가 발생하는 경우가 종종 있습니다.
팁: 테스트와 디버깅을 시작하기 전에 항상 브라우저에서 터널 URL을 먼저 테스트하십시오. 이 단계는 간단한 실수를 초기에 발견하는 데 도움이 됩니다.
인증 오류 처리
인증 오류가 발생하면 앱이 Microsoft 365 서비스와 작동하지 않을 수 있습니다. 먼저 Microsoft Entra ID 포털에서 앱 등록을 확인하십시오. 리디렉션 URI가 터널 URL과 정확히 일치하는지 확인하십시오. 아주 작은 오타도 실패의 원인이 될 수 있습니다.
클라이언트 ID와 비밀 값을 검토하십시오. 이 값은 앱 구성에 설정한 값과 일치해야 합니다. 터널을 변경하거나 새로 만든 경우 앱 등록의 리디렉션 URI를 업데이트하십시오.
"unauthorized" 메시지가 표시되면 터널의 공개 범위와 인증 설정을 확인하십시오. 민감한 프로젝트에서는 항상 Entra ID 인증을 사용하십시오. 이 단계는 데이터를 안전하게 유지하고 원치 않는 접근을 막아 줍니다.
참고: 대부분의 인증 오류는 URL 불일치 또는 권한 누락에서 발생합니다. 디버깅 중에 이 설정들을 다시 확인하십시오.
고급 CLI 및 자동화
Dev Tunnels CLI를 사용하면 작업 흐름을 자동화할 수 있습니다. 자동화는 시간을 절약하고 실수를 줄여 줍니다. 예를 들어 터널을 만들고, 로컬 서비스를 시작하고, 브라우저에서 테스트 페이지를 여는 스크립트를 작성할 수 있습니다.
다음은 Windows PowerShell용 샘플 스크립트입니다:
devtunnel create my-automation-tunnel --persistent --access organization
devtunnel host my-automation-tunnel -p 5000
Start-Process "https://my-automation-tunnel.devtunnels.ms"이런 스크립트는 팀과 공유할 수 있습니다. 모든 구성원이 테스트와 디버깅에 같은 설정을 사용할 수 있습니다. 이 방식은 협업을 돕고 구성 오류를 줄여 줍니다.
모든 터널을 한 번에 닫으려면 다음을 사용합니다:
devtunnel close --all터널 관리를 자동화하면 개발 프로세스가 더 매끄럽고 안정적으로 진행됩니다. 반복되는 작업에는 스크립트를 사용해 보십시오.
visual studio dev tunnels를 활용하면 Microsoft 365 앱 개발을 한층 빠르게 진행할 수 있습니다. 이 도구는 테스트를 더 빠르고 안전하게 만들어 줍니다. 먼저 첫 번째 터널을 설정하고, 가시성과 인증에 관한 모범 사례를 따르십시오. 고급 기능을 살펴보면 작업 흐름을 더욱 개선할 수 있습니다. 테스트와 앱 개발을 이어 가면서 보안과 팀워크에 계속 집중하십시오.
Visual Studio Dev Tunnels 체크리스트
Visual Studio Dev Tunnels를 구성하고, 사용하고, 문제를 해결하기 위한 간단한 체크리스트입니다.
- Visual Studio 버전이 Visual Studio Dev Tunnels를 지원하는지 확인(Visual Studio 2022 이상 / 필요한 워크로드 설치됨)
- 필요한 경우 dev tunnels 확장 또는 CLI 구성 요소를 설치하거나 업데이트
- 터널 액세스에 사용하는 Microsoft 계정 또는 AAD 테넌트에 로그인
- Visual Studio 또는 dev tunnels CLI에서 새 dev tunnel 만들기
- 지연 시간을 줄일 수 있도록 올바른 터널 이름과 리전을 선택하고 확인
- 터널을 통해 노출할 로컬 엔드포인트(포트)를 선택하고 구성
- 프로토콜(HTTP/HTTPS 또는 TCP)을 확인하고, HTTPS를 노출하는 경우 TLS를 활성화
- 필요하면 사용자 지정 도메인 또는 하위 도메인을 구성하고 예약
- 액세스 정책 설정: 공개, 인증된 사용자, 또는 특정 AAD 사용자/그룹
- 터널의 아웃바운드 트래픽을 허용하도록 방화벽과 라우터 설정 확인
- 로컬 앱이 실행 중이며 구성된 포트에서 수신 대기하는지 확인
- 외부 기기나 협업자에서 터널 연결 테스트
- 운영 환경에서 민감한 엔드포인트에는 HTTPS와 유효한 인증서 사용
- 자격 증명과 토큰을 주기적으로 교체하고, 사용하지 않는 토큰은 취소
- Visual Studio 또는 포털 대시보드에서 활성 터널 세션과 사용량 모니터링
- 노출하는 경로를 제한하고 필요한 엔드포인트만 전달
- 로깅을 활성화하고 터널 로그를 검사하여 연결 오류나 성능 문제 확인
- 흔한 문제 해결: 포트 충돌, 인증 실패, 리전 불일치
- 보안 수정 사항을 적용하기 위해 Visual Studio와 dev tunnel 도구를 정기적으로 업데이트
- 비활성 터널을 닫거나 삭제하여 공격 표면과 리소스 사용량 줄이기
결론
요약하면, 기존 클라우드 배포 대신 Visual Studio Dev Tunnels를 활용하면 개발자는 피드백 루프를 크게 단축하고, 클라우드 인프라 비용을 최소화하며, 완전한 정확도로 로컬 디버깅을 할 수 있습니다. 웹 후크, Teams 앱, 최신 API를 구축하든 이 기본 제공 기능이 번거로움을 없애 줍니다. 이 개념을 더 깊이 살펴보고 실시간 워크스루를 보려면 관련 에피소드 Test Microsoft 365 Apps with Visual Studio Dev Tunnels를 꼭 들어 보십시오.