AWS CloudShellとは?
AWS CloudShellは2020年12月にリリースされたブラウザベースのシェル実行環境です。AWSのマネジメントコンソールにログイン後利用可能であり、以下の特徴があります。
- AWSマネジメントコンソールに統合されており、特別なリソース作成不要。
- AWSマネジメントコンソールにログインすれば、aws cli / bash / powershell によるAWSの管理操作が可能。
- 操作権限はIAMユーザに割り当てられている権限になるため、改めてCloudShell用の権限を管理する必要はない。
管理対象が増えてくると何かと aws cli で対象リソースの検索や一覧の取得を行う機会が増えますが、これまで/これからAWSのリソース管理を行う方には以下のメリットがあります。
- aws cli 実行用の踏み台サーバが不要。(踏み台サーバのIAMロール管理、利用における踏み台サーバへの接続手順、踏み台サーバのOSユーザ管理、踏み台サーバ自体のコストなどに悩む必要がなくなった)
- AWSマネジメントコンソールに統合されており、踏み台サーバでの運用と比較し、便利かつセキュリティが担保されている。(AWSマネジメントコンソールへのログインが前提かつログインしているIAMユーザの権限に操作が限定される)
AWS CloudShellの使い方
AWSマネジメントコンソールにログインします。
ログイン後、通知アイコンの左側にCloudShellのアイコンがありますので、こちらをクリックします。
CloudShellが利用可能になるまでに若干(2〜3分)時間がかかりますので、しばし待ちます。
利用可能になるとコンソールのプロンプトが表示され、入力待ちになります。
操作方法はEC2のAmazonLinuxと変わりません。以下の例では aws cli にてVPCの一覧を表示しています。
利用可能になってすぐに設定不要で利用可能なので便利です。
AWS CloudShell利用における注意点
- CloudShell のストレージ容量は1GB。大きなファイルの入出力には向かない。
- CloudShell に対する操作なし/コマンド実行中の待ち状態などの CloudShell に対する入出力操作がない状態が15分続くと CloudShell のセッションが自動で閉じられる。
- CloudShell のIPアドレスはグローバルIPアドレスであり、VPC内リソースへのアクセスには向かない。(SSH接続でVPC内のEC2へ接続など)
- 120日間 CloudShell の利用がない場合、CloudShellに保管されているファイルは削除される。(事前にHealthDashboardに通知が来ます。)
まとめ
aws のリソース管理を aws cli でされていた方、これから aws cli で管理されようとされている方、CloudShell は皆さんに便利なサービスです。
使い方も実に簡単ですので、実践いただければと思います。