本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
入門 AWS CloudShell
本簡介教學課程說明如何使用 shell 命令列界面啟動 AWS CloudShell 和執行關鍵任務。
首先,您會登入 AWS 管理主控台 並選取 AWS 區域。然後,在新的瀏覽器視窗和要使用的 Shell 類型中啟動 CloudShell。
接下來,您可以在主目錄中建立新的資料夾,並從本機電腦上傳檔案到其中。您先使用預先安裝的編輯器處理該檔案,再從命令列將其做為程式執行。最後,您呼叫 AWS CLI 命令來建立 Amazon S3 儲存貯體,並將 檔案做為物件新增至儲存貯體。
先決條件
IAM 許可
您可以透過將下列 AWS 受管政策連接至 IAM 身分 (例如使用者、角色或群組) AWS CloudShell 來取得 的許可:
AWSCloudShellFullAccess:提供使用者對 AWS CloudShell 及其功能的完整存取權。
在本教學課程中,您也可以與 互動 AWS 服務。更具體地說,您可以透過建立 Amazon S3 S3 互動。您的 IAM 身分需要至少授予 s3:CreateBucket和 s3:PutObject許可的政策。
如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 動作。
練習檔案
此練習也涉及上傳和編輯檔案,然後從命令列界面做為程式執行。在本機電腦上開啟文字編輯器,並新增下列程式碼片段。
import sys x=int(sys.argv[1]) y=int(sys.argv[2]) sum=x+y print("The sum is",sum)
儲存檔案,並將其命名為 add_prog.py。
目錄
步驟 1:登入 AWS 管理主控台
此步驟涉及輸入您的 IAM 使用者資訊以存取 AWS 管理主控台。如果您已在主控台中,請跳至步驟 2。
您可以使用 IAM AWS 管理主控台 使用者登入 URL 或前往主登入頁面來存取 。
注意
您也可以以根使用者身分登入。此身分具有帳戶中所有 AWS 服務 和 資源的完整存取權。強烈建議您不要將根使用者用於日常任務,即使是管理任務。反之,請遵循僅以根使用者建立您第一個 IAM 使用者的最佳實務。
步驟 2:選取區域、啟動 AWS CloudShell,然後選擇 shell
在此步驟中,您可以從主控台界面啟動 CloudShell、選擇可用的 AWS 區域,然後切換到您偏好的 shell,例如 Bash、PowerShell 或 Z shell。
-
若要選擇要 AWS 區域 使用的 ,請前往選取區域選單,然後選取支援的 AWS 區域。(可用區域會反白顯示。)
重要
如果您切換區域,界面會重新整理,且所選 的名稱 AWS 區域 會顯示在命令列文字上方。您新增至持久性儲存體的任何檔案都只能在相同的 中使用 AWS 區域。如果您變更區域,則可以存取不同的儲存體和檔案。
重要
如果在 上啟動 CloudShell 時,所選區域中無法使用 CloudShellConsole Toolbar,則主控台左下角的預設區域會設定為最接近所選區域的區域。 CloudShell 您可以執行 命令,提供管理與預設區域不同區域中資源的許可。如需詳細資訊,請參閱使用 AWS 區域。
範例
範例
如果您選擇歐洲 (西班牙),eu-south-2但歐洲 (西班牙) 無法使用 CloudShelleu-south-2,則預設區域會設定為歐洲 (愛爾蘭) eu-west-1,最接近歐洲 (西班牙)eu-south-2。
您將使用預設區域的服務配額,歐洲 (愛爾蘭) eu-west-1和相同的 CloudShell 工作階段將還原至所有區域。預設區域可能會變更,而且您會在 CloudShell 瀏覽器視窗中收到通知。
-
從 中 AWS 管理主控台,您可以選擇下列其中一個選項來啟動 CloudShell:
-
在導覽列上,選擇 CloudShell 圖示。
-
在搜尋方塊中,輸入「CloudShell」,然後選擇 CloudShell。
-
在最近造訪的小工具中,選擇 CloudShell。
-
在 主控台左Console Toolbar下角的 上選擇 CloudShell。
-
您可以拖曳 來調整 CloudShell 工作階段的高度
=。 -
您可以按一下新瀏覽器索引標籤中的開啟,將 CloudShell 工作階段切換為全螢幕。
-
出現命令提示時,表示 Shell 已準備好開始互動。
注意
如果您遇到無法成功啟動或與 互動的問題 AWS CloudShell,請檢查相關資訊,以識別和解決 中的這些問題故障診斷 AWS CloudShell。
-
-
若要選擇要使用的預先安裝 Shell,請在命令列提示中輸入其程式名稱。
如需有關預先安裝在 shell 環境中的版本的資訊,請參閱 AWS CloudShell 運算環境區段中的 shell 資料表。
步驟 3:從 下載檔案 AWS CloudShell
注意
此選項不適用於 VPC 環境。
此步驟會逐步引導您下載檔案。
-
若要下載檔案,請前往動作,然後從功能表中選擇下載檔案。
隨即顯示下載檔案對話方塊。
-
在下載檔案對話方塊中,輸入要下載之檔案的路徑。
注意
您可以在指定要下載的檔案時使用絕對或相對路徑。使用相對路徑名稱
/home/cloudshell-user/時, 預設會自動新增至開頭。因此,若要下載名為 的檔案mydownload-file,下列兩項都是有效的路徑:-
絕對路徑:
/home/cloudshell-user/subfolder/mydownloadfile.txt -
相對路徑:
subfolder/mydownloadfile.txt
-
-
選擇 Download (下載)。
如果檔案路徑正確,則會顯示對話方塊。您可以使用此對話方塊來開啟具有預設應用程式的檔案。或者,您可以將檔案儲存到本機電腦上的資料夾。
注意
當您在 上啟動 CloudShell 時,無法使用下載選項Console Toolbar。您可以從 CloudShell 主控台或使用 Chrome Web 瀏覽器下載檔案。
步驟 4:將檔案上傳至 AWS CloudShell
注意
此選項不適用於 VPC 環境。
此步驟說明如何上傳檔案,然後將其移至主目錄中的新目錄。
若要檢查您目前的工作目錄,請在提示中輸入下列命令:
pwd當您按下 Enter 時, shell 會傳回您目前的工作目錄 (例如
/home/cloudshell-user)。若要將檔案上傳至此目錄,請前往動作,然後從功能表中選擇上傳檔案。
上傳檔案對話方塊隨即顯示。
選擇 Browse (瀏覽)。
在系統的檔案上傳對話方塊中,選取您為此教學課程 (
add_prog.py) 建立的文字檔案,然後選擇開啟。在上傳檔案對話方塊中,選擇上傳。
進度列會追蹤上傳。如果上傳成功,訊息會確認
add_prog.py已新增至主目錄的根目錄。若要建立 檔案的目錄,請輸入 make directoryies 命令:
mkdir mysub_dir。若要將上傳的檔案從主目錄的根目錄移至新目錄,請使用
mv命令:mv add_prog.py mysub_dir.若要將工作目錄變更為新目錄,請輸入
cd mysub_dir。命令提示更新,表示您已變更工作目錄。
-
若要檢視目前目錄的內容,
mysub_dir請輸入ls命令。工作目錄的內容會列出。這包括您剛上傳的檔案。
步驟 5:從 移除檔案 AWS CloudShell
此步驟說明如何從中移除檔案 AWS CloudShell。
-
若要從 移除檔案 AWS CloudShell,請使用標準 shell 命令,例如
rm(移除)。rm my-file-for-removal -
若要移除符合指定條件的多個檔案,請執行
find命令。下列範例會移除名稱中包含尾碼 ".pdf" 的所有檔案。
find -type f -name '*.pdf' -delete
注意
假設您在特定 AWS CloudShell 中停止使用 AWS 區域。然後,該區域中的持久性儲存體中的資料會在指定的期間之後自動移除。如需詳細資訊,請參閱持久性儲存。
步驟 6:建立主目錄備份
此步驟說明如何建立主目錄備份。
-
建立備份檔案
在主目錄外建立暫存資料夾。
HOME_BACKUP_DIR=$(mktemp --directory)您可以使用下列其中一個選項來建立備份:
-
使用 tar 建立備份檔案
若要使用 tar 建立備份檔案,請輸入下列命令:
tar \ --create \ --gzip \ --verbose \ --file=${HOME_BACKUP_DIR}/home.tar.gz \ [--exclude ${HOME}/.cache] \ // Optional ${HOME}/ echo "Home directory backed up to this file: ${HOME_BACKUP_DIR}/home.tar.gz" -
使用 zip 建立備份檔案
若要使用 zip 建立備份檔案,請輸入下列命令:
zip \ --recurse-paths \ ${HOME_BACKUP_DIR}/home.zip \ ${HOME} \ [--exclude ${HOME}/.cache/\*] // Optional echo "Home directory backed up to this file: ${HOME_BACKUP_DIR}/home.zip"
-
-
將備份檔案傳輸至 CloudShell 外部
您可以使用下列其中一個選項,將備份檔案傳輸至 CloudShell 外部:
-
在本機電腦上下載備份檔案
您可以下載在上一個步驟中建立的檔案。如需如何從 CloudShell 下載檔案的詳細資訊,請參閱從 下載檔案 AWS CloudShell。
在下載檔案對話方塊中,輸入要下載之檔案的路徑 (例如,
/tmp/tmp.iA99tD9L98/home.tar.gz)。 -
將備份檔案傳輸至 S3
若要產生儲存貯體,請輸入下列命令:
aws s3 mb s3://${BUCKET_NAME}使用 AWS CLI 將檔案複製到 S3 儲存貯體:
aws s3 cp ${HOME_BACKUP_DIR}/home.tar.gz s3://${BUCKET_NAME}注意
可能需要支付資料傳輸費用。
-
-
直接備份到 S3 儲存貯體
若要直接備份到 S3 儲存貯體,請輸入下列命令:
aws s3 cp \ ${HOME}/ \ s3://${BUCKET_NAME} \ --recursive \ [--exclude .cache/\*] // Optional
步驟 7:重新啟動 shell 工作階段
此步驟說明如何重新啟動 shell 工作階段。
注意
作為安全措施,如果您長時間不使用鍵盤或指標與 shell 互動,工作階段會自動停止。長時間執行的工作階段也會自動停止。如需詳細資訊,請參閱Shell 工作階段。
-
若要重新啟動 shell 工作階段,請選擇動作、重新啟動。
您會收到重新啟動會 AWS CloudShell 停止目前 中所有作用中工作階段的通知 AWS 區域。
-
若要確認,請選擇重新啟動。
界面會顯示 CloudShell 運算環境正在停止的訊息。在環境停止並重新啟動後,您可以在新的工作階段中開始使用命令列。
注意
在某些情況下,您的環境可能需要幾分鐘的時間才能重新啟動。
步驟 8:刪除 shell 工作階段主目錄
此步驟說明如何刪除 shell 工作階段。
注意
此選項不適用於 VPC 環境。當您重新啟動 VPC 環境時,會刪除其主目錄。
警告
刪除主目錄是不可復原的動作,其中儲存在主目錄中的所有資料都會永久刪除。不過,在下列情況下,您可能想要考慮此選項:
-
您不正確地修改了檔案,且無法存取 AWS CloudShell 運算環境。刪除主目錄 AWS CloudShell 會返回其預設設定。
-
您想要 AWS CloudShell 立即從 移除所有資料。如果您在 AWS CloudShell AWS 區域中停止使用 ,除非您在 區域中 AWS CloudShell 再次啟動,否則持久性儲存會在保留期間結束時自動刪除。
如果您需要長期儲存檔案,請考慮使用 Amazon S3 等服務。
-
若要刪除 Shell 工作階段,請選擇動作、刪除。
系統會通知您,刪除 AWS CloudShell 主目錄會刪除目前存放在您 AWS CloudShell 環境中的所有資料。
注意
您無法復原此動作。
-
若要確認刪除,請在文字輸入欄位中輸入刪除,然後選擇刪除。
AWS CloudShell 會停止目前 中的所有作用中工作階段 AWS 區域。您可以建立新的環境或設定 CloudShell VPC 環境。
-
若要建立新的環境,請選擇開啟標籤。
-
若要建立 CloudShell VPC 環境,請選擇建立 VPC 環境。
手動結束 shell 工作階段
使用命令列,您可以離開 shell 工作階段並使用
exit命令登出。然後,您可以按任何鍵重新連線並繼續使用 AWS CloudShell。
步驟 9:編輯檔案的程式碼,並使用命令列執行
此步驟示範如何使用預先安裝的Vim編輯器來使用 檔案。然後,您可以從命令列將該檔案作為程式執行。
若要編輯您在上一個步驟中上傳的檔案,請輸入下列命令:
vim add_prog.pyshell 界面會重新整理以顯示Vim編輯器。
若要編輯 中的檔案Vim,請按 I鍵。現在編輯內容,讓程式相加三個數字,而不是兩個數字。
import sys x=int(sys.argv[1]) y=int(sys.argv[2]) z=int(sys.argv[3]) sum=x+y+z print("The sum is",sum)注意
如果您將文字貼入編輯器並啟用安全貼上功能,則會顯示警告。複製的多行文字可能包含惡意指令碼。使用安全貼上功能,您可以在貼上前驗證完整文字。如果您確信文字是安全的,請選擇貼上。
-
編輯程式後,按 Esc 進入Vim命令模式。然後,輸入
:wq命令來儲存檔案並結束編輯器。注意
如果您是初次使用Vim命令模式,一開始您可能會發現在命令模式和插入模式之間切換具有挑戰性。儲存檔案並結束應用程式時,會使用命令模式。插入新文字時會使用插入模式。若要進入插入模式,請按 I,若要進入命令模式,請按 Esc。如需 Vim 和其他 中可用工具的詳細資訊 AWS CloudShell,請參閱 開發工具和 shell 公用程式。
-
在主命令列界面上,執行下列程式,並指定三個數字進行輸入。語法如下。
python3 add_prog.py 4 5 6命令列會顯示程式輸出:
The sum is 15。
步驟 10:使用 將檔案 AWS CLI 新增為 Amazon S3 儲存貯體中的物件
在此步驟中,您會建立 Amazon S3 儲存貯體,然後使用 PutObject 方法將程式碼檔案新增為該儲存貯體中的物件。
注意
本教學課程說明如何在 AWS CLI 中使用 AWS CloudShell 與其他 AWS 服務互動。使用此方法,您不需要下載或安裝任何其他資源。此外,因為您已經在 Shell 中驗證身分,因此無需設定憑證即可呼叫。
-
若要在指定的 中建立儲存貯體 AWS 區域,請輸入下列命令:
aws s3api create-bucket --bucket insert-unique-bucket-name-here --region us-east-1注意
如果您要在
us-east-1區域之外建立儲存貯體,create-bucket-configuration請使用LocationConstraint參數新增 以指定區域。以下為範例語法。$ aws s3api create-bucket --bucket my-bucket --region eu-west-1 --create-bucket-configuration LocationConstraint=eu-west-1如果呼叫成功,命令列會顯示來自 服務的回應,類似於下列輸出。
{ "Location": "/insert-unique-bucket-name-here" }注意
如果您未遵守命名儲存貯體的規則,則會顯示下列錯誤:
呼叫 CreateBucket 操作時發生錯誤 (InvalidBucketName):指定的儲存貯體無效。 -
若要上傳檔案並將檔案新增為物件至您剛建立的儲存貯體,請呼叫 PutObject方法。
aws s3api put-object --bucket insert-unique-bucket-name-here --key add_prog --body add_prog.py物件上傳到 Amazon S3 儲存貯體後,命令列會顯示來自服務的回應,類似於下列輸出:
{"ETag": "\"ab123c1:w:wad4a567d8bfd9a1234ebeea56\""}ETag是所存放物件的雜湊。您可以使用此雜湊來檢查上傳至 Amazon S3 之物件的完整性。