AWS CloudShell で即座に始める AWS 操作 - ブラウザベースのシェル環境活用術

コンソールからワンクリックで起動し、AWS CLI・SAM CLI・CDK がプリインストールされた環境で即座に作業を開始できる。1 GB の永続ストレージでスクリプトも保持されます。

CloudShell の特徴と利用場面

CloudShell は AWS マネジメントコンソールから直接起動できるブラウザベースのシェル環境です。コンソール上部のターミナルアイコンをクリックするだけで、数秒で Amazon Linux 2023 ベースのシェルが起動します。AWS CLI v2、SAM CLI、CDK、Terraform、Python、Node.js、Git、jq、kubectl、eksctl などの主要ツールがプリインストールされており、追加のインストール作業なしに AWS リソースの操作を開始できます。ローカル環境の構築が困難な場面、一時的な管理作業、トラブルシューティング時の迅速な対応に特に有効です。コンピューティングリソースは vCPU 1 コア、メモリ 2 GB が割り当てられ、軽量なスクリプト実行や CLI 操作には十分ですが、大規模なビルドやデータ処理には適しません。

認証とセキュリティ

CloudShell はコンソールにログインした IAM プリンシパルの認証情報を自動的に継承します。アクセスキーの設定や環境変数の手動設定は不要で、コンソールで操作可能な権限がそのまま CLI で使用できます。IAM ポリシーで CloudShell へのアクセス自体を制御でき、特定のユーザーやロールに CloudShell の利用を制限できます。CloudShell 環境はセッションごとに独立しており、他のユーザーの環境にアクセスすることはできません。ネットワークはアウトバウンドのみ許可され、外部から CloudShell 環境に接続することはできません。セッションが 20 分間非アクティブだと自動的に停止しますが、永続ストレージのデータは保持されます。

永続ストレージとカスタマイズ

CloudShell はリージョンごとに 1 GB の永続ストレージをホームディレクトリ ($HOME) に提供します。スクリプト、設定ファイル、.bashrc のカスタマイズがセッション間で保持されます。pip や npm でパッケージを $HOME 配下にインストールすることも可能です。ファイルのアップロード (最大 1 GB) とダウンロード機能で、ローカルマシンとのファイル転送が簡単に行えます。CloudFormation テンプレートをアップロードしてデプロイしたり、クエリ結果をダウンロードしたりする用途に便利です。永続ストレージは 120 日間 CloudShell を使用しないと自動削除されるため、重要なファイルは S3 にバックアップすることを推奨します。

Cloud9 との使い分け

CloudShell と Cloud9 はどちらもブラウザベースの AWS 操作環境ですが、用途が明確に異なります。CloudShell は CLI 操作と軽量スクリプトに特化した無料のシェルで、エディタ機能やデバッガーは持ちません。一方 Cloud9 はコードエディタ・デバッグ機能・ファイルツリーを備えた統合開発環境 (IDE) で、バックエンドに EC2 インスタンスが起動するため利用時間に応じた課金が発生します。「ちょっと CLI で確認したい」なら CloudShell、「コードを書いてデバッグしたい」なら Cloud9 という使い分けが基本です。なお AWS は 2024 年 7 月に Cloud9 の新規アカウントへの提供を停止し、代替として VS Code 拡張の AWS Toolkit や SageMaker Code Editor を推奨しています。CloudShell は引き続き全アカウントで利用可能です。

実践的な活用テクニック

日常の運用で CloudShell を最大限活用するテクニックを紹介します。第一に、.bashrc にエイリアスやプロンプトカスタマイズを設定しておくと、毎回のセッションで同じ作業環境が再現されます。例えば alias ll='ls -la' や AWS_DEFAULT_OUTPUT=table の設定が有用です。第二に、よく使うスクリプト (リソース一覧取得、タグ付けバッチ、コストチェック) を $HOME/scripts/ に保存しておくと、永続ストレージがセッション間で保持するため即座に実行できます。第三に、複数タブ機能を活用することで、異なるリージョンやアカウントの作業を並行して進められます。注意点として、CloudShell は VPC 内のプライベートリソースに直接アクセスできないため (VPC 環境機能を有効化しない場合)、RDSElastiCache への直接接続が必要な場合は VPC 環境設定を検討するか、代わりに Session Manager を経由する方法があります。

CloudShell の料金

CloudShell は無料で利用できます。コンピューティング環境、1 GB の永続ストレージ、プリインストールされたツールすべてに追加料金は発生しません。CloudShell から実行した AWS CLI コマンドで作成・操作するリソースの料金のみが課金されます。セッションが 20 分間非アクティブだと自動終了し、120 日間使用しないと永続ストレージが削除されます。ローカル環境のセットアップコストや、Cloud9 の EC2 インスタンス料金と比較すると、簡単な AWS 操作やスクリプト実行には CloudShell が最もコスト効率の高い選択肢です。

まとめ

CloudShell はブラウザから即座に AWS CLI 操作を開始できる無料のシェル環境です。プリインストールされた AWS CLI、Python、Node.js、Git で追加設定なしに作業を開始でき、IAM の認証情報が自動設定されます。1 GB の永続ストレージでスクリプトや設定ファイルを保持し、セッション間で作業を継続できます。Cloud9 との使い分けを意識し、CLI 操作・スクリプト実行には CloudShell を、本格的な開発にはローカル IDE または SageMaker Code Editor を選択します。

参考資料 (AWS 公式)

本ページの一次情報は AWS 公式サイトおよび公式ドキュメントです。最新の仕様 / 料金は次の公式ページで確認できます。

本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。