개발 터널 명령줄 참조
개발 터널은 개발 터널 만들고 관리하기 위한 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
옵션은 추가 진단 정보를 제공할 수 있는 디버깅 메시지를 출력합니다.