翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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
など) を入力します。
シェル
名前 | 説明 | [Version information] |
---|---|---|
Bash |
Bash シェルは、デフォルトのシェルアプリケーションです AWS CloudShell。 |
|
PowerShell (pwsh) |
コマンドラインインターフェイスとスクリプト言語のサポートを提供する PowerShell は、マイクロソフトの .NET コマンド言語ランタイムの上に構築されています。PowerShell は、.NET オブジェクトを受信して返す |
|
Zシェル (zsh) |
Z シェル、別名 |
|
AWS コマンドラインインターフェイス (CLI)
名前 | 説明 | [Version information] |
---|---|---|
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 モジュールです AWS 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
名前 | 説明 | [Version information] |
---|---|---|
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 は、Python デベロッパーが Amazon EC2 や Amazon S3 などの作成、設定 AWS のサービス、管理に使用する Software Development Kit (SDK) です。 Amazon S3 SDK は、easy-to-useオブジェクト指向 API と、 への低レベルアクセスを提供します AWS のサービス。 詳細については、Boto3 ドキュメント |
|
開発ツールおよびシェルユーティリティ
名前 | 説明 | [Version information] |
---|---|---|
bash-completion |
bash-completion は、Tab キーを押して部分的に入力されたコマンドまたは引数の残りの自動入力を可能にするシェル機能の集まりです。 パッケージのコマンドの自動入力を設定するには、プログラムファイルをソースにする必要があります。例えば、Git コマンドのオートコンプリートを設定するには、 AWS CloudShell セッションが開始するたびに機能を使用
カスタム補完スクリプトを使用したい場合、それらを永続的なホームディレクトリ ( 詳細については、GitHub でプロジェクトの README |
|
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 ドキュメント |
|
procps |
procps は、現在実行中のプロセスをモニタリングおよび停止するために使用できるシステム管理ユーティリティです。詳細については、procps で実行できるプログラムをリストする README ファイル |
|
SSH クライアント |
SSH クライアントは、リモートコンピュータとの暗号化通信にセキュアシェルプロトコルを使用します。OpenSSH は、プリインストールされている SSH クライアントです。詳細については、OpenBSD によって維持される OpenSSH サイト |
|
sudo |
sudo ユーティリティを使用すると、ユーザーは別のユーザー (通常はスーパーユーザー) のセキュリティ許可でプログラムを実行できます。Sudo は、システム管理者としてアプリケーションをインストールする必要がある場合に便利です。詳細については、「Sudo マニュアル |
|
tar |
tar は、複数のファイルを単一のアーカイブファイル (tarball と呼ばれることが多い) にグループ化するために使用できるコマンドラインユーティリティです。詳細については、GNU tar ドキュメント |
|
tmux |
tmux は、複数のWindowsで異なるプログラムを同時に実行するために使用できるターミナルマルチプレクサです。詳細については、tmux の簡潔な紹介を提供するブログ |
|
unzip |
詳細については、「zip/unzip」を参照してください。 | |
vim |
vim は、テキストベースのインターフェースを介して対話的な操作を可能にするカスタマイズ可能なエディタです。詳細については、vim.org で提供されるドキュメントリソース |
|
wget |
wget は、コマンドラインでエンドポイントによって指定された ウェブ サーバーからコンテンツを取得するために使用されるコンピュータプログラムです。詳細については、GNU Wgetドキュメント |
|
zip/enzip |
zip/unzip ユーティリティは、データを失うことなくロスレスデータ圧縮を実現するアーカイブファイル形式を使用します。zip コマンドを呼び出して、単一のアーカイブ内のファイルをグループ化して圧縮します。unzip を使用して、アーカイブから指定したディレクトリにファイルを抽出します。 |
|
Docker |
Docker |
|
ホームディレクトリ AWS CLI への のインストール
CloudShell 環境にプリインストールされている他のソフトウェアと同様に、 AWS CLI ツールは、スケジュールされたアップグレードとセキュリティパッチで自動的に更新されます。のバージョンがup-to-dateであることを確認する場合は AWS CLI、シェルのホームディレクトリにツールを手動でインストールできます。
重要
次回 CloudShell セッションを開始するときに使用できるように、 のコピーをホームディレクトリ AWS CLI に手動でインストールする必要があります。このインストールが必要なのは、$HOME
の外部のディレクトリに追加されたファイルが、シェルセッションが終了すると削除されるためです。また、この のコピーをインストールした後は AWS CLI、自動的に更新されません。つまり、アップデートおよびセキュリティパッチを管理するのはユーザーの責任です。
責任 AWS 共有モデルの詳細については、「」を参照してくださいでのデータ保護 AWS CloudShell。
をインストールするには AWS CLI
-
CloudShell コマンドラインで、
curl
コマンドを使用して、 AWS CLI インストールされた の zip コピーをシェルに転送します。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 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 シェルを使用していることを示します。