🐚

AWS Cloud Shellをはじめて触ってみたんだよ という記事

2022/05/10に公開約4,100字

ご挨拶

こんにちは!mjxoこと加藤と申します☆

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


はじめに。「AWS CloudShell」とは??

〜AWS CloudShell〜

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

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


CloudShellはAWS以外のクラウドインフラサービスにも存在。

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

知識浅+門外漢ですので機能の違いなどの深堀は控えますが、
以下のような入門や概説のページを発見したので貼っておきます。

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バケットから環境にファイル転送も可能。

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


実際のCLIでの構築

についても勉強した内容を簡単に書く気で始めたのですが、
想定より長くなり過ぎているような気がしますのでまた別の機会に分けて投稿する事にします・・。


おわりに

ほとんどが公式ドキュメントから文章を抜粋しただけなので、
「公式を見た方が早い」のですが、知識補足とアウトプットを兼ねてですのでお許しください!

素晴らしいサービスだなと思ったので是非触ってみてください☆

Discussion

ログインするとコメントできます