はじめに
AWS CloudShellは、AWSユーザーがブラウザ上で簡単にコマンドライン作業を行えるサービスです。
サーバーやEC2インスタンスの設定は不要で、AWS環境内で必要な操作がすぐに始められます。
この記事ではCloudShellの概要、使用場面、さらに具体的なユースケースを紹介し、利用のメリットを解説します。
CloudShellとは
AWS CloudShellは、AWSが提供するブラウザベースのシェル環境です。
AWSのCLIや各種プログラミング言語のインタプリタがすぐに利用できるため、インスタンスの作成や管理なしでAWSのリソースを操作できます。
最初から設定済みのCLIやツールチェーンがあり、追加のセットアップなしで操作が可能です。
詳細については、以下の公式サイトを参考にしてみてください。
特徴
CloudShellの特徴についたは、ざっくりと以下になります。
-
セキュリティと利便性:
IAM権限に基づくアクセス制御が可能で、AWSリソースに直接アクセスできます。 -
一時的なストレージ提供:
ユーザーの操作中は5GBの一時ストレージが提供され、ファイルの保存やスクリプトの管理が可能です。 -
AWS CLI、Python、Node.jsなどの利用:
CLIを使ったリソース管理やスクリプトの実行が簡単です。
どんな場面で使うのか?
AWS CloudShellは、以下のような場面で利用が効果的です。
-
クイック操作が必要な時:
IAM設定やS3バケットの管理など、少しだけ操作が必要な場合に便利です。 -
リモートワークや出先での作業:
AWS管理画面さえアクセスできれば、インスタンス作成不要でシェル操作が可能です。 -
実験的な環境:
設定やツールを破壊するリスクが低く、CLI操作を試したり学習用途としても使えます。 -
CI/CDパイプラインのデバッグ:
CloudShellからコマンドやスクリプトの動作を確認し、不具合のあるパイプラインを迅速にデバッグできます。
実際に使ってみた
ユースケース⓵: S3バケットの作成
新しいS3バケットを作成する場合、以下のコマンドで実行できます。
aws s3 mb s3://my-bucket-20241106
コマンド実行後、S3のサービス画面からS3バケットが作成されていることが確認できました。
ユースケース⓶: IAMユーザーの設定
IAMユーザーを作成する場合、以下のコマンドで実行できます。
aws iam create-user --user-name your-user-name
コマンド実行後にIAMのサービス画面から作成が確認できました。
ユースケース⓷: RDSのデフォルトMySQLパラメータグループの値をCSV形式で取得
CloudShellから、RDS MySQLのデフォルトパラメータグループの設定値をCSV形式で取得することができます。
以下のコマンドを実行すると、default.mysql8.0
パラメータグループのパラメータがCSV形式で取得され、rds_parameters.csv
というファイルに保存されます。
aws rds describe-db-parameters --db-parameter-group-name default.mysql8.0 \
--query "Parameters[*].[ParameterName, ParameterValue, Description]" \
--output text | sed 's/\t/,/g' > rds_parameters.csv
CSV形式で取得された rds_parameters.csv
というファイルは、アクションタブの「ファイルのダウンロード」から取得できます。
指定した保存先をダウンロード時に選択できます。
少し手間がかかりますが、これを使いこなせると非常に便利です。
まとめ
AWS CloudShellは、AWS環境での運用やトラブルシューティングに強力なツールです。
ブラウザ上でCLI操作が可能で、開発や管理に必要なツールが揃っているため、AWSユーザーにとって非常に便利です。
出先でもリモート作業が可能で、様々なAWSリソースを手軽に管理できます。AWS CloudShellを活用することで、AWS操作がさらにスムーズに進むことでしょう。
おまけ
ユースケース⓷で取得したCSVファイルには、RDS MySQLのデフォルト値が一覧で確認できます。
複数のパラメーターグループを整理する際にとても便利です!
参考文献