# Hướng dẫn sử dụng Microsoft Dev Tunnel - Azure

## Giới thiệu Microsoft Dev Tunnel - Azure

Microsoft Dev Tunnel là giải pháp mở một đường hầm (tunnel) an toàn từ máy local lên Internet, giúp ban giám khảo hoặc khán giả truy cập trực tiếp vào ứng dụng hoặc API mà bạn đang chạy, không cần cấu hình router hay VPN phức tạp.

### Lợi ích chính

* Cấp truy cập từ xa an toàn, không phải mở port trực tiếp trên router.
    
* Loại bỏ bước NAT/port forwarding.
    
* Tương thích với mọi loại ứng dụng: .NET, Node.js, Python…
    

## Yêu cầu & chuẩn bị môi trường

### Yêu cầu hệ thống

* Hệ điều hành: Windows, macOS hoặc Linux.
    
* .NET SDK 6.0+ (dùng chung cho CLI và thư viện Dev Tunnel).
    
* Tài khoản Azure (miễn phí hoặc trả phí).
    
* Kết nối Internet ổn định.
    

### Cài đặt công cụ

1. **Azure CLI**
    
    * Windows: tải về và chạy installer từ [docs.microsoft.com](http://docs.microsoft.com).
        
    * macOS/Linux:
        
        ```bash
        curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
        ```
        
2. **Visual Studio Code** + extension **Dev Tunnel**
    
    * Mở VS Code → Marketplace → tìm “Dev Tunnel” → Install.
        

## Hướng dẫn sử dụng chi tiết

### Bước 1: Đăng nhập Azure trên CLI

```bash
az login
```

Lệnh này sẽ mở trình duyệt để bạn xác thực, sau đó CLI ghi nhớ thông tin đăng nhập.

### Bước 2: Tạo Dev Tunnel

```bash
az network dev-tunnel create \
  --name my-demo-tunnel \
  --port 3000 \
  --resource-group DemoRG \
  --location eastus \
  --auth-type aad
```

Trong đó:

* `--name`: tên định danh cho tunnel.
    
* `--port`: cổng local ứng dụng đang listen.
    
* `--resource-group`: nhóm tài nguyên Azure chứa tunnel.
    
* `--location`: vùng (region) Azure dùng hosting tunnel.
    
* `--auth-type`: phương thức xác thực (aad, none).
    

### Bước 3: Khởi động và chia sẻ URL

Sau khi chạy lệnh, CLI trả về URL công khai:

```plaintext
https://my-demo-tunnel.eastus.dev.azure.com
```

Copy URL và gửi cho ban giám khảo hoặc khán giả để truy cập trực tiếp nội dung demo.

### Bước 4: Dừng và xóa Dev Tunnel

```bash
az network dev-tunnel delete --name my-demo-tunnel --resource-group DemoRG
```

Lệnh này giúp bạn đóng kết nối và giải phóng tài nguyên, đảm bảo tính bảo mật.

## Giải thích các tham số cần chú ý

| Tham số | Mô tả | Giá trị mẫu |
| --- | --- | --- |
| `--name` | Tên định danh duy nhất cho tunnel | `my-demo-tunnel` |
| `--port` | Cổng trên máy local mà ứng dụng lắng nghe | `3000` |
| `--resource-group` | Nhóm tài nguyên Azure chứa tunnel | `DemoRG` |
| `--location` | Vùng Azure nơi tunnel được host | `eastus` |
| `--auth-type` | Phương thức xác thực: `aad` (Azure AD), `none` (không yêu cầu đăng nhập) | `aad` |
| `--ttl` | Thời gian tồn tại của tunnel (giờ), sau đó tunnel tự hết hạn | `24` |
| `--tags` | Gắn metadata cho tunnel, tiện quản lý và lọc | `env=demo` |
| `--subscription` | ID hoặc tên subscription Azure để tạo tunnel | `MySubID` |
| `--public-port` | Cổng công khai nếu cần map khác cổng ngoài Internet | `443` |
| `--protocol` | Giao thức: `http` hoặc `tcp` | `http` |

> Lưu ý: Điều chỉnh các giá trị cho phù hợp với môi trường và nhu cầu demo.

## Các lưu ý khi demo sản phẩm

* Chỉ chia sẻ URL với người cần xem, tránh công khai trên kênh công cộng.
    
* Đảm bảo máy local đủ tài nguyên (RAM/CPU) để chịu tải khi nhiều người truy cập.
    
* Chuẩn bị sẵn phương án dự phòng (ví dụ: ngrok) nếu gặp sự cố kết nối.
    

## Kết luận

Với Microsoft Dev Tunnel, bạn chỉ cần vài lệnh đơn giản để chia sẻ ứng dụng đang chạy local một cách an toàn và chuyên nghiệp. Hãy thực hành trước, kiểm tra mọi tham số kỹ lưỡng và chúc bạn thành công trong cuộc thi cũng như buổi thuyết trình sản phẩm!
