AWS CloudShellコンピューティング環境:仕様とソフトウェア - AWS CloudShell

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CloudShellコンピューティング環境:仕様とソフトウェア

起動するとAWS CloudShellに基づくコンピューティング環境Amazon Linux 2シェルエクスペリエンスをホストするために作成されます。環境はコンピューティングリソース (vCPU とメモリ)そして、の広い範囲を提供しますプリインストール済みソフトウェアコマンドラインインターフェイスからアクセスできます。ソフトウェアをインストールし、シェルスクリプトを変更して、デフォルト環境を構成することもできます。

コンピューティング環境のリソース

EACHAWS CloudShellコンピューティング環境には、次の CPU およびメモリリソースが割り当てられます。

  • 1 vCPU (仮想中央処理装置)

  • RAM 2 GiB

さらに、環境は次のストレージ構成でプロビジョニングされます。

  • 1 GB の永続ストレージ(セッション終了後もストレージは保持されます)

詳細については、「」を参照してください永続的ストレージ

重要

現在、AWS CloudShellコンピューティング環境は Docker コンテナをサポートしていません。

CloudShell ネットワークの要件

ウェブソケット

CloudShell は、Web ソケットプロトコルである。これにより、ユーザーのウェブブラウザと、双方向の対話型通信が可能になる CloudShell のサービスAWSクラウド型。プライベートネットワークでブラウザを使用している場合は、おそらくプロキシサーバーとファイアウォールによってインターネットへの安全なアクセスが容易になります。Web ソケット通信は通常、問題なくプロキシサーバーをトラバースできます。しかし、場合によっては、プロキシサーバーによって Web ソケットが正しく動作しなくなります。これが発生した場合、 CloudShell インターフェイスは、次のエラーを報告します。Failed to open sessions : Timed out while opening the session

このエラーが繰り返し発生する場合は、プロキシサーバーのドキュメントを参照して、Web ソケットを許可するように構成されていることを確認します。または、ネットワークのシステム管理者に問い合わせてください。

注記

特定の URL を許可してよりきめ細かな権限を定義する場合は、URL の一部をAWS Systems Managerセッションは、 WebSocket 入力を送受信するための接続。(おれのAWS CloudShellコマンドはそのSystems Manager セッションに送信されます。)

この形式は次のとおりです。 StreamUrl Systems Manager で使われているのは wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)

-領域のリージョン識別子を表します。AWSによってサポートされるリージョンAWS Systems Managerまたはus-east-2米国東部 (オハイオ) リージョンの場合。

なぜならsession-idが作成される特定の Systems Manager セッションが正常に開始されました。指定できるのは、wss://ssmmessages.region.amazonaws.comURL 許可リストを更新するとき。詳細については、「」を参照してください。StartSessionでのオペレーションAWS Systems ManagerAPI リファレンス

プリインストールされたソフトウェア

注記

なぜならAWS CloudShell開発環境は、最新のソフトウェアへのアクセスを提供するために定期的に更新されています。このドキュメントでは、特定のバージョン番号は提供していません。代わりに、インストールされているバージョンを確認する方法を説明します。多くの場合、これは、プログラム名の後に--versionオプション (たとえば、git --version).

シェル

プレインストールされたシェル
[Name] (名前) 説明 [Version information]

Bash

Bash シェルは、のデフォルトのシェルアプリケーションです。AWS CloudShell。

bash --version

PowerShell

コマンドラインインターフェイスとスクリプト言語のサポートを提供し、 PowerShell は、マイクロソフトの.NET Command Language Runtime の上に構築されています。 PowerShell という軽量コマンドを使用します。cmdlets.NET オブジェクトを受け入れて返します。

(Get-Host).Version

Zシェル (zsh)

Zシェル、別名zshは、テーマとプラグインのカスタマイズサポートを強化したBourne Shellの拡張バージョンです。

zsh --version

AWSコマンドラインインターフェイス (CLI)

CLI
[Name] (名前) 説明 [Version information]

AWS CLI

-AWS CLIは、複数の管理に使用できるコマンドラインインターフェイスです。AWSサービスをコマンドラインから実行したり、スクリプトを使用して自動化したりできます。詳細については、「」を参照してくださいの使用AWSのサービスAWS CloudShell

最も多く使用されていることを確認する方法の詳細については、「」を参照してください。 up-to-date 版AWS CLIバージョン 2 については、を参照してください。のインストールAWS CLIホームディレクトリに移動します。

aws --version

EB CLI

-AWS Elastic BeanstalkCLI には、ローカルリポジトリからの環境の作成、更新、モニタリングを簡素化するコマンドラインインターフェイスが用意されています。

詳細については、「」を参照してください。Elastic Beanstalk コマンドラインインターフェイス (EB CLI) の使用AWS Elastic Beanstalkデベロッパーガイド

eb --version

Amazon ECS CLI

Amazon Elastic Container Service (Amazon ECS) コマンドラインインターフェース (CLI) には、クラスターおよびタスクの作成、更新、モニタリングを簡素化する高レベルコマンドが用意されています。

詳細については、「」を参照してください。Amazon ECS コマンドラインインターフェイスの使用Amazon Elastic Contain Service 開発者ガイド

ecs-cli --version

AWS SAM CLI

AWS SAMCLI は、上で動作するコマンドラインツールです。AWS Serverless Application Modelテンプレートとアプリケーションコード。複数のタスクを実行できます。これには、ローカルでの Lambda 関数の呼び出し、サーバーレスアプリケーションのデプロイパッケージの作成、サーバーレスアプリケーションのデプロイなど、ローカルでの Lambda 関数の呼び出し、サーバーレスアプリケーションをAWSクラウド型。

詳細については、「」を参照してください。AWS SAMCLI コマンドリファレンスAWS Serverless Application Modelデベロッパーガイド

sam --version

ランタイムと AWS SDK: Node.js と Python 3

ランタイムと AWS SDK
[Name] (名前) 説明 [Version information]

Node.js(npm付き)

Node.js は JavaScript 非同期プログラミング手法をより簡単に適用できるようにデザインされたランタイム。詳細については、「」を参照してください。Node.js の公式サイトのドキュメント

npm は JavaScript モジュールのオンラインレジストリへのアクセスを提供するパッケージマネージャーです。詳細については、「」を参照してください。公式npmサイトのドキュメント

  • Node.js:node --version

  • npm:npm --version

向け SDK JavaScript Node.js で

このソフトウェア開発キット (SDK) は、Amazon S3、Amazon EC2、DynamoDB、および Amazon SWF などの AWS のサービスに JavaScript オブジェクトを提供することにより、コーディングを簡素化するのに役立ちます。詳細については、『AWS SDK for JavaScript デベロッパーガイド』を参照してください。

npm -g ls --depth 0 2>/dev/null | grep aws-sdk

Python

Python 3 と Python 2 はどちらもシェル環境で使用できます。Python 3 は現在、プログラミング言語のデフォルトバージョンと見なされます (Python 2 のサポートは 2020 年 1 月に終了しました)。詳細については、「」を参照してください。Python 公式サイトのドキュメント

また、Python のパッケージインストーラである pip がプリインストールされています。このコマンドラインプログラムを使用して、Python パッケージインデックスなどのオンラインインデックスから Python パッケージをインストールできます。詳細については、「」を参照してください。Python Packaging Authority が提供するドキュメント

  • Python 2:python --version

  • Python 3:python3 --version

  • pip:pip3 --version

SDK for Python (Boto3)

Boto は、Python デベロッパーが EC2 や S3 などの AWS のサービスを作成、設定、管理するために使用するソフトウェア開発キット (SDK) です。SDK は、AWS のサービスへの低レベルのアクセスだけでなく、使いやすいオブジェクト指向の API を提供します。

詳細については、「」を参照してください。Boto3 のドキュメント

pip3 list | grep boto3

開発ツールとシェルユーティリティ

開発ツールとシェルユーティリティ
[Name] (名前) 説明 [Version information]

バッシュコンプリート

bash-completion(bash-completion)は、部分的に型付けされたコマンドや引数のオートコンプリートをタブkey。bash-completion がサポートするパッケージは/usr/share/bash-completion/completions

パッケージのコマンドのオートコンプリートを設定するには、プログラムファイルをソースする必要があります。たとえば、Git コマンドのオートコンプリートを設定するには、次の行を [] に追加します。.bashrcそのため、この機能はいつでも利用できます。AWS CloudShellセッション開始:

source /usr/share/bash-completion/completions/git

カスタム補完スクリプトを使用する場合は、それらを永続的なホームディレクトリに追加します ($HOME) で直接ソースする.bashrc

詳細については、プロジェクトの「」を参照してください。READMEGitHub のページです。

yum info bash-completion

Git 用の CodeCommit ユーティリティ

git-remote-codecommit は、からコードをプッシュおよびプルするための簡単な方法を提供するユーティリティです。 CodeCommit Git を拡張してリポジトリ。これは、フェデレーティッドアクセス、ID プロバイダー、および一時的な認証情報を使用した接続をサポートするために推奨される方法です。

詳細については、「」を参照してください。への HTTPS 接続をセットアップする手順AWS CodeCommitgit-remote-codecommitAWS CodeCommitユーザーガイド

pip3 list | grep git-remote-codecommit

Git

Git は、ブランチワークフローとコンテンツのステージングを通じて、最新のソフトウェア開発プラクティスをサポートする分散バージョン管理システムです。詳細については、「」を参照してください。Git の公式サイトのドキュメントページ

git --version

イプチルス

iputils パッケージには Linux ネットワーク用のユーティリティが含まれています。提供されるユーティリティの詳細については、「」を参照してください。GitHub の iputils リポジトリ

iputils ツールの例:arping -V

jq jq ユーティリティは JSON 形式のデータを解析して、コマンドラインフィルタによって変更された出力を生成します。詳細については、「」を参照してください。GitHub でホストされている jq マニュアル

jq --version

make

make ユーティリティはmakefiles一連のタスクを自動化し、コードのコンパイルを整理します。詳細については、「」を参照してください。GNU ドキュメントを作成する

make --version

man

man コマンドは、コマンドラインユーティリティとツールのマニュアルページを提供します。たとえば、man lsのマニュアルページを返します。lsディレクトリの内容を一覧表示するコマンド。詳細については、「」を参照してください。ウィキペディアのマニュアルページへのエントリー

man --version

procps

procps は、現在実行中のプロセスを監視および停止するために使用できるシステム管理ユーティリティです。詳細については、「」を参照してください。procps で実行できるプログラムをリストする README ファイル。

ps --version

SSH クライアント

SSH クライアントは、リモートコンピュータとの暗号化通信にセキュアシェルプロトコルを使用します。OpenSSH は、プリインストールされている SSH クライアントです。詳細については、「」を参照してください。OpenSSH サイトOpenBSD によって維持されています。

ssh -V

sudo

sudo ユーティリティを使用すると、ユーザーは別のユーザー (通常はスーパーユーザー) のセキュリティ権限でプログラムを実行できます。Sudo は、システム管理者としてアプリケーションをインストールする必要がある場合に便利です。詳細については、「」を参照してください。Sudo マニュアル

sudo --version

tar

tar は、複数のファイルを単一のアーカイブファイル (tarball と呼ばれることが多い) にグループ化するために使用できるコマンドラインユーティリティです。詳細については、「」を参照してください。GNU tar のドキュメント

tar --version.

tmux

tmux は、複数のウィンドウで異なるプログラムを同時に実行するために使用できるターミナルマルチプレクサです。実行中、tmux はウィンドウの下部にあるステータスバーに現在のセッションに関する情報を表示します。詳細については、「」を参照してください。tmux の簡潔な紹介を提供するブログ

tmux -V

unzip

「zip/unzip」を参照
vim

vim は、ユーザーがテキストベースのインターフェイスを介して対話するカスタマイズ可能なエディタです。詳細については、「」を参照してください。vim.org で提供されるドキュメントリソース

vim --version

wget

wget は、コマンドラインでエンドポイントによって指定された Web サーバーからコンテンツを取得するために使用されるコンピュータプログラムです。詳細については、「」を参照してください。GNU Wgetドキュメント

wget --version

zip/解凍

zip/unzip ユーティリティは、データを失うことなくロスレスデータ圧縮を実現するアーカイブファイル形式を使用します。zip コマンドを呼び出して、単一のアーカイブ内のファイルをグループ化して圧縮します。解凍を使用して、アーカイブから指定したディレクトリにファイルを抽出します。

unzip --version

zip --version

のインストールAWS CLIホームディレクトリに移動します。

にプリインストールされている他のソフトウェアと同様に CloudShell 環境、AWS CLIツールは、スケジュールされたアップグレードとセキュリティパッチで自動的に更新されます。あなたが最も多いことを保証したい場合 up-to-date のバージョンAWS CLIでは、シェルのホームディレクトリにツールを手動でインストールするように選択できます。

重要

のコピーは手動でインストールする必要があります。AWS CLIホームディレクトリで、次回の起動時にそのディレクトリを使用できるようにします。 CloudShell セッション。これは、ファイルが外部のディレクトリに追加されるためです。$HOMEシェルセッションが終了すると、削除されます。また、このコピーをインストールした後にも注意してください。AWS CLIの場合、自動的には更新されません。つまり、アップデートとセキュリティパッチを管理するのはユーザーの責任です。

の詳細については、「」を参照してください。AWS責任共有モデル。「」を参照してください。AWS CloudShell でのデータ保護

AWS CLI をインストールするには

  1. 最初に、 CloudShell コマンドライン、curlコマンドで圧縮されたコピーを転送するAWS CLIシェルにインストールする:

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  2. zip フォルダを解凍します。

    unzip awscliv2.zip
  3. 次に、を実行します。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
  4. 独自の便宜のために、「」の更新も行っておくことをお勧めします。PATH実行時にツールのインストールへのパスを指定する必要がないように、環境変数awsコマンド:

    export PATH=/home/cloudshell-user/usr/local/bin:$PATH
    注記

    この変更を元に戻すとPATH,aws指定したパスを使用しないコマンドは、プリインストールされたバージョンのを使用します。AWS CLIデフォルトでは。

シェル環境へのサードパーティーソフトウェアのインストール

注記

「」を確認することをお勧めします。共有セキュリティ責任共有モデルサードパーティアプリケーションをAWS CloudShellコンピューティング環境。

デフォルトでは、allAWS CloudShellユーザーには sudo 権限があります。したがって、を使用すると、sudoコマンドを実行して、シェルのコンピューティング環境でまだ利用できないソフトウェアをインストールします。たとえば、を使用すると、sudoYUM パッケージ管理ユーティリティを使用して GNU nano テキストエディタをインストールします。

sudo yum install nano

次に、次のように入力して、新しくインストールしたプログラムを起動できます。nano

重要

ディレクトリに yum インストールプログラムなどのユーティリティをパッケージ管理する (/user/binなど)。シェルセッションが終了するとリサイクルされます。つまり、セッションごとに追加のソフトウェアがインストールされ、使用されます。

スクリプトでシェルを修正する

デフォルトのシェル環境を変更する場合は、シェル環境が起動するたびに実行されるシェルスクリプトを編集できます。-.bashrcデフォルトの bash シェルが起動するたびにスクリプトが実行されます。

警告

を誤って変更した場合.bashrcファイルを使用すると、その後シェル環境にアクセスできないことがあります。編集する前に、ファイルのコピーを作成することをお勧めします。編集時にシェルを 2 つ開くことでリスクを軽減することもできます。.bashrc。一方のシェルでアクセスできなくなった場合でも、他のシェルにログインし、変更をロールバックできます。

誤って変更した後にアクセスできなくなった場合.bashrcまたは他のファイルを返すことができますAWS CloudShellデフォルト設定にホームディレクトリの削除

この手順では、.bashrcシェル環境が自動的に Z シェルの実行に切り替わるようにスクリプトを実行します。

  1. を開く.bashrcテキストエディタを使用する (例:Vim など)。

    vim .bashrc
  2. エディタインターフェイスで、インスタンスキーを押して、編集を開始し、以下を追加します。

    zsh
  3. 編集したを終了して保存するには.bashrcファイル、を押します。Escをクリックして Vim コマンドモードに入り、以下を入力します。

    :wq

  4. を使用するsourceコマンドをリロードする.bashrcfile:

    source .bashrc

    コマンドラインインターフェイスが再度使用可能になると、プロンプトシンボルがに変更されました。%Z シェルを使用していることを示します。

ホームディレクトリの削除

警告

ホームディレクトリを削除することは、ホームディレクトリに保存されているすべてのデータが完全に削除されるという不可逆的なアクションです。ただし、次の場合は、このオプションを検討することをお勧めします。

  • ファイルを誤って変更したため、AWS CloudShellコンピューティング環境。ホームディレクトリを削除すると、「」が返されます。AWS CloudShellをデフォルト設定にします。

  • すべてのデータをから削除したいAWS CloudShellすぐに。なお、使用をやめた場合AWS CloudShellでAWSリージョン、永続ストレージは保持期間の終了時に自動的に削除される起動しない限りはAWS CloudShellリージョンでもう一度です。

ファイルに長期保存が必要な場合は、Amazon S3 や CodeCommit などのサービスを検討してください。

ホームディレクトリを削除してリセットするにはAWS CloudShell

  1. 左 CloudShell インターフェース、選択アクション,削除AWS CloudShellホームディレクトリ

  2. [] ダイアログボックスで、[delete] という単語を入力して、削除オプション。

    
      [ホームディレクトリの削除] ボタンをアクティブにします。
  3. [Delete] (削除) を選択します。

    新しいAWS CloudShellデフォルト設定のコンピューティング環境が作成され、起動されます。削除を確認するには、lsホームディレクトリ内のコマンドを実行します。