CloudShellとは

AWS CloudShellは、Webブラウザ上でLinuxのコマンドを実行できる、AWSが提供するシェル環境です。

AWSマネジメントコンソールから簡単に起動でき、AWS CLIがあらかじめインストールされているため、EC2インスタンスの作成や追加の環境構築を行わずにAWSの各種サービスを操作できます。

CloudShellでは、例えば以下のような操作が可能です。

  • Amazon S3:バケットの作成、ファイルのアップロード・ダウンロード、オブジェクトの一覧表示
  • Amazon EC2:インスタンスの一覧表示、起動、停止、再起動
  • Amazon RDS:データベースインスタンスの一覧表示、作成、設定変更
  • AWS IAM:IAMユーザーやロール、ポリシーの確認・管理
  • AWS Lambda:関数の一覧表示、作成、実行
  • Amazon CloudWatch:メトリクスやログの確認
  • Amazon VPC:VPCやサブネット、セキュリティグループの確認・管理

このように、CloudShellを使用することで、AWSマネジメントコンソールのGUI(グラフィカルユーザーインターフェイス)だけでなく、CUI(キャラクターユーザーインターフェイス)からもAWSのリソースを管理できます。

なお、実行できる操作はIAMのアクセス許可によって制限されます。また、CloudShell自体は追加料金なしで利用できますが、操作によって作成・使用したAWSリソースには料金が発生する場合があります。

本レッスンでは、CloudShellを使用してAmazon S3をコマンドで操作する方法を学習します。

CloudShellのスペック

CloudShellでは、AWSが管理するLinux環境が提供されます。標準的な環境のスペックは以下のとおりです。

項目

スペック

OS

Amazon Linux 2023

CPU

1 vCPU

メモリ

2 GiB

永続ストレージ

1 GB

標準シェル

Bash

AWS CLI

インストール済み

https://docs.aws.amazon.com/ja_jp/cloudshell/latest/userguide/vm-specs.html

CloudShellには1GBの永続ストレージが用意されており、ホームディレクトリに保存したファイルはセッション終了後も保持されます。

ただし、CloudShellは一般的なEC2インスタンスとは異なり、長時間稼働するサーバーとしての利用には適していません。

AWS CLIによるリソース管理や、Linuxコマンドの学習などに適した環境です。

CloudShellはコマンドを実行するもの、というのと同時にLinux環境

CloudShellは、AWSの各種サービスをコマンドで操作するためのツールであると同時に、Linuxが動作する実行環境でもあります。

標準環境ではAmazon Linux 2023が使用されており、ls、cd、mkdir、catなど、一般的なLinuxコマンドを実行できます。

また、ファイルやディレクトリの作成、シェルスクリプトの実行、ソフトウェアのインストールなども可能です。

つまり、CloudShellではAWS CLIによるAWSリソースの操作と、Linuxコマンドによるファイル操作や環境管理の両方を学習できます。

ただし、CloudShellはAWSが管理する一時的な実行環境であり、EC2のように自由にサーバーを構築・運用する用途には適していません。

実際にCloudShellを使ってみる

実際にCloudShellを使用するには、AWSのマネジメントコンソールにログインした状態で左下のCloudShellをクリックします。

こうすることでAWS CloudShellのターミナルが起動します。

ここで任意のコマンドを実行してAWSのリソースに対して操作を行います。

マネジメントコンソールからは確認できない情報を取得するなどするためにCloudShellを実行することがあります。