AWS

AWS CloudShell を使う!aws cli 操作が便利に

AWS CloudShellとは?

AWS CloudShellは2020年12月にリリースされたブラウザベースのシェル実行環境です。AWSのマネジメントコンソールにログイン後利用可能であり、以下の特徴があります。

  1. AWSマネジメントコンソールに統合されており、特別なリソース作成不要。
  2. AWSマネジメントコンソールにログインすれば、aws cli / bash / powershell によるAWSの管理操作が可能。
  3. 操作権限は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利用における注意点

  1. CloudShell のストレージ容量は1GB。大きなファイルの入出力には向かない。
  2. CloudShell に対する操作なし/コマンド実行中の待ち状態などの CloudShell に対する入出力操作がない状態が15分続くと CloudShell のセッションが自動で閉じられる。
  3. CloudShell のIPアドレスはグローバルIPアドレスであり、VPC内リソースへのアクセスには向かない。(SSH接続でVPC内のEC2へ接続など)
  4. 120日間 CloudShell の利用がない場合、CloudShellに保管されているファイルは削除される。(事前にHealthDashboardに通知が来ます。)

まとめ

aws のリソース管理を aws cli でされていた方、これから aws cli で管理されようとされている方、CloudShell は皆さんに便利なサービスです。
使い方も実に簡単ですので、実践いただければと思います。