# 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 環境自動化部署