🐚

AWS Cloud Shellを触ってみた

2022/05/10に公開

最初に

2022年GWに開催のAWSのユーザーコミュニティのCLI (Command Line Interface)専門支部の初学者向け強化週間に参加し、CLIコマンド操作のメインとして利用するcloud9へのIAM権限付与を目的として、はじめてAWS Cloud Shellに触れる機会がありましたので今回の記事を書いてみました。


AWS CloudShellとは

・ブラウザーベースの事前認証済みシェル。
・マネジメントコンソールから直接起動し使用可能。
・希望のシェル(Bash、PowerShell、または Z シェル)を使用しAWSサービスに対してAWS CLIコマンドを実行可能。
・結果CLIツールのダウンロード・インストールも不要。
・AWS CLIバージョン2(シェルのコンピューティング環境にPre Installされている)を使用して AWSサービスを操作時、認証情報設定をスキップできる。
・追加料金なしで利用可能。

との事。(※公式ドキュメントより抜粋。)


AWS以外のクラウドサービスにも同様のサービスは存在

今回はAWSのCloud Shellをお触りしたお話ですが、GCPやAzureにも同様の機能は存在するようです。

機能の違いなどの深堀していませんが、以下のような入門や概説のページを発見したので貼っておきます。
https://kiosk-dot-codelabs-site.appspot.com/codelabs/cloud-shell-ja/index.html?index=..%2F..gcp-next-tok#0
https://docs.microsoft.com/ja-jp/azure/cloud-shell/overview


起動まで

まずは触ってみようと言う事で、

コンソール画面右上のこちら↓のアイコンから起動。


希望するリージョンを忘れず選択(※起動前でもOK/今回は東京を選択)


起動まで待機/体感でいうと1分程度待ちがあります。


準備完了しました。


右上の「Actions」ボタンの内容確認


上から順番に

New tab:現アクティブタブの横に新タブ追加。


Sprit into rows :現アクティブタブの下の行に新タブ追加。


Sprit into Colmuns :現アクティブ列の横列に新タブ追加。


Download file :ダイアログボックスでファイルのパスを入力しダウンロード実行。

訳:
※AWSCloudShellからローカルデスクトップにファイルをダウンロード。
※フォルダはサポートされていません。


Upload file :ダイアログボックスでファイルUP実行。

訳:
※コンピューターからAWSCloudshellホームディレクトリに一度に1つのファイルをアップロード可能。
※ホームディレクトリは1GBに制限されています。この制限を超えるとアップロードは失敗します。

ファイルを削除するにはAWS CloudShellの場合は、次のような標準のシェルコマンドを使用します。rm(削除):
rm my-file-for-removal


Restart AWS CloudShell :再起動。

訳:
AWS CloudShellを再起動すると現在のAWSリージョンでアクティブな全セッションがすぐに停止します。


Delete AWS CloudShell home directory :ホームディレクトリを削除

訳:
※ホームディレクトリを削除するとAWSCloudShell環境に現在保存されているすべてのデータが削除されます。
※このアクションは元に戻せません。
※AWS CloudShellは現在のAWSリージョンでアクティブな全セッションを停止、新環境をすぐに作成します。

ちなみに・・

ファイルとストレージの操作について

AWS CloudShellのインターフェイスでは、セッション終了後に追加したファイルを使用できるようにするには、永続ストレージと一時ストレージの違いを知っておく必要があります。

との事。

永続的ストレージ:AWSリージョンそれぞれに1GBの永続ストレージがある。
永続的ストレージはホームディレクトリにあります。

一時ストレージ:一時記憶域はホームディレクトリ外のディレクトリに存在。セッションの最後にリサイクルされます。

※将来のシェルセッションで保持して使用するファイルは、常にホームディレクトリに残す必要があります。
※ホームディレクトリからファイルを移動した場合(たとえばmvコマンド)、現在のシェルセッションが終了するとリサイクルされます。


各使用制限について

同時シェル数:

各シェルで同時に10個までの走らせることができます。

非アクティブセッション
キーボードやポインタを使って操作しない場合おおよそ20分—30分でシェルセッションが終了。

(実行中のプロセスはインタラクションとしてカウントされません)。

セッション最大継続時間

約12時間連続して実行されているセッションはユーザーが定期的に操作している場合でも自動的に終了します。

月間使用制限
リージョンの月間制限があるようで達するとシェル環境を開始できない旨のメッセが表示されるとの事

ネットワークアクセス

アウトバウンド: ユーザーはパブリックインターネットにアクセス可能。
インバウンド: ユーザーはインバウンドポートにアクセス不可。パブリックIPアドレス使用不可。
※パブリックインターネットにアクセスすると、特定のユーザーがデータをエクスポートする危険性有。

データ転送

大きなファイルの場合処理が遅くなる可能性有。CLI使用でS3バケットから環境にファイル転送も可能。

※詳しいコンピューティング環境についてはこちらを参照


おわりに

内容の多くが公式ドキュメントから文章を抜粋したものでしたが、スクショを添えて振り返ってみました。

お付き合いいただき有難うございました。

Discussion