本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CloudShell運算環境:規格和軟體
當您啟動時AWS CloudShell,系統會建立以 Amazon Linux 2023
運算環境資源
每個AWS CloudShell運算環境都會指派下列 CPU 和記憶體資源:
-
1 個 vCPU (虛擬中央處理器)
-
2 GiB 記憶體
此外,環境會以下列儲存區組態佈建:
-
1 GB 永久性儲存裝置 (工作階段結束後仍會保留儲存)
如需詳細資訊,請參閱持久性儲存。
CloudShell 網路需求
WebSockets
CloudShell 取決於WebSocket 協議,該協議允許用戶的 Web 瀏覽器和AWS雲中的 CloudShell 服務之間進行雙向交互式通信。如果您在私人網絡中使用瀏覽器,則代理服務器和防火牆可能會促進對 Internet 的安全訪問。 WebSocket 通信通常可以遍歷代理服務器而沒有問題。但在某些情況下,代理服務器會阻 WebSockets 止正常工作。如果發生此問題,您的 CloudShell 介面會報告下列錯誤:Failed to open sessions : Timed out while opening the session
。
如果重複發生此錯誤,請參閱 Proxy 伺服器的說明文件,以確保其設定為允許 WebSockets。或者,您也可以聯絡網路的系統管理員。
注意
如果您想要透過允許列出特定 URL 來定義精細的權限,您可以新增AWS Systems Manager工作階段用來開啟 WebSocket 連線以傳送輸入和接收輸出的部分 URL。(您的AWS CloudShell指令會傳送至該 Systems Manager 工作階段。)
Systems Manager 使 StreamUrl 用的格式為wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)
。
此區域代表支援之區AWS域的地區識別碼AWS Systems Manager,us-east-2
例如美國東部 (俄亥俄) 區域。
因為工作階段識別碼是在特定 Systems Manager 工作階段成功啟動之後建立的,因此您只能在更新 URL 允許清單wss://ssmmessages.region.amazonaws.com
時指定。如需詳細資訊,請參閱 AWS Systems ManagerAPI 參考中的StartSession作業。
預裝軟體
注意
由於AWS CloudShell開發環境會定期更新以提供最新軟體的存取權,因此我們不會在本文件中提供特定的版本號碼。相反,我們描述了如何檢查安裝了哪個版本。若要檢查安裝的版本,請輸入程式名稱,然後輸入--version
選項 (例如git
--version
)。
貝殼
預裝外殼 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
名稱 | 描述 | 版本資訊 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bash |
Bash 外殼是的預設殼層應用程式AWS CloudShell。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PowerShell (PWSH) |
提供命令行界面和腳本語言支持, PowerShell 是建立在微軟的 .NET 命令語言運行時之上。 PowerShell 使用稱為 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Z 型外殼 (Z 系列) |
Z 殼牌,也被稱為 |
|
AWS命 CLI 行界面
CLI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
名稱 | 描述 | 版本資訊 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS CDKCLI 工具包 |
CLI 命令工具AWS CDK包是與您的AWS CDK應用程序交互的主要工具。 如需詳細資訊,請參閱AWS CDK工具組。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS CLI |
這AWS CLI是一個命令行界面,您可以使用它從命令行管理多個AWS服務並使用腳本自動化它們。如需詳細資訊,請參閱使用中的AWS服務AWS CloudShell。 如需如何確保使用最多 up-to-date AWS CLI版本 2 的相關資訊,請參閱安裝AWS CLI到您的主目錄。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EB CLI |
AWS Elastic BeanstalkCLI 提供命令列介面,可簡化從本機存放庫建立、更新和監控環境的作業。 如需詳細資訊,請參閱開發人員指南中的使用 Elastic Beanstalk 命令列介面 (EB CLI)。AWS Elastic Beanstalk |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon ECS CLI |
Amazon Elastic Container Service (Amazon ECS) 命令列界面 (CLI) 提供高階命令,以簡化叢集和任務的建立、更新和監控。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS SAM CLI |
AWS SAMCLI 是在AWS Serverless Application Model模板和應用程序代碼上運行的命令行工具。您可以執行多項工作。其中包括在本機叫用 Lambda 函數、為無伺服器應用程式建立部署套件,以及將無伺服器應用程式部署到雲端。AWS 如需詳細資訊,請參閱AWS Serverless Application Model開發人員指南中的 AWS SAMCLI 命令參考。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AWS Tools for PowerShell | 這AWS Tools for PowerShell些 PowerShell 模組是建立在公開的功能上的AWS SDK for .NET. 使用AWS Tools for PowerShell,您可以從命令列對資AWS源執行指 PowerShell 令碼作業。 AWS CloudShell預先安裝的模組化版本 (AWS.Tools)。AWS Tools for PowerShell 如需詳細資訊,請參閱使用AWS Tools for PowerShell者指南 PowerShell中的使用 AWS 工具。 |
|
執行階段和 AWS 開發套件:Node.js 和 Python 3
執行階段和 AWS 開發套件 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
名稱 | 描述 | 版本資訊 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js(與故宮) |
Node.js 是一個 JavaScript 運行時,旨在使其更容易應用異步編程技術。如需詳細資訊,請參閱 Node.js 官方網站上的 npm 是一個軟件包管理器,可以訪問 JavaScript模塊的在線註冊表。如需詳細資訊,請參閱官方 npm 網站上的 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js JavaScript 中適用的軟體套件 |
軟體開發套件 (SDK) 可為 AWS 服務 (包括 Amazon S3、Amazon EC2、DynamoDB 和 Amazon SWF) 提供 JavaScript物件,協助簡化程式碼撰寫作業。如需詳細資訊,請參閱《AWS SDK for JavaScript 開發人員指南》https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/ 。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python |
Python 3 是準備在外殼環境中使用。Python 3 現在被認為是編程語言的默認版本(對 Python 2 的支持將於 2020 年 1 月結束)。有關更多信息,請參閱 Python 官方網站上的 此外,預先安裝的是 pip,即 Python 的軟件包安裝程序。您可以使用此命令行程序從在線索引(如 Python 包索引)安裝 Python Package。如需詳細資訊,請參閱 Python 封裝授權單位提供的文 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
適用於 Python (Boto3) 的 SDK |
Boto 是 Python 開發人員用來建立、設定和管理的軟體開發套件 (SDK)AWS 服務,例如 Amazon EC2 和 Amazon S3。SDK 提供 easy-to-use物件導向 API,以及對. AWS 服務 如需詳細資訊,請參閱 Boto3 |
|
開發工具和殼層公用程式
開發工具和殼層公用程式 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
名稱 | 描述 | 版本資訊 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bash-completion |
bash-complete 是 shell 函數的集合,允許通過按 Tab 鍵自動完成部分類型的命令或參數。您可以在中找到 bash 完成支持的軟件包。 若要為套件的指令設定自動完成功能,必須取得程式檔案的來源。例如,要為 Git 命令設置自動完成功能,請添加以下行,以
如果您想要使用自訂完成指令碼,請將它們新增至永久性主目錄 ( 如需詳細資訊,請參閱上的專案的「讀我檔 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CodeCommit Git 的實用程序 |
git-remote-codecommit 是一個實用程序,它提供了一種通過擴展 Git 從 CodeCommit 存儲庫中推送和提取代碼的簡單方法。這是支援使用聯合存取、身分識別提供者和臨時登入資料建立之連線的建議方法。 如需詳細資訊,請參閱AWS CodeCommit使用指南 git-remote-codecommit中的 AWS CodeCommit HTTPS 連線的設定步驟。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Git |
Git 是一個分散式版本控制系統,透過分支工作流程和內容暫存來支援現代軟體開發實務。有關更多信息,請參閱 Git 官方網站上的文檔頁面 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
iputils |
iputils 套件包含適用於 Linux 網路的公用程式。如需有關所提供公用程式的詳細資訊,請參閱上的 iputils |
一個 iputils 工具的例子: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
jq | jq 公用程式會剖析 JSON 格式的資料,以產生由命令列篩選器修改的輸出。如需詳細資訊,請參閱上 GitHub的 jq 手冊 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kubectl |
kubectl 是一種命令列工具,可使用 Kubernetes API 與 Kubernetes 叢集的控制平面進行通訊。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
make |
make 公用程式會用makefiles 來自動執行一組工作並組織程式碼編譯。如需詳細資訊,請參閱 GNU 製作文件 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
man |
man 指令提供指令行公用程式和工具的手冊頁面。例如,man ls 傳回列出目錄內容之ls 命令的手冊頁。有關更多信息,請參閱維基百科手冊頁上的條目 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nano | nano 是用於基於文本的界面的小型和用戶友好的編輯器。如需詳細資訊,請參閱 GNU nano 文件 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
procps |
procps 是一個系統管理實用程序,可用於監視和停止當前正在運行的進程。如需詳細資訊,請參閱 README 檔案,其中列出可以透過 procps 執行的程 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SSH 用戶端 |
SSH 用戶端會使用安全殼層通訊協定來與遠端電腦進行加密通訊。OpenSSH 是已預先安裝的 SSH 用戶端。如需詳細資訊,請參閱 OpenBSD 所維護的 OpenSSH 網站 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sudo |
使用 sudo 公用程式,使用者可以使用其他使用者 (通常是超級使用者) 的安全性權限來執行程式。當您需要以系統管理員身份安裝應用程序時,Sudo 非常有用。如需詳細資訊,請參閱 Sudo 手冊 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tar |
tar 是一個命令行實用程序,您可以使用它將多個文件分組到單個存檔文件中(通常稱為 tarball)。如需詳細資訊,請參閱 GNU tar 文件 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tmux |
tmux 是終端多路復用器,您可以使用它在多個窗口中同時運行不同的程序。有關更多信息,請參閱提供 tmux 簡潔介紹的博客 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unzip |
如需詳細資訊,請參閱壓縮/解壓縮。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VIM |
vim 是一個可自定義的編輯器,您可以通過基於文本的界面進行交互。如需詳細資訊,請參閱 vim.org 上提供的文件資源 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wget |
wget 是一種計算機程序,用於從命令行中指定的端點指定的 Web 服務器中檢索內容。如需詳細資訊,請參閱 GNU Wget 文 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
拉鍊/解壓 |
zip /解壓縮公用程序使用的存檔文件格式,提供無損數據壓縮而不會丟失數據。呼叫 zip 指令,將檔案分組並壓縮到單一歸檔中。使用 unzip 將檔案從歸檔解壓縮到指定的目錄中。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Docker |
Docker |
|
安裝AWS CLI到您的主目錄
就像 CloudShell 環境中預先安裝的其他軟體一樣,此AWS CLI工具會自動更新排程的升級和安全性修補程式。如果您想確保您擁有的 up-to-date 版本最多AWS CLI,可以選擇在 shell 的主目錄中手動安裝此工具。
重要
您需要在主目錄AWS CLI中手動安裝您的副本,以便在下次啟動 CloudShell 工作階段時可用。需要此安裝,因為在您完成 shell 階段作業之後,$HOME
會刪除新增至以外目錄的檔案。此外,安裝此副本之後AWS CLI,它不會自動更新。換句話說,您有責任管理更新和安全性修補程式。
如需AWS共用責任模型的詳細資訊,請參閱資料保護 AWS CloudShell。
安裝 AWS CLI
-
在命 CloudShell 令行中,使用
curl
命令將AWS CLI已安裝的壓縮副本傳輸到 shell:curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
-
解壓縮壓縮文件夾:
unzip awscliv2.zip
-
若要將工具新增至指定的資料夾,請執行AWS CLI安裝程式:
sudo ./aws/install --install-dir /home/cloudshell-user/usr/local/aws-cli --bin-dir /home/cloudshell-user/usr/local/bin
如果安裝成功,命令列會顯示下列訊息:
You can now run: /home/cloudshell-user/usr/local/bin/aws --version
-
為了方便起見,我們建議您同時更新
PATH
環境變數,以便在執行指aws
令時不需要指定安裝工具的路徑:export PATH=/home/cloudshell-user/usr/local/bin:$PATH
注意
如果將此變更還原為
PATH
,則依預設,不具有指定路徑的指aws
令會使用預先安裝AWS CLI的版本。
在 shell 環境中安裝第三方軟件
注意
建議您先檢閱「共用安全性責任模型
依預設,所有AWS CloudShell使用者都具有 sudo 權限。因此,您可以使用sudo
命令來安裝 shell 運算環境中尚未提供的軟體。例如,您可以sudo
與 DNF 套件管理公用程式搭配使用來安裝cowsay
,該公用程式會產生含有訊息的母牛的 ASCII 藝術圖片:
sudo dnf install cowsay
然後,您可以通過鍵入啟動新安裝的程序echo "Welcome to AWS
CloudShell" | cowsay
。
重要
Package 管理公用程式,例如 DNF 安裝程式在目錄中 (例如)/usr/bin
,這些公用程式會在 shell 工作階段結束時回收這些程式。這表示每個工作階段會安裝和使用額外的軟體。
使用指令碼修改您的殼層
如果您想要修改預設的 shell 環境,您可以編輯每次 shell 環境啟動時執行的 shell 指令碼。每當默認的 bash shell 啟動時,.bashrc
腳本都會運行。
警告
如果您不正確地修改.bashrc
檔案,之後可能無法存取您的 shell 環境。最好在編輯之前製作文件副本。您也可以在編輯時開啟兩個 shell 來降低風險.bashrc
。如果您在一個 shell 中失去存取權,您仍然可以登入另一個 shell,而且可以復原任何變更。
如果您在錯誤修改.bashrc
或任何其他檔案之後失去存取權限,您可以刪除主目錄AWS CloudShell來回復其預設設定。
在此程序中,您將修改指.bashrc
令碼,讓殼層環境自動切換為執行 Z 殼層。
-
.bashrc
使用文本編輯器打開(例如 Vim):vim .bashrc
-
在編輯器介面中,按 I 鍵開始編輯,然後新增以下內容:
zsh
-
要退出並保存編輯過的
.bashrc
文件,請按Esc進入 Vim 命令模式並輸入以下內容::wq
-
使用命
source
令重新載入.bashrc
檔案:source .bashrc
當指令行介面再次可用時,提示符號已變更
%
為,表示您現在正在使用 Z 殼層。