AWS CloudShell

ブラウザから直接 AWS CLI や各種開発ツールを実行できる、認証情報の設定が不要なマネージドシェル環境

概要

AWS CloudShell は、マネジメントコンソールからワンクリックで起動できるブラウザベースのシェル環境です。AWS CLI v2、Python、Node.js、Git、jq、vim などの主要ツールがプリインストールされており、ローカル環境のセットアップなしに AWS リソースの操作やスクリプトの実行が可能です。コンソールにログインしたユーザーの IAM 認証情報が自動的に引き継がれるため、アクセスキーの設定も不要です。ホームディレクトリに 1 GB の永続ストレージが割り当てられ、セッション間でファイルやスクリプトを保持できます。

実行環境の仕様と制約

CloudShell は Amazon Linux 2023 ベースのコンテナ環境で動作し、セッションごとに独立した実行環境が割り当てられます。CPU は 1 vCPU、メモリは 2 GB が利用可能で、軽量なスクリプト実行やリソース操作には十分な性能です。AWS CLI v2、Python、Node.js、Git、jq、SAM CLI、CDK CLI がプリインストールされており、pip install や npm install でパッケージを追加することもできます。ホームディレクトリ (/home/cloudshell-user) には 1 GB の永続ストレージが無料で付属し、セッション間でスクリプトや設定ファイルを保持できます。Azure Cloud Shell が Azure Files の共有ストレージ (5 GB) をマウントする構成でストレージアカウントの料金が別途発生するのに対し、CloudShell は追加のリソース作成が不要です。

緊急時のトラブルシューティングに強い理由

CloudShell が最も活躍するのは、本番環境の障害対応です。ローカル環境の AWS CLI 設定やクレデンシャルの問題に煩わされることなく、コンソールから即座にシェルを開いて調査を開始できます。コンソールにログインしたユーザーの IAM 認証情報が自動的に引き継がれるため、アクセスキーの設定も不要です。AWS CLI の関連書籍 (Amazon) で覚えたコマンドをすぐに試せる環境としても便利です。ただし、セッションは 20 分間操作がないと自動的にタイムアウトするため、長時間のバッチ処理には向きません。

VPC 接続とリージョンの注意点

CloudShell のデフォルト環境はインターネットへのアウトバウンド通信が可能ですが、VPC 内のプライベートリソース (RDSElastiCache など) にはアクセスできません。プライベートサブネット内のリソースを操作するには、VPC 環境を指定して CloudShell を起動する必要があり、この場合はインターネットアクセスが制限されるため、NAT Gateway の設定が別途必要です。また、CloudShell はリージョンごとに独立した環境のため、東京リージョンで起動した CloudShell からバージニアリージョンのリソースを操作する場合は --region オプションの指定が必要です。日常的な活用では、全リージョンの EC2 インスタンス一覧を取得するワンライナーや、S3 バケットのアクセスログを jq で集計するスクリプトをホームディレクトリに保存しておくと、いつでも再利用できて効率的です。

共有するXB!