文章詳情

AWS快速開戶 亞馬遜雲AWS命令行工具CLI教學

亞馬遜雲AWS2026-05-03 22:38:58雲計算

AWS CLI:你的雲端瑞士軍刀,點鼠標?太慢了!

說真的,每次點AWS控制台都要點點點,點到手痠、眼花,甚至差點點錯按鈕刪掉生產環境,這時候真想摔鍵盤。但別慌,AWS CLI就是你的救星!用命令行操控雲端資源,速度快、效率高,而且能寫腳本自動化,省時省力。別再被鼠標綁住了,來學學怎麼用CLI當雲端達人吧!

安裝與配置:三步搞定,快過點開瀏覽器

Windows/macOS/Linux安裝攻略

Windows用戶別怕,安裝超簡單!去AWS官網下載CLI安裝包,雙擊執行,按下一步就完成。或者用PowerShell跑一命令:winget install AWS.AWSCLIV2,馬上搞定!Mac用戶推薦用Homebrew,一句命令brew install awscli,幾秒鐘就裝好。Linux的話,大多數發行版用包管理器就能安裝,比如Ubuntu用sudo apt install awscli,或者直接下載官方腳本執行:curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip",然後unzip、sudo ./install。安裝完成後,打開終端輸入aws --version,看到版本號就代表成功!

設定AWS凭证:別把密鑰搞丟了

安裝好CLI後,輸入aws configure,系統會問四個問題:AWS Access Key ID、AWS Secret Access Key、Default region name、Default output format。這裡要注意,Access Key和Secret Key必須從AWS IAM管理員頁面獲取,點擊用戶→安全凭证→創建訪問密鑰。記住!別把密鑰上傳到GitHub,不然帳號就完了!區域建議選離你最近的,比如台灣用戶選ap-east-1,日本用戶選ap-northeast-1。輸出格式建議json,後面過濾數據超方便。設定完後,CLI就會自動儲存憑證到~/.aws/目錄,以後執行命令就不用再輸入密鑰啦!

基本命令大公開:5分鐘上手常用指令

管理S3存儲桶:上傳下載超簡單

S3是AWS最常用的儲存服務,用CLI管理超方便!想列出所有存儲桶?aws s3 ls就搞定。上傳檔案到S3:aws s3 cp localfile.txt s3://your-bucket-name/,超簡單!如果想上傳整個資料夾?加--recursive參數:aws s3 cp myfolder/ s3://bucket/ --recursive。下載也一樣,把源和目的地調換:aws s3 cp s3://bucket/file.txt ./。還想刪除S3裡的檔案?aws s3 rm s3://bucket/file.txt。最厲害的是,S3的傳輸速度超快,而且支援多線程上傳,用--multipart-chunk-size-mb指定塊大小,大檔案秒傳!

操控EC2實例:啟動、關機、看狀態

管理EC2實例?CLI比控制台快十倍!先看所有實例:aws ec2 describe-instances,但這樣輸出太雜亂。用JMESPath過濾一下,比如aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,PublicIpAddress]',只顯示ID、狀態和IP。要啟動實例:aws ec2 start-instances --instance-ids i-1234567890abcdef0,關機:aws ec2 stop-instances --instance-ids i-1234567890abcdef0。如果想自動擴展,可以用aws ec2 run-instances指定AMI、實例類型、安全群組等參數,瞬間創建新實例!

實戰場景:從單機到自動化

自動備份S3檔案:一鍵搞定

想每天自動備份S3的資料?寫個簡單腳本就成!例如,創建backup.sh文件,內容如下:

#!/bin/bash
aws s3 cp s3://source-bucket/ s3://backup-bucket/ --recursive --exclude "*tmp*" --include "*.jpg"

這腳本會把source-bucket裡所有.jpg檔案備份到backup-bucket,跳過tmp檔案。再用crontab設定自動執行,比如每天凌晨2點:0 2 * * * /path/to/backup.sh。以後不用人工操作,自動完成備份,安心睡覺!

批量管理EC2:用腳本省時間

假設有100台EC2實例要關機,怎麼辦?逐個點控制台?太慢了!用CLI批量操作:先用aws ec2 describe-instances獲取所有實例ID,然後用xargs批量執行命令。例如:

aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceId' --output text | xargs -n 1 aws ec2 stop-instances --instance-ids

這命令會自動列出所有實例ID,並一個一個關機,省時省力!還可以結合JMESPath過濾特定標籤的實例,比如只關標籤為“environment:dev”的實例,效率提升十倍!

進階技巧:讓CLI更強大

JMESPath過濾輸出:只看你要的

JMESPath是AWS CLI的超強過濾器!比如想看所有正在運行的EC2實例:aws ec2 describe-instances --query 'Reservations[].Instances[?State.Name==`running`].InstanceId'。或者過濾出特定標籤的資源,例如:

aws ec2 describe-instances --query 'Reservations[].Instances[?Tags[?Key==`Name` && Value==`Production-Web`]].InstanceId'

這命令會只顯示標籤Name是Production-Web的實例ID。JMESPath語法有點像查詢語言,熟練後可以精準拿到你需要的資料,避免輸出一堆無用資訊!

使用環境變數管理多帳戶

如果你要管理多個AWS帳戶,用aws configure切換很麻煩?可以用環境變數!例如,設定不同的環境變數:export AWS_ACCESS_KEY_ID=XXXXX; export AWS_SECRET_ACCESS_KEY=YYYYY; export AWS_REGION=ap-northeast-1,然後執行命令,CLI就會用這些變數。這樣不用切換配置檔,輕鬆切換帳戶。還可以把這些變數寫到不同shell腳本中,執行時source腳本,瞬間切換!

AWS快速開戶 常見問題解答:避開這些坑

權限錯誤怎麼辦?

執行CLI命令時常遇到“AccessDenied”錯誤?通常是IAM權限不足!先確認當前使用者的IAM策略是否包含對應操作的權限。可以用aws sts get-caller-identity查看當前身份,再檢查IAM Policy。如果用的是臨時凭证(比如STS角色),確認角色有權限。另外,AWS CLI預設會讀取~/.aws/credentials和~/.aws/config,檢查這些檔案是否正確,或者用--profile指定正確的配置檔。例如,aws s3 ls --profile my-profile,這樣就能切換不同帳戶的凭证。

命令卡住?快來看這招

有時候執行aws命令會卡住,沒反應?可能是網路問題,或者AWS服務端延遲。可以用--debug參數查看詳細日誌:aws ec2 describe-instances --debug,這樣可以看到具體哪一步卡住了。如果是網路問題,檢查DNS設定,或者用代理。另外,AWS CLI有內建重試機制,但有時可能需要手動調整。比如用--retry-mode "adaptive"讓CLI自動適應網路狀態。如果還是卡住,可以設定timeout參數,例如timeout 30s aws s3 cp...,30秒後自動中止。

Telegram售前客服
客服ID
@cloudcup
联系
Telegram售后客服
客服ID
@yanhuacloud
联系