# VS Code Server (Linux) 多用戶環境手動部署指南
## 📋 目錄
1. [概述](#概述)
2. [系統需求](#系統需求)
3. [架構設計](#架構設計)
4. [手動部署步驟](#手動部署步驟)
5. [用戶管理](#用戶管理)
6. [安全性配置](#安全性配置)
7. [故障排除](#故障排除)
8. [維護和監控](#維護和監控)
9. [擴展和自動化](#擴展和自動化)
## 概述
本指南將協助您手動建立一個多用戶的 VS Code Server 環境,其中每個 Linux 用戶都擁有自己獨立的 code-server 實例。這種架構確保了完全的用戶隔離,每個用戶只能存取自己的家目錄,無法跨用戶瀏覽或存取資料。
### 🎯 主要特色
- **完全用戶隔離**: 每個用戶只能存取自己的家目錄
- **獨立服務**: 每個用戶有自己的 systemd 服務
- **獨立端口**: 每個用戶使用不同的端口
- **獨立配置**: 每個用戶有自己的密碼和配置
- **嚴格權限控制**: 基於 Linux 用戶權限的安全機制
- **自動重啟**: systemd 服務自動重啟機制
- **完整日誌**: 詳細的安裝和運行日誌
### 🏗️ 架構概念
```
┌─────────────────────────────────────────────────────────────┐
│ EC2 Instance (Amazon Linux 2023) │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ User: apple │ │ User: orange │ │
│ │ Port: 8080 │ │ Port: 8081 │ │
│ │ PID: 6763 │ │ PID: 6882 │ │
│ └─────────────────┘ └─────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Global code-server Installation │
│ /opt/code-server │
├─────────────────────────────────────────────────────────────┤
│ systemd Services │
│ code-server-apple.service │
│ code-server-orange.service │
└─────────────────────────────────────────────────────────────┘
```
## 系統需求
### AWS 資源需求
- **EC2 實例**: t3.medium 或更高規格
- **作業系統**: Amazon Linux 2023
- **儲存空間**: 至少 20GB EBS 儲存
- **網路**: 公共 IP 和適當的安全群組設定
- **記憶體**: 建議 4GB 以上(每個用戶約需 200-500MB)
### 本地環境需求
- AWS CLI 已安裝並配置
- SSH 客戶端
- 具備 EC2、VPC 和 IAM 權限的 AWS 帳戶
- 基本的 Linux 系統管理知識
### 軟體需求
- Node.js (會自動安裝)
- code-server 4.9.1 (相容版本)
- systemd (Amazon Linux 2023 內建)
- 基本開發工具 (git, curl, wget 等)
## 架構設計
### 用戶隔離機制
1. **Linux 用戶隔離**: 每個 VS Code Server 實例以不同的 Linux 用戶身份運行
2. **檔案系統隔離**: 每個用戶只能存取自己的家目錄
3. **程序隔離**: 每個用戶有獨立的 code-server 程序
4. **網路隔離**: 每個用戶使用不同的端口
### 服務架構
```
用戶 apple:
├── Linux User: apple
├── Home Directory: /home/apple/
├── Workspace: /home/apple/workspace/
├── Config: /home/apple/.config/code-server/
├── Service: code-server-apple.service
├── Port: 8080
└── Process: PID 6763
用戶 orange:
├── Linux User: orange
├── Home Directory: /home/orange/
├── Workspace: /home/orange/workspace/
├── Config: /home/orange/.config/code-server/
├── Service: code-server-orange.service
├── Port: 8081
└── Process: PID 6882
```
## 手動部署步驟
### 步驟 1: 建立 AWS 基礎設施
#### 1.1 建立 SSH 金鑰對
```bash
# 建立新的金鑰對
aws ec2 create-key-pair \
--key-name multi-user-vscode-key \
--region us-east-1 \
--query 'KeyMaterial' \
--output text > multi-user-vscode-key.pem
# 設定金鑰權限
chmod 400 multi-user-vscode-key.pem
```
#### 1.2 建立安全群組
```bash
# 建立安全群組
SECURITY_GROUP_ID=$(aws ec2 create-security-group \
--group-name multi-user-vscode-sg \
--description "Multi-User VS Code Server Security Group" \
--region us-east-1 \
--query 'GroupId' --output text)
echo "安全群組 ID: $SECURITY_GROUP_ID"
```
#### 1.3 設定安全群組規則
```bash
# 開放 SSH 端口 (22)
aws ec2 authorize-security-group-ingress \
--group-id $SECURITY_GROUP_ID \
--protocol tcp \
--port 22 \
--cidr 0.0.0.0/0 \
--region us-east-1
# 開放 VS Code Server 端口 (8080-8090,預留給多個用戶)
for port in {8080..8090}; do
aws ec2 authorize-security-group-ingress \
--group-id $SECURITY_GROUP_ID \
--protocol tcp \
--port $port \
--cidr 0.0.0.0/0 \
--region us-east-1
done
```
### 步驟 2: 啟動 EC2 實例
#### 2.1 建立用戶資料腳本
建立 `user-data-multi-user.sh` 檔案:
```bash
#!/bin/bash
# 多用戶 VS Code Server 初始化腳本
exec > >(tee /var/log/multi-user-vscode-install.log) 2>&1
log_info() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [INFO] $1"
}
log_error() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [ERROR] $1"
}
log_info "開始多用戶 VS Code Server 初始化..."
# 更新系統
log_info "更新系統套件..."
dnf update -y
# 安裝必要套件
log_info "安裝必要套件..."
dnf install -y curl wget tar gzip nodejs npm git htop net-tools
# 下載並安裝 code-server(全域安裝)
log_info "下載 code-server..."
cd /tmp
DOWNLOAD_URL="https://github.com/coder/code-server/releases/download/v4.9.1/code-server-4.9.1-linux-amd64.tar.gz"
# 重試機制下載
for i in {1..3}; do
if wget "$DOWNLOAD_URL" -O code-server.tar.gz; then
log_info "code-server 下載成功"
break
else
log_error "下載失敗,重試 $i/3"
sleep 5
fi
done
# 解壓並安裝到全域位置
log_info "安裝 code-server..."
tar -xzf code-server.tar.gz
mv code-server-4.9.1-linux-amd64 /opt/code-server
ln -sf /opt/code-server/bin/code-server /usr/local/bin/code-server
# 建立管理腳本目錄
mkdir -p /opt/vscode-management
log_info "基礎環境設定完成,準備建立用戶..."
# 建立完成標記
touch /tmp/base-install-complete
```
#### 2.2 啟動實例
```bash
# 啟動 EC2 實例
INSTANCE_ID=$(aws ec2 run-instances \
--image-id ami-0c02fb55956c7d316 \
--count 1 \
--instance-type t3.medium \
--key-name multi-user-vscode-key \
--security-group-ids $SECURITY_GROUP_ID \
--user-data file://user-data-multi-user.sh \
--tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=Multi-User-VSCode-Server},{Key=Project,Value=MultiUserVSCode}]" \
--region us-east-1 \
--query 'Instances[0].InstanceId' \
--output text)
echo "實例已啟動: $INSTANCE_ID"
```
#### 2.3 等待實例啟動
```bash
# 等待實例運行
aws ec2 wait instance-running --instance-ids $INSTANCE_ID --region us-east-1
# 獲取公共 IP
PUBLIC_IP=$(aws ec2 describe-instances \
--instance-ids $INSTANCE_ID \
--region us-east-1 \
--query 'Reservations[0].Instances[0].PublicIpAddress' \
--output text)
echo "實例公共 IP: $PUBLIC_IP"
```
### 步驟 3: 建立用戶和配置
等待實例完全啟動後(約 3-5 分鐘),SSH 連線到實例進行用戶設定。
#### 3.1 SSH 連線到實例
```bash
# SSH 連線
ssh -i multi-user-vscode-key.pem ec2-user@$PUBLIC_IP
```
#### 3.2 建立第一個用戶 (apple)
在實例上執行以下指令:
```bash
# 設定變數
USERNAME="apple"
USER_PORT="8080"
USER_PASSWORD="appleCode2024!"
# 建立用戶
sudo useradd -m -s /bin/bash "$USERNAME"
echo "$USERNAME:$USER_PASSWORD" | sudo chpasswd
# 建立工作目錄
sudo -u "$USERNAME" mkdir -p "/home/$USERNAME/workspace"
sudo -u "$USERNAME" mkdir -p "/home/$USERNAME/.config/code-server"
# 建立配置檔案
sudo tee "/home/$USERNAME/.config/code-server/config.yaml" > /dev/null << EOF
bind-addr: 0.0.0.0:$USER_PORT
auth: password
password: $USER_PASSWORD
cert: false
disable-telemetry: true
disable-update-check: true
EOF
# 設定檔案權限
sudo chown "$USERNAME:$USERNAME" "/home/$USERNAME/.config/code-server/config.yaml"
sudo chmod 600 "/home/$USERNAME/.config/code-server/config.yaml"
```
#### 3.3 建立 systemd 服務 (apple)
```bash
# 建立 systemd 服務檔案
sudo tee "/etc/systemd/system/code-server-$USERNAME.service" > /dev/null << EOF
[Unit]
Description=VS Code Server for $USERNAME
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=$USERNAME
Group=$USERNAME
ExecStart=/usr/local/bin/code-server --config /home/$USERNAME/.config/code-server/config.yaml /home/$USERNAME/workspace
WorkingDirectory=/home/$USERNAME/workspace
Environment=HOME=/home/$USERNAME
[Install]
WantedBy=multi-user.target
EOF
# 啟用並啟動服務
sudo systemctl daemon-reload
sudo systemctl enable "code-server-$USERNAME"
sudo systemctl start "code-server-$USERNAME"
# 檢查服務狀態
sudo systemctl status "code-server-$USERNAME"
```
#### 3.4 建立第二個用戶 (orange)
```bash
# 設定變數
USERNAME="orange"
USER_PORT="8081"
USER_PASSWORD="orangeCode2024!"
# 建立用戶
sudo useradd -m -s /bin/bash "$USERNAME"
echo "$USERNAME:$USER_PASSWORD" | sudo chpasswd
# 建立工作目錄
sudo -u "$USERNAME" mkdir -p "/home/$USERNAME/workspace"
sudo -u "$USERNAME" mkdir -p "/home/$USERNAME/.config/code-server"
# 建立配置檔案
sudo tee "/home/$USERNAME/.config/code-server/config.yaml" > /dev/null << EOF
bind-addr: 0.0.0.0:$USER_PORT
auth: password
password: $USER_PASSWORD
cert: false
disable-telemetry: true
disable-update-check: true
EOF
# 設定檔案權限
sudo chown "$USERNAME:$USERNAME" "/home/$USERNAME/.config/code-server/config.yaml"
sudo chmod 600 "/home/$USERNAME/.config/code-server/config.yaml"
# 建立 systemd 服務檔案
sudo tee "/etc/systemd/system/code-server-$USERNAME.service" > /dev/null << EOF
[Unit]
Description=VS Code Server for $USERNAME
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=$USERNAME
Group=$USERNAME
ExecStart=/usr/local/bin/code-server --config /home/$USERNAME/.config/code-server/config.yaml /home/$USERNAME/workspace
WorkingDirectory=/home/$USERNAME/workspace
Environment=HOME=/home/$USERNAME
[Install]
WantedBy=multi-user.target
EOF
# 啟用並啟動服務
sudo systemctl daemon-reload
sudo systemctl enable "code-server-$USERNAME"
sudo systemctl start "code-server-$USERNAME"
# 檢查服務狀態
sudo systemctl status "code-server-$USERNAME"
```
## 擴展和自動化
### 使用 Amazon Q CLI 自動化部署
如果您想要使用 Amazon Q CLI 來自動化整個多用戶部署過程,可以使用以下 prompt:
#### 基本多用戶部署 Prompt
```
請幫我建立一個多用戶的 VS Code Server 環境,需要包含以下要求:
1. 在 AWS EC2 上使用 t3.medium 實例和 Amazon Linux 2023
2. 建立兩個用戶:apple 和 orange
3. 每個用戶有獨立的 code-server 實例和端口(8080, 8081)
4. 完全的用戶隔離,每個用戶只能存取自己的家目錄
5. 使用 systemd 管理每個用戶的服務
6. 自動生成 SSH 金鑰和安全群組
7. 建立完整的管理腳本和監控工具
安全要求:
- 每個用戶有獨立的密碼和配置檔案
- 嚴格的檔案權限控制
- 無法跨用戶存取資料
管理功能:
- 用戶專屬的狀態檢查腳本
- 全域的用戶管理工具
- 自動化的用戶添加/移除功能
- 完整的日誌記錄和監控
請提供完整的部署腳本、管理工具和使用說明。
```
#### 進階功能 Prompt
```
基於上述多用戶 VS Code Server 環境,請額外加入以下進階功能:
1. 自動化管理:
- 用戶添加/移除腳本
- 密碼重設功能
- 服務健康檢查
2. 監控和維護:
- 效能監控腳本
- 自動備份機制
- 日誌輪轉配置
3. 安全性增強:
- HTTPS 支援(自簽名憑證)
- 防火牆配置
- 存取來源 IP 限制
4. 擴展性:
- 支援動態添加更多用戶
- 自動端口分配
- 負載監控和警報
請提供完整的腳本和配置檔案。
```
### 容器化部署(進階)
對於更進階的部署,您可以考慮使用 Docker 容器:
```dockerfile
# Dockerfile 範例
FROM codercom/code-server:4.9.1
USER root
# 安裝額外工具
RUN apt-get update && apt-get install -y \
git \
curl \
wget \
&& rm -rf /var/lib/apt/lists/*
# 建立用戶
ARG USERNAME=developer
ARG USER_UID=1000
ARG USER_GID=$USER_UID
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd --uid $USER_UID --gid $USER_GID -m -s /bin/bash $USERNAME
USER $USERNAME
WORKDIR /home/$USERNAME
# 設定 code-server
ENV PASSWORD=secure_password
EXPOSE 8080
CMD ["code-server", "--bind-addr", "0.0.0.0:8080", "/home/$USERNAME/workspace"]
```
### 負載平衡(企業級)
對於企業級部署,可以考慮使用 Application Load Balancer:
```bash
# 建立 ALB 目標群組
aws elbv2 create-target-group \
--name vscode-multi-user-targets \
--protocol HTTP \
--port 8080 \
--vpc-id $VPC_ID \
--health-check-path / \
--health-check-interval-seconds 30
# 註冊目標
aws elbv2 register-targets \
--target-group-arn $TARGET_GROUP_ARN \
--targets Id=$INSTANCE_ID,Port=8080 Id=$INSTANCE_ID,Port=8081
```
## 總結
本指南提供了完整的多用戶 VS Code Server 手動部署流程,包括:
✅ **完整的部署步驟**: 從 AWS 基礎設施到用戶配置
✅ **安全性配置**: 用戶隔離和權限控制
✅ **管理工具**: 自動化腳本和監控功能
✅ **故障排除**: 常見問題和解決方案
✅ **維護指南**: 備份、監控和效能優化
✅ **擴展方案**: 自動化和企業級部署選項
通過遵循本指南,您可以建立一個安全、穩定、可擴展的多用戶 VS Code Server 環境,每個用戶都擁有完全隔離的開發環境。
### 🎯 關鍵特色回顧
1. **完全用戶隔離**: 每個 Linux 用戶只能存取自己的家目錄
2. **獨立服務架構**: 每個用戶有自己的 systemd 服務和端口
3. **嚴格權限控制**: 基於 Linux 用戶權限的安全機制
4. **自動化管理**: 完整的腳本化管理工具
5. **監控和維護**: 健康檢查、備份和效能監控
6. **可擴展性**: 支援動態添加更多用戶
### 📱 快速開始檢查清單
- [ ] 建立 AWS 基礎設施(EC2、安全群組、金鑰)
- [ ] 安裝 code-server 基礎環境
- [ ] 建立用戶 apple(端口 8080)
- [ ] 建立用戶 orange(端口 8081)
- [ ] 配置 systemd 服務
- [ ] 建立管理腳本
- [ ] 測試用戶隔離
- [ ] 驗證網路存取
- [ ] 設定監控和備份
### 🔗 相關資源
- [code-server 官方文檔](https://coder.com/docs/code-server)
- [systemd 服務管理](https://www.freedesktop.org/software/systemd/man/systemd.service.html)
- [AWS EC2 用戶指南](https://docs.aws.amazon.com/ec2/)
- [Amazon Linux 2023 文檔](https://docs.aws.amazon.com/linux/)
---
**文件版本**: v1.0
**最後更新**: 2025-08-02
**適用系統**: Amazon Linux 2023
**code-server 版本**: 4.9.1
**作者**: Amazon Q CLI Assistant
---
## 使用 Amazon Q Developer CLI 自動化部署
本章節將詳細說明如何使用 Amazon Q Developer CLI 來自動化完成上述所有的部署、配置與連線工作。通過正確的 prompt,您可以一鍵完成整個多用戶 VS Code Server 環境的建立。
### 🤖 Amazon Q Developer CLI 簡介
Amazon Q Developer CLI 是一個強大的 AI 助手工具,可以通過自然語言 prompt 來自動生成和執行複雜的部署腳本。對於多用戶 VS Code Server 的部署,Q CLI 可以:
- 自動生成完整的部署腳本
- 處理 AWS 資源建立和配置
- 建立用戶隔離和安全配置
- 生成管理和監控工具
- 提供故障排除和維護指南
### 📝 基礎部署 Prompt
#### 完整環境部署 Prompt
```
請幫我建立一個完整的多用戶 VS Code Server 環境,具體需求如下:
**基礎架構需求**:
- 使用 AWS EC2 t3.medium 實例,Amazon Linux 2023
- 自動建立 SSH 金鑰對和安全群組
- 開放必要端口:SSH (22)、VS Code Server (8080-8090)
- 部署在 us-east-1 區域
**用戶配置需求**:
- 建立兩個用戶:apple 和 orange
- apple 用戶使用端口 8080,密碼 "appleCode2024!"
- orange 用戶使用端口 8081,密碼 "orangeCode2024!"
- 每個用戶有獨立的工作目錄 /home/[用戶名]/workspace
**安全隔離需求**:
- 完全的 Linux 用戶隔離,每個用戶只能存取自己的家目錄
- 無法跨用戶瀏覽或存取資料
- 每個用戶有獨立的 systemd 服務 (code-server-[用戶名].service)
- 嚴格的檔案權限控制
**軟體配置需求**:
- 安裝 code-server 4.9.1 版本(避免 GLIBC 相容性問題)
- 使用 systemd 管理服務,支援自動重啟
- 每個服務監聽 0.0.0.0:[端口]
- 禁用遙測和更新檢查
**管理工具需求**:
- 為每個用戶建立專屬的狀態檢查腳本 (check-my-vscode.sh)
- 為每個用戶建立專屬的重啟腳本 (restart-my-vscode.sh)
- 建立全域的用戶管理腳本 (check-all-users.sh, restart-all-users.sh)
- 建立用戶添加/移除的自動化腳本
**輸出需求**:
- 完整的部署腳本,包含錯誤處理和重試機制
- 本地狀態檢查腳本
- 詳細的部署資訊文件
- 使用說明和故障排除指南
請確保所有腳本都包含適當的日誌記錄和錯誤處理。
```
#### 進階功能增強 Prompt
```
基於上述多用戶 VS Code Server 環境,請額外實現以下進階功能:
**監控和維護功能**:
- 建立健康檢查腳本,每 5 分鐘檢查服務狀態
- 建立效能監控腳本,記錄 CPU、記憶體、磁碟使用率
- 建立自動備份腳本,每日備份用戶工作目錄和配置
- 設定日誌輪轉,避免日誌檔案過大
**安全性增強**:
- 支援 HTTPS 配置(自簽名憑證)
- 建立防火牆配置腳本
- 支援限制存取來源 IP 的功能
- 密碼複雜度檢查和重設功能
**自動化管理**:
- 動態用戶添加腳本,自動分配端口
- 用戶移除腳本,包含資料備份選項
- 批量用戶管理功能
- 服務狀態監控和自動恢復
**擴展性功能**:
- 支援添加更多用戶(最多 10 個用戶)
- 負載監控和警報機制
- 容器化部署選項
- 負載平衡配置範例
請提供完整的腳本實現和配置檔案。
```
### 🔧 特定功能 Prompt
#### 用戶管理自動化 Prompt
```
請為我的多用戶 VS Code Server 環境建立一個完整的用戶管理系統:
**核心功能**:
- 添加新用戶:自動分配端口、建立目錄、配置服務
- 移除用戶:停止服務、備份資料、清理資源
- 修改用戶:更改密碼、端口、配置
- 列出用戶:顯示所有用戶狀態和存取資訊
**安全要求**:
- 確保新用戶完全隔離
- 自動設定正確的檔案權限
- 驗證端口可用性
- 檢查用戶名衝突
**管理腳本需求**:
- manage-users.sh:主要管理腳本
- 支援指令:add, remove, list, status, password, restart
- 包含使用說明和錯誤處理
- 自動更新安全群組規則
**使用範例**:
```bash
./manage-users.sh add banana 8082
./manage-users.sh remove banana
./manage-users.sh list
./manage-users.sh password apple
```
請提供完整的實現和使用文檔。
```
#### 監控和警報系統 Prompt
```
請為多用戶 VS Code Server 環境建立一個完整的監控和警報系統:
**監控指標**:
- 服務狀態:每個用戶的 code-server 服務是否運行
- 系統資源:CPU、記憶體、磁碟使用率
- 網路狀態:端口監聽狀態和連線數
- 用戶活動:最後存取時間和活躍度
**警報機制**:
- 服務停止時自動重啟並發送通知
- 資源使用率超過 80% 時發出警告
- 磁碟空間不足時清理日誌
- 異常登入嘗試檢測
**報告功能**:
- 每日系統狀態報告
- 每週用戶使用統計
- 效能趨勢分析
- 故障事件記錄
**實現需求**:
- 使用 cron 定期執行監控腳本
- 支援郵件通知(可選)
- 生成 HTML 格式的報告
- 包含圖表和趨勢分析
請提供完整的監控系統實現。
```
#### 安全性配置 Prompt
```
請為多用戶 VS Code Server 環境實現全面的安全性配置:
**網路安全**:
- 配置 iptables/firewalld 規則
- 支援 IP 白名單功能
- DDoS 防護基本配置
- 端口掃描檢測
**存取控制**:
- 實現 HTTPS 支援(Let's Encrypt 或自簽名)
- 雙因素認證整合(可選)
- 會話超時配置
- 密碼策略強化
**系統安全**:
- 定期安全更新腳本
- 檔案完整性檢查
- 異常行為檢測
- 安全日誌分析
**合規性**:
- 存取日誌記錄
- 用戶活動審計
- 資料加密配置
- 備份加密
請提供完整的安全配置腳本和最佳實踐指南。
```
### 🚀 部署執行 Prompt
#### 一鍵部署 Prompt
```
請執行以下一鍵部署流程:
1. **環境準備**:
- 檢查 AWS CLI 配置和權限
- 驗證必要的工具和依賴
- 建立工作目錄和日誌檔案
2. **AWS 資源建立**:
- 建立 SSH 金鑰對:multi-user-vscode-key
- 建立安全群組:multi-user-vscode-sg
- 配置安全群組規則(22, 8080-8090)
- 啟動 EC2 實例:t3.medium, Amazon Linux 2023
3. **軟體安裝和配置**:
- 安裝 code-server 4.9.1
- 建立用戶 apple 和 orange
- 配置 systemd 服務
- 建立管理腳本
4. **驗證和測試**:
- 檢查服務狀態
- 測試網路連線
- 驗證用戶隔離
- 生成存取資訊
5. **輸出結果**:
- 部署摘要報告
- 用戶存取資訊
- 管理指令清單
- 故障排除指南
請執行完整的部署流程並提供詳細的執行日誌。
```
### 🔍 故障排除 Prompt
#### 診斷和修復 Prompt
```
我的多用戶 VS Code Server 環境遇到問題,請幫我診斷和修復:
**當前狀況**:
- 實例 ID: [請填入您的實例 ID]
- 公共 IP: [請填入您的公共 IP]
- 問題描述: [請描述具體問題,如:用戶無法連線、服務無法啟動等]
**診斷需求**:
1. 檢查 EC2 實例狀態和網路連通性
2. 驗證安全群組和防火牆配置
3. 檢查每個用戶的服務狀態
4. 分析系統資源使用情況
5. 檢查日誌檔案中的錯誤訊息
**修復需求**:
1. 自動修復常見問題
2. 重啟失敗的服務
3. 修正配置檔案錯誤
4. 更新權限設定
5. 提供預防措施建議
**輸出需求**:
- 詳細的診斷報告
- 具體的修復步驟
- 修復後的驗證結果
- 預防措施建議
請提供完整的診斷和修復方案。
```
#### 效能優化 Prompt
```
請幫我優化多用戶 VS Code Server 環境的效能:
**當前環境**:
- EC2 實例類型: t3.medium
- 用戶數量: 2 (apple, orange)
- 預期擴展: 最多 5-10 個用戶
**優化目標**:
1. 減少記憶體使用量
2. 提高響應速度
3. 優化磁碟 I/O
4. 改善網路效能
**優化範圍**:
- code-server 配置優化
- 系統核心參數調整
- 服務啟動參數優化
- 資源限制配置
**監控需求**:
- 效能基準測試
- 優化前後對比
- 持續效能監控
- 瓶頸識別和解決
請提供完整的效能優化方案和實施步驟。
```
### 📊 使用技巧和最佳實踐
#### 1. Prompt 撰寫技巧
**明確性**:
- 提供具體的技術需求和版本號
- 明確指定配置參數和端口號
- 詳細描述安全性和隔離需求
**完整性**:
- 包含所有必要的功能需求
- 指定輸出格式和檔案結構
- 要求錯誤處理和日誌記錄
**可執行性**:
- 要求提供完整的腳本和配置
- 包含驗證和測試步驟
- 提供使用說明和範例
#### 2. 分階段部署策略
**第一階段 - 基礎環境**:
```
請先建立基礎的 AWS 環境和 code-server 安裝,包含:
- EC2 實例和網路配置
- code-server 基礎安裝
- 基本的安全群組設定
```
**第二階段 - 用戶配置**:
```
基於已建立的基礎環境,請添加多用戶配置:
- 建立 apple 和 orange 用戶
- 配置獨立的服務和端口
- 實現用戶隔離機制
```
**第三階段 - 管理工具**:
```
請為現有環境添加管理和監控工具:
- 用戶管理腳本
- 狀態監控工具
- 備份和維護腳本
```
#### 3. 錯誤處理和重試
**問題診斷 Prompt**:
```
我在執行 [具體步驟] 時遇到以下錯誤:
[錯誤訊息]
請幫我:
1. 分析錯誤原因
2. 提供具體的解決步驟
3. 預防類似問題的措施
4. 驗證修復結果的方法
```
**重新部署 Prompt**:
```
我需要重新部署環境,請幫我:
1. 清理現有資源(如果存在)
2. 重新執行完整的部署流程
3. 包含之前遇到問題的修復措施
4. 提供更詳細的驗證步驟
```
### 🎯 實際使用範例
#### 完整部署流程
1. **開啟 Amazon Q Developer CLI**
2. **執行基礎部署**:
```
請幫我建立一個多用戶 VS Code Server 環境,包含 apple 和 orange 兩個用戶,每個用戶有獨立的 code-server 實例和完全的用戶隔離。使用 AWS EC2 t3.medium 實例和 Amazon Linux 2023,自動建立所有必要的 AWS 資源。
```
3. **等待部署完成並檢查結果**
4. **如需添加功能**:
```
請為我的多用戶 VS Code Server 環境添加監控和管理工具,包含健康檢查、自動備份和用戶管理腳本。
```
5. **故障排除(如需要)**:
```
我的用戶 apple 無法連線到 VS Code Server,請幫我診斷問題並提供修復方案。實例 IP 是 [您的IP]。
```
#### 進階配置範例
**HTTPS 配置**:
```
請為我的多用戶 VS Code Server 環境啟用 HTTPS,使用自簽名憑證,並更新所有相關的配置檔案和防火牆規則。
```
**負載平衡配置**:
```
請幫我設計一個負載平衡方案,支援多個 VS Code Server 實例,並提供 AWS Application Load Balancer 的配置範例。
```
**容器化部署**:
```
請將我的多用戶 VS Code Server 環境容器化,使用 Docker 和 Docker Compose,每個用戶運行在獨立的容器中。
```
### 💡 提示和建議
#### 1. 準備工作
在使用 Amazon Q Developer CLI 之前,請確保:
- AWS CLI 已正確配置
- 具備必要的 AWS 權限
- 了解基本的 Linux 系統管理
- 準備好所需的配置參數
#### 2. 最佳實踐
**Prompt 優化**:
- 使用具體的技術術語
- 提供完整的需求描述
- 要求包含錯誤處理
- 指定輸出格式
**分步執行**:
- 先建立基礎環境
- 逐步添加功能
- 每步都進行驗證
- 保存重要的配置資訊
**文檔記錄**:
- 保存所有生成的腳本
- 記錄配置參數
- 建立操作手冊
- 定期備份配置
#### 3. 常見問題預防
**權限問題**:
```
請確保所有腳本都包含適當的權限檢查和設定,特別是用戶隔離和檔案權限。
```
**網路問題**:
```
請包含網路連通性檢查和防火牆配置驗證。
```
**服務管理**:
```
請確保所有服務都正確配置為自動啟動,並包含健康檢查機制。
```
### 🔚 總結
使用 Amazon Q Developer CLI 可以大大簡化多用戶 VS Code Server 環境的部署和管理。通過正確的 prompt,您可以:
✅ **一鍵部署**:自動建立完整的多用戶環境
✅ **智能配置**:自動處理用戶隔離和安全設定
✅ **完整工具**:生成所有必要的管理和監控腳本
✅ **故障排除**:快速診斷和修復問題
✅ **持續優化**:根據需求調整和擴展環境
記住,好的 prompt 是成功自動化的關鍵。請根據您的具體需求調整上述範例,並始終要求包含錯誤處理、日誌記錄和驗證步驟。
---
**Amazon Q Developer CLI 使用指南版本**: v1.0
**最後更新**: 2025-08-02
**適用於**: 多用戶 VS Code Server 環境自動化部署