翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CloudShellコンピューティング環境: 仕様とソフトウェア
を起動するとAWS CloudShell、Amazon Linux 2023
コンピューティング環境のリソース
各AWS CloudShellコンピューティング環境には、次の CPU リソースとメモリリソースが割り当てられます。
-
1 vCPU (仮想 CPU)
-
2-GiB RAM
また、環境は次のストレージ構成でプロビジョニングされます。
-
1-GB の永続的ストレージ (セッション終了後もストレージは保持されます)
詳細については、「永続ストレージ」を参照してください。
CloudShell ネットワーク要件
WebSockets
CloudShell は WebSocket プロトコルに依存しています。これにより、ユーザーのウェブブラウザとAWSクラウド内の CloudShell サービス間の双方向のインタラクティブ通信が可能になります。プライベートネットワークでブラウザを使用している場合、プロキシサーバーとファイアウォールによってインターネットへの安全なアクセスが促進されていると考えられます。通常、WebSocket 通信は、問題なくプロキシサーバーを通過できます。しかし、場合によっては、プロキシサーバーが WebSockets の正常な動作を妨げることがあります。この問題が発生した場合、CloudShell インターフェースは次のエラーを報告します (Failed to open sessions : Timed out while opening the session)。
このエラーが繰り返し発生する場合は、プロキシサーバーのドキュメントを参照して、WebSockets を許可するように設定されていることを確認します。または、ネットワークのシステム管理者に問い合わせてください。
注記
特定の URLs を許可リストに登録して詳細なアクセス許可を定義する場合は、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 Systems Manager、 でサポートされているリージョンus-east-2のリージョン識別子AWSを表します。
セッション ID は特定の Systems Manager セッションが正常に開始された後に作成されるため、URL 許可リストを更新するときしか wss://ssmmessages.region.amazonaws.com を指定できません。詳細については、「AWS Systems Manager API リファレンス」の「StartSession」オペレーションを参照してください。
プリインストールされたソフトウェア
注記
AWS CloudShell開発環境は最新のソフトウェアへのアクセスを提供するために定期的に更新されるため、このドキュメントでは特定のバージョン番号は提供していません。代わりに、インストールされているバージョンをチェックする方法を記述します。インストールされているバージョンを確認するには、プログラム名の後に --version オプション (例えば、git
--version など) を入力します。
シェル
| 名前 | 説明 | バージョン情報 |
|---|---|---|
|
Bash |
Bash シェルはデフォルトのシェルアプリケーションですAWS CloudShell。 |
|
|
PowerShell (pwsh) |
コマンドラインインターフェイスとスクリプト言語のサポートを提供する PowerShell は、マイクロソフトの .NET コマンド言語ランタイムの上に構築されています。PowerShell は、.NET オブジェクトを受信して返す |
|
| Zシェル (zsh) |
Z シェル、別名 |
|
AWSコマンドラインインターフェイス (CLI)
| 名前 | 説明 | バージョン情報 |
|---|---|---|
|
AWS CDKツールキット CLI |
Toolkit AWS CDK、CLI コマンド、 は 詳細については、「AWS CDK Toolkit」を参照してください。 |
|
|
AWS CLI |
AWS CLIは、コマンドラインから複数のAWSサービスを管理し、スクリプトを使用して自動化するために使用できるコマンドラインインターフェイスです。詳細については、「CloudShell で CLI から AWS サービスを管理する」を参照してください。 最新バージョンであるAWS CLIバージョン 2 を確実に使用する方法については、「ホームディレクトリAWS CLIへの のインストール」を参照してください。 |
|
| EB CLI |
AWS Elastic Beanstalk CLI には、ローカルリポジトリからの環境の作成、更新、モニタリングを簡素化するコマンドラインインターフェイスが用意されています。 詳細については、AWS Elastic Beanstalkデベロッパーガイドの「Elastic Beanstalk コマンドラインインターフェイス (EB CLI) の使用」を参照してください。 |
|
|
Amazon ECS CLI |
Amazon Elastic Container Service (Amazon ECS) コマンドラインインターフェイス (CLI) は、クラスターとタスクの作成、更新、モニタリングを簡素化するための高レベルのコマンドを提供します。 詳細については、Amazon Elastic Container Service デベロッパーガイドの「Amazon ECS コマンドラインインターフェイスの使用」を参照してください。 |
|
|
AWS SAM CLI |
AWS SAM CLI は、AWS Serverless Application Modelテンプレートとアプリケーションコードで動作するコマンドラインツールです。いくつものタスクを実行できます。これには、Lambda 関数のローカル呼び出し、サーバーレスアプリケーションのデプロイパッケージの作成、サーバーレスアプリケーションのAWSクラウドへのデプロイが含まれます。 詳細については、AWS Serverless Application Modelデベロッパーガイドの「AWS SAM CLI コマンドレファレンス」を参照してください。 |
|
| AWS Tools for PowerShell | AWS Tools for PowerShellは、 によって公開されている機能に基づいて構築された PowerShell モジュールですSDK for .NET。を使用するとAWS Tools for PowerShell、PowerShell コマンドラインからAWSリソースに対するオペレーションをスクリプト化できます。 AWS CloudShellは、 のモジュール化されたバージョン (AWS.Tools) をプリインストールしますAWS Tools for PowerShell。 詳細については、「AWS Tools for PowerShellユーザーガイド」の「AWS Tools for PowerShell の使用」を参照してください。 |
|
ランタイムおよび AWS SDK: Node.js および Python 3
| 名前 | 説明 | バージョン情報 |
|---|---|---|
|
Node.js (npm 付き) |
Node.js は、非同期プログラミング手法を簡単に適用できるように設計された JavaScript ランタイムです。詳細については、「Node.js の公式サイトのドキュメント npm は JavaScript モジュールのオンラインレジストリへのアクセスを提供するパッケージマネージャーです。詳細については、「公式 npm サイトのドキュメント |
|
|
SDK for JavaScript in Node.js |
Software Development Kit (SDK )を使用すると、Amazon S3、Amazon EC2、DynamoDB、および Amazon SWF などの AWS のサービスに JavaScript オブジェクトを提供することで、コーディングを簡素化できます。詳細については、AWS SDK for JavaScriptデベロッパーガイドを参照してください。 |
|
|
Python |
Python 3 はシェル環境で使用可能になりました。Python 3 は現在、プログラミング言語のデフォルトバージョンと見なされています (Python 2 のサポートは 2020 年 1 月に終了しました)。詳細については、「Python 公式サイトのドキュメント また、Python のパッケージインストーラである pip がプリインストールされています。このコマンドラインプログラムを使用して、Python パッケージインデックスなどのオンラインインデックスから Python パッケージをインストールできます。詳細については、Python Packaging Authority が提供するドキュメント |
|
|
SDK for Python (Boto3) |
Boto は、Amazon EC2 や Amazon S3 などAWS のサービス、Python 開発者が作成、設定、管理するために使用するソフトウェア開発キット (SDK) です。 Amazon S3 SDK は、easy-to-useオブジェクト指向 API と、 への低レベルのアクセスを提供しますAWS のサービス。 詳細については、Boto3 ドキュメント |
|
開発ツールおよびシェルユーティリティ
| 名前 | 説明 | バージョン情報 |
|---|---|---|
|
bash-completion |
bash-completion は、Tab キーを押して部分的に入力されたコマンドまたは引数の残りの自動入力を可能にするシェル機能の集まりです。 パッケージのコマンドの自動入力を設定するには、プログラムファイルをソースにする必要があります。たとえば、Git コマンドのオートコンプリートを設定するには、次の行を に追加して
カスタム補完スクリプトを使用したい場合、それらを永続的なホームディレクトリ ( 詳細については、GitHub でプロジェクトの README |
|
| cqlsh-expansion | cqlsh-expansion は、Apache Cassandra との完全な互換性を維持し、Amazon Keyspaces 用に事前設定された cqlsh とヘルパーを含むツールキットです。詳細については、「Amazon Keyspaces (Apache Cassandra 向け) 開発者ガイド」の「cqlsh を使用して Amazon Keyspaces に接続する」を参照してください。 |
|
| Docker |
Docker |
|
| Git |
Git は、ブランチワークフローおよびコンテンツのステージングを介して、最新のソフトウェア開発プラクティスをサポートする分散バージョン管理システムです。詳細については、Git の公式サイトのドキュメントページ |
|
| iputils |
iputils パッケージには Linux ネットワーク用のユーティリティが含まれています。提供されるユーティリティの詳細については、「GitHub の iputils リポジトリ |
iputils ツールの例: |
| jq | jq ユーティリティは JSON 形式のデータを解析して、コマンドラインフィルタによって変更された出力を生成します。詳細については、GitHub でホストされている jq マニュアル |
|
|
kubectl |
kubectl は、Kubernetes API を使用して Kubernetes クラスターのコントロールプレーンと通信するためのコマンドラインツールです。 |
|
|
make |
make ユーティリティは makefiles を使用して、一連のタスクを自動化し、コードのコンパイルを整理します。詳細については、GNU Make のドキュメント |
|
|
man |
man コマンドは、コマンドラインユーティリティおよびツールのマニュアルページを提供します。例えば、man ls はディレクトリの内容を一覧表示する ls コマンドのマニュアルページを返します。詳細については、マンページの「Wikipedia エントリ |
|
| nano | nano は、テキストベースのインターフェース用の小さくて使いやすいエディターです。詳細については、「GNU nano ドキュメント |
|
|
OpenJDK 21 |
Amazon Corretto 21 は、OpenJDK 21 |
|
|
procps |
procps は、現在実行中のプロセスをモニタリングおよび停止するために使用できるシステム管理ユーティリティです。詳細については、procps で実行できるプログラムをリストする README ファイル |
|
|
psql |
PostgreSQL は、複雑なデータオペレーションを安全に管理およびスケーリングするための堅牢な機能を提供しながら、標準の SQL 機能を使用する強力なオープンソースデータベースシステムです。詳細については「PostgreSQL とは |
|
|
SSH クライアント |
SSH クライアントは、リモートコンピュータとの暗号化通信にセキュアシェルプロトコルを使用します。OpenSSH は、プリインストールされている SSH クライアントです。詳細については、OpenBSD によって維持される OpenSSH サイト |
|
|
sudo |
sudo ユーティリティを使用すると、ユーザーは別のユーザー (通常はスーパーユーザー) のセキュリティ許可でプログラムを実行できます。Sudo は、システム管理者としてアプリケーションをインストールする必要がある場合に便利です。詳細については、「Sudo マニュアル |
|
|
tar |
tar は、複数のファイルを単一のアーカイブファイル (tarball と呼ばれることが多い) にグループ化するために使用できるコマンドラインユーティリティです。詳細については、GNU tar ドキュメント |
|
|
tmux |
tmux は、複数のWindowsで異なるプログラムを同時に実行するために使用できるターミナルマルチプレクサです。詳細については、tmux の簡潔な紹介を提供するブログ |
|
| vim |
vim は、テキストベースのインターフェースを介して対話的な操作を可能にするカスタマイズ可能なエディタです。詳細については、vim.org で提供されるドキュメントリソース |
|
| wget |
wget は、コマンドラインでエンドポイントによって指定された ウェブ サーバーからコンテンツを取得するために使用されるコンピュータプログラムです。詳細については、GNU Wgetドキュメント |
|
| zip/enzip |
zip/unzip ユーティリティは、データを失うことなくロスレスデータ圧縮を実現するアーカイブファイル形式を使用します。zip コマンドを呼び出して、単一のアーカイブ内のファイルをグループ化して圧縮します。unzip を使用して、アーカイブから指定したディレクトリにファイルを抽出します。 |
|
ホームディレクトリAWS CLIへの のインストール
CloudShell 環境にプリインストールされている他のソフトウェアと同様に、AWS CLI ツールは、スケジュールされたアップグレードとセキュリティパッチで自動的に更新されます。のup-to-dateであることを確認する場合はAWS CLI、シェルのホームディレクトリにツールを手動でインストールすることを選択できます。
重要
CloudShell セッションを次回開始するときに使用できるように、 のコピーをホームディレクトリAWS CLIに手動でインストールする必要があります。このインストールが必要なのは、$HOME の外部のディレクトリに追加されたファイルが、シェルセッションが終了すると削除されるためです。また、この のコピーをインストールした後はAWS CLI、自動的には更新されません。つまり、アップデートおよびセキュリティパッチを管理するのはユーザーの責任です。
バージョン間の変更を確認するには、AWS CLI「変更ログ
責任AWS共有モデルの詳細については、「」を参照してくださいでのデータ保護AWS CloudShell。
をインストールするにはAWS CLI
-
CloudShell コマンドラインで、
curlコマンドを使用して、AWS CLIインストールされた の圧縮されたコピーをシェルに転送します。curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" -
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 -
また、独自の便宜のために、
awsコマンド実行時にツールのインストールへのパスを指定する必要がないように、PATH環境変数を更新することもお勧めします。export PATH=/home/cloudshell-user/usr/local/bin:$PATH注記
この変更を に元に戻すと
PATH、指定されたパスを持たないawsコマンドは、AWS CLIデフォルトで のプリインストール済みバージョンを使用します。
ホームディレクトリAWS Tools for PowerShellへの のインストール
CloudShell 環境にプリインストールされている他のソフトウェアと同様に、AWS Tools for PowerShellモジュールはスケジュールされたアップグレードとセキュリティパッチで自動的に更新されます。のup-to-dateであることを確認する場合はAWS Tools for PowerShell、シェルのホームディレクトリにモジュールを手動でインストールすることを選択できます。
重要
CloudShell セッションを次回開始するときに使用できるように、 のコピーをホームディレクトリAWS Tools for PowerShellに手動でインストールする必要があります。このインストールが必要なのは、$HOME の外部のディレクトリに追加されたファイルが、シェルセッションが終了すると削除されるためです。また、この のコピーをインストールした後はAWS Tools for PowerShell、自動的には更新されません。つまり、アップデートおよびセキュリティパッチを管理するのはユーザーの責任です。
バージョン間の変更を確認するには、AWS Tools for PowerShell「変更ログ
責任AWS共有モデルの詳細については、「」を参照してくださいでのデータ保護AWS CloudShell。
をインストールするにはAWS Tools for PowerShell
-
開始する前に、 を実行してアクティブな PowerShell セッションをすべて終了します
exit。これらのコマンドは、デフォルトの Bash シェルから実行する必要があります。PowerShell セッションからそれらを実行すると、構文エラーが発生したり、アクティブなセッションによってロックされている場合にモジュールが更新されない可能性があります。 -
curlコマンドを使用して、AWS Tools for PowerShellモジュールの圧縮されたコピーをダウンロードします。curl -sf -o AWS.Tools.zip "https://sdk-for-net.amazonwebservices.com/ps/v5/latest/AWS.Tools.zip" || echo "Download failed" -
PowerShell モジュールディレクトリから既存の AWS.Tools モジュールを削除します。
find "/home/cloudshell-user/.local/share/powershell/Modules" -maxdepth 1 -type d -name "AWS.Tools.*" -exec rm -rf {} + -
モジュールを PowerShell モジュールディレクトリに解凍します。
unzip -q -o AWS.Tools.zip -d "/home/cloudshell-user/.local/share/powershell/Modules" -
ダウンロードした zip ファイルを削除します。
rm -f AWS.Tools.zip -
PowerShell を起動し、インストールを確認します。
pwsh次に、インストールされているバージョンを確認します。
Get-AWSPowerShellVersion
ホームディレクトリAWS Tools for PowerShellから を削除するには、PowerShell を終了し、次のコマンドを実行します。
find "/home/cloudshell-user/.local/share/powershell/Modules" -maxdepth 1 -type d -name "AWS.Tools.*" -exec rm -rf {} +
シェル環境へのサードパーティーソフトウェアのインストール
注記
サードパーティーアプリケーションをAWS CloudShellコンピューティング環境にインストールする前に、共有セキュリティ責任モデル
デフォルトでは、すべてのAWS CloudShellユーザーに sudo アクセス許可があります。したがって、シェルのコンピューティング環境でまだ利用できないソフトウェアをインストールするために sudo コマンドを使用できます。例えば、DNF パッケージ管理ユーティリティで sudo を使用して cowsay をインストールできます。これにより、次のメッセージ付きの牛の ASCII アート画像が生成されます。
sudo dnf install cowsay
次に、echo "Welcome to AWS
CloudShell" | cowsay を入力して、新しくインストールしたプログラムを起動できます。
重要
dnf などのパッケージ管理ユーティリティは、プログラムをディレクトリ (/usr/bin など) にインストールします。各プログラムは、シェルセッションが終了するとリサイクルされます。つまり、セッションごとに追加のソフトウェアがインストールされ、使用されることを意味します。
スクリプトでシェルを修正する
デフォルトのシェル環境を変更する場合は、シェル環境が起動するたびに実行されるシェルスクリプトを編集できます。デフォルトの bash シェルが起動するたびに .bashrc スクリプトが実行されます。
警告
.bashrc ファイルを誤って修正した場合、その後シェル環境にアクセスできないことがあります。編集する前にファイルのコピーを作成することをお勧めします。.bashrc の編集時にシェルを 2 つ開くことでリスクを軽減することもできます。一方のシェルでアクセスできなくなった場合でも、他のシェルにログインし、変更をロールバックできます。
.bashrc やその他のファイルを誤って変更した後にアクセスが失われた場合は、ホームディレクトリを削除してデフォルト設定AWS CloudShellに戻すことができます。
この手順では、シェル環境で自動的に Z シェルの実行に切り替わるように .bashrc スクリプトを変更します。
-
テキストエディタ (例:Vim) を使用して、
.bashrcを開きます。vim .bashrc -
エディタインターフェースで、I キーを押して編集を開始し、次に以下を追加します。
zsh -
.bashrcファイルを終了して保存するには、Esc を押して Vim コマンドモードを入力後、以下を入力します。:wq -
sourceコマンドを使用して.bashrcファイルを再ロードする:source .bashrcコマンドラインインターフェイスが再び使用可能になると、プロンプトシンボルが
%に変化して、Z シェルを使用していることを示します。