Share via


개발 터널 명령줄 참조

개발 터널은 개발 터널 만들고 관리하기 위한 CLI(명령줄 인터페이스) 도구를 제공합니다. 이 문서에서는 다양한 devtunnel CLI 명령에 대한 구문 및 매개 변수를 설명합니다.

Important

이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 사용하지 않는 것이 좋습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다.

참고 항목

devtunnel CLI 명령은 미리 보기로 제공됩니다. 명령 이름 및 옵션은 이후 릴리스에서 변경될 수 있습니다.

글로벌 옵션

  • -v, --verbose: 자세한 정보 표시 출력을 사용하도록 설정합니다.
  • -?, -h, --help: 도움말 및 사용 정보를 표시합니다.

사용자 자격 증명 관리

개발 터널 서비스는 개발 터널 대한 관리 및 액세스 권한을 부여하기 위해 로그인이 필요합니다. 기본적으로 개발 터널은 개발 터널을 만든 사용자만 액세스할 수 있지만 해당 사용자는 다른 사용자에게 액세스 권한을 부여할 수 있습니다.

로그인한 후 로그인 토큰은 시스템 보안 키 체인에 캐시되며 만료되기 며칠 전에 유효합니다. CLI에서 로그아웃하면 캐시된 토큰이 지워지지만 브라우저 쿠키는 지워지지 않습니다. 브라우저를 사용하여 개발 터널을 인증한 경우 개발 터널 액세스 토큰이 포함될 수 있습니다.

명령 설명
devtunnel user login Microsoft 또는 GitHub 계정으로 로그인합니다.
devtunnel user logout 캐시된 토큰 지우기
devtunnel user show 현재 로그인 상태 표시

devtunnel login 로깅 및 devtunnel logout 로그아웃을 위한 약식 명령입니다.

다음은 이러한 명령을 사용하는 몇 가지 예입니다.

예제 설명
devtunnel user login Microsoft 조직(Microsoft Entra ID) 또는 개인 계정 로그인
devtunnel user login -g GitHub 계정으로 로그인
devtunnel user login -d 로컬 대화형 브라우저 로그인이 불가능한 경우 디바이스 코드 로그인사용하여 GitHub 계정으로 로그인
devtunnel user login -g -d 로컬 대화형 브라우저 로그인이 불가능한 경우 디바이스 코드 로그인사용하여 GitHub 계정으로 로그인

개발 터널 호스트

devtunnel host는 개발 터널을 호스트하는 데 사용되는 기본 명령입니다. 이 명령은 개발 터널을 통해 액세스할 수 있는 서버를 실행하는 호스트 시스템에서 실행되어야 합니다.

명령 설명
devtunnel host 개발 터널을 호스트합니다. 개발 터널 ID를 지정하지 않으면 연결이 닫힌 후 삭제되는 새 임시 개발 터널이 만들어집니다.

다음은 이 명령을 사용하는 몇 가지 예입니다.

예제 설명
devtunnel host -p 3000 호스트 시스템에서 포트 3000을 수신 대기하는 서버에 대한 임시 개발 터널을 호스트합니다.
devtunnel host -p 3000 --allow-anonymous 임시 개발 터널을 호스트하고 익명 클라이언트 액세스를 사용하도록 설정합니다.
devtunnel host -p 3000 5000 포트 3000 및 5000에서 수신 대기하는 로컬 서버에 대한 임시 개발 터널을 호스트합니다.
devtunnel host -p 8443 --protocol https HTTPS 프로토콜을 사용하는 포트 8443에서 수신 대기하는 서버에 대한 임시 개발 터널을 호스트합니다.
devtunnel host -p 8000 --expiration 2d 사용자 지정 만료 시간을 사용하여 임시 개발 터널을 호스트합니다. 최소값은 1시간(1시간)이고 최대값은 30일(30d)입니다.
devtunnel host TUNNELID 이전에 구성한 기존 개발 터널을 호스트합니다.

Warning

개발 터널에 대한 익명 액세스를 허용한다는 것은 인터넷의 모든 사용자가 개발 터널 ID를 추측할 수 있는 경우 로컬 서버에 연결할 수 있음을 의미합니다.

Control-C를 눌러 개발 터널 호스트 프로세스를 중지하고 개발 터널을 통해 클라이언트 연결을 종료합니다. 기존 개발 터널이 제공되지 않은 경우 프로세스에서 자동으로 생성된 개발 터널은 프로세스 종료 시 삭제됩니다.

개발 터널에 커넥트

웹 전달 UI 사용:

devtunnel host 명령은 다음과 유사한 출력을 표시합니다.

Hosting port 3000 at https://l3rs99qw-3000.usw2.devtunnels.ms/

표시된 https: URI는 개발 터널 포트에 고유합니다. 첫 번째 구성 요소는 지정된 개발 터널 ID 및 포트 번호를 포함하는 하위 기본.

호스트된 포트가 웹 서버에 연결하는 경우 해당 URI는 어디서나 브라우저에서 직접 열 수 있습니다. 개발 터널에 액세스하려면 권한 부여가 필요한 경우 URI에 대한 초기 요청은 로그인 페이지로 리디렉션되고 사용자에게 권한이 부여된 후 사이트로 돌아갑니다.

호스트된 포트가 웹 서비스에 연결하는 경우 웹 서비스 클라이언트 애플리케이션에서 해당 URI를 기본 URI로 사용할 수 있습니다. 그러나 개발 터널에서 익명 액세스를 허용하지 않는 경우 웹 서비스 클라이언트는 일반적으로 인증 방법을 모릅니다. 웹 서비스가 공개적으로 노출되는 것이 안전한 경우 익명 액세스를 허용하는 것이 좋습니다. 그렇지 않으면 웹 서비스 클라이언트가 개발 터널 액세스 토큰을 사용하여 요청 헤더를 추가하여 연결 권한을 부여할 수 있습니다.

CLI 사용:

클라이언트 브라우저 또는 애플리케이션을 개발 터널 릴레이 URI에 직접 연결하는 대신 CLI를 사용하여 클라이언트의 포트에서 개발 터널 포트로 연결을 전달할 수 있습니다. 개발 터널에서 익명 액세스를 허용하지 않는 경우 클라이언트가 로그인해야 할 수도 있습니다.

devtunnel connect TUNNELID
  • 호스트에서 사용된 것과 동일한 개발 터널 ID로 바꿉 TUNNELID 니다.

성공한 클라이언트 출력은 다음과 유사합니다.

Connected to tunnel: l3rs99qw
SSH: Forwarding from 127.0.0.1:3000 to host port 3000.
SSH: Forwarding from [::1]:3000 to host port 3000.

이제 호스트의 포트 3000에서 공유된 서버는 IPv4 또는 IPv6을 사용하여 클라이언트에서 localhost:3000 사용할 수 있습니다. ("SSH" 접두사는 개발 터널 서비스가 포트 전달을 위한 표준 SSH 프로토콜을 기반으로 빌드하기 때문입니다.) 호스트된 포트가 웹 서버에 http://localhost:3000/ 연결하는 경우 브라우저에서 열 수 있습니다. 이 경우 필요한 경우 클라이언트의 CLI 로그인 토큰을 사용하여 연결 권한을 부여했기 때문에 추가 권한 부여가 필요하지 않습니다.

고급: 개발 터널 관리

아직 호스팅하지 않고 개발 터널을 만들 수 있습니다. 이 기능은 다음과 같은 고급 개발 터널 구성 및 관리에 유용합니다.

  • 모든 소유 개발 터널 나열
  • 개발 터널의 포트 추가 및 제거
  • 개발 터널 액세스 제어 관리
  • 설명 및 태그와 같은 개발 터널에 메타데이터 추가
명령 설명
devtunnel create 영구 개발 터널 만들기
devtunnel list 목록 개발 터널
devtunnel show 개발 터널 세부 정보 표시
devtunnel update 개발 터널 속성 업데이트
devtunnel delete 개발 터널 삭제
devtunnel delete-all 모든 개발 터널 삭제

다음은 이러한 명령을 사용하는 몇 가지 예입니다.

예제 설명
devtunnel create -a 익명 액세스를 허용하는 영구 개발 터널을 만듭니다.
devtunnel create -d 'my tunnel description' 검색할 수 없는 설명을 사용하여 영구 개발 터널을 만듭니다.
devtunnel create --expiration 4h 사용자 지정 만료 시간을 사용하여 영구 개발 터널을 만듭니다. 최소값은 1시간(1시간)이고 최대값은 30일(30d)입니다.
devtunnel create myTunnelID 사용자 지정 터널 ID를 사용하여 영구 개발 터널을 만듭니다.
devtunnel create --tags my-web-app v1 영구 개발 터널을 만들고 검색 가능한 태그를 적용합니다.
devtunnel list --tags my-web-app 지정된 태그가 있는 개발 터널 나열합니다.
devtunnel list --all-tags my-web-app v1 지정된 모든 태그가 있는 개발 터널 나열합니다.
devtunnel show 마지막으로 사용한 개발 터널의 세부 정보를 표시합니다.
devtunnel show TUNNELID 개발 터널에 대한 세부 정보를 표시합니다.
devtunnel update TUNNELID -d 'my new tunnel description' 개발 터널에 대한 설명을 업데이트합니다.
devtunnel update TUNNELID --remove-tags 개발 터널에서 모든 태그를 제거합니다.
devtunnel update TUNNELID --expiration 10d 새 사용자 지정 만료 시간으로 개발 터널을 업데이트합니다. 최소값은 1시간(1시간)이고 최대값은 30일(30d)입니다.
devtunnel delete TUNNELID 개발 터널을 삭제합니다.
devtunnel delete-all 모든 개발 터널 삭제합니다.

대부분의 CLI 명령은 마지막으로 사용한 개발 터널에서 암시적으로 작동하지만 필요한 경우 개발 터널 ID를 지정하는 옵션이 있습니다.

고급: 개발 터널 포트 관리

명령을 사용하여 devtunnel create 만든 개발 터널에는 처음에 포트가 없습니다. 명령을 사용하여 devtunnel port 호스팅하기 전에 포트를 추가합니다.

명령 설명
devtunnel port create 개발 터널 포트 만들기
devtunnel port list 개발 터널 포트 나열
devtunnel port show 개발 터널 포트 세부 정보 표시
devtunnel port update 개발 터널 포트 속성 업데이트
devtunnel port delete 개발 터널 포트 삭제
예제 설명
devtunnel port create -p 3000 --protocol http 지정된 프로토콜을 사용하여 포트 추가
devtunnel port list TUNNELID 현재 포트 나열
devtunnel port show TUNNELID -p 3000 포트 3000에 대한 세부 정보 표시
devtunnel port update -p 3000 --description 'frontend port' 개발 터널 포트 설명 업데이트
devtunnel port delete -p 3000 포트 삭제

포트를 만들 때 자동 검색이 제대로 작동하지 않는 경우 필요에 따라 프로토콜을 지정할 수 있습니다. 현재 옵션은 "http", "https" 또는 "auto"(기본값)입니다. 호스트된 포트가 HTTPS인 경우 포트 프로토콜을 "https"로 설정하는 것이 좋습니다. 그렇지 않으면 "auto"가 괜찮을 것입니다.

위의 명령을 사용하여 개발 터널을 구성한 후 호스팅을 시작합니다.

devtunnel host

고급: 개발 터널 액세스 관리

다음 명령을 사용하면 익명 액세스를 허용하지 않고 개발 터널에 대한 다른 클라이언트 액세스를 제공하기 위해 개발 터널 액세스 토큰을 발급할 수 있습니다. 액세스 제어 항목 명령을 사용하면 개발 터널 및 개발 터널 포트에서 액세스 제어를 구성할 수 있습니다.

명령 설명
devtunnel token 개발 터널 액세스 토큰 발급
devtunnel access create 액세스 제어 항목 만들기
devtunnel access list 액세스 제어 항목 나열
devtunnel access delete 액세스 제어 항목 삭제
devtunnel access reset 액세스 제어 항목을 기본값으로 다시 설정

다음은 이러한 명령을 사용하는 몇 가지 예입니다.

예제 설명
devtunnel token TUNNELID --scopes connect 개발 터널에 대한 임시 액세스를 제공하기 위해 공유할 수 있는 개발 터널에 대한 '연결' 액세스 토큰을 가져옵니다.
devtunnel access create TUNNELID --anonymous 개발 터널에서 익명 클라이언트 액세스를 사용하도록 설정합니다.
devtunnel access create TUNNELID --anonymous --expiration 4h 사용자 지정 액세스 제어 만료 시간을 사용하여 개발 터널에서 익명 클라이언트 액세스를 사용하도록 설정합니다. 최소값은 1시간(1시간)이고 최대값은 30일(30d)입니다.
devtunnel access create TUNNELID --port 3000 --anonymous 포트 3000에서 익명 클라이언트 액세스를 사용하도록 설정합니다.
devtunnel access create TUNNELID --tenant 개발 터널에서 현재 Microsoft Entra 테넌트 액세스를 사용하도록 설정합니다.
devtunnel access create TUNNELID --org ORG 개발 터널에서 이름으로 GitHub 조직 액세스를 사용하도록 설정합니다.

GitHub 조직에 액세스하려면 Dev Tunnels GitHub 앱을 조직에 설치해야 합니다.

추가 명령

이러한 명령은 마지막으로 사용한 개발 터널의 로컬 캐시를 명시적으로 설정하거나 설정 해제해야 하는 경우 사용할 수 있습니다.

명령 설명
devtunnel set 기본 개발 터널 설정
devtunnel unset 기본 개발 터널 지우기

진단 명령

명령 설명
devtunnel clusters 위치별로 사용 가능한 서비스 클러스터 나열
devtunnel echo 로컬 포트에서 진단 에코 서버 실행
devtunnel ping 원격 에코 서버에 진단 메시지 보내기
예제 설명
devtunnel clusters --ping 측정된 대기 시간을 기준으로 정렬된 사용 가능한 서비스 클러스터를 나열합니다.
devtunnel echo http --port 8080 --interface 127.0.0.1 포트 8080에서 로컬 http 진단 서버를 시작합니다.

문제 해결

CLI 관련 문제를 devtunnel 해결하기 위해 다음 팁이 유용할 수 있습니다.

  • 최신 버전의 devtunnel CLI를 사용 중인지 확인합니다. 를 사용하여 현재 설치된 버전을 devtunnel --version확인합니다.
  • --verbose 옵션은 추가 진단 정보를 제공할 수 있는 디버깅 메시지를 출력합니다.