AWS CloudShell使ってみた!

AWSのCloudShellが発表されました!
Azureにもあったような気がしますが。

https://aws.amazon.com/jp/blogs/aws/aws-cloudshell-command-line-access-to-aws-resources/

OSはAmazonLinux2が入っているようです。

利用料金は無料です。AWSの他のリソースを利用したときにはこれまでと同じで料金がかかるようです。

一般的なコマンドラインツールも含まれているとのことです。
さらにsudo権限でyumから他のツールをインストールすることもできるようです。

1つ注意点なのですが、ホームディレクトリにあるファイルはCloudShellで永続化できますが、それ以外は再起動などで削除されるようです。
そのため、ホームディレクトリ以外にインストールされたソフトウェアは永続化できません。
そしてホームディレクトリに保存できる容量はリージョンごとに1GBまでと制限があります。

検証

なにが入っているか軽く確認します

python

[cloudshell-user@ip-10-0-xx-xx ~]$ python --version
Python 2.7.18
[cloudshell-user@ip-10-0-xx-xx ~]$ python3 --version
Python 3.7.9

node

[cloudshell-user@ip-10-0-xx-xx ~]$ node -v
v12.18.4

php

ない模様

[cloudshell-user@ip-10-0-xx-xx ~]$ php -v
bash: php: command not found

zsh

デフォルトで使えるようになっていました。

[cloudshell-user@ip-10-0-55-147 ~]$ zsh
[cloudshell-user@ip-10-0-55-147]~% 

ssh

入っていました。

[cloudshell-user@ip-10-0-55-147 ~]$ ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

再起動してもグローバルIPが変わらないかどうか

ぼかしていますが、再起動したら変わってしまいました

[cloudshell-user@ip-10-0-xx-xx ~]$ curl -s ifconfig.me
xx.xx.xx.xx
[cloudshell-user@ip-10-0-yy-yy ~]$ curl -s ifconfig.me
yy.yy.yy.yy

ファイルのアップロード・ダウンロード

こちらのActionボタンから簡単にアップロードとダウンロードができます。

アップロード

アップロードするときは、以下のような画面が出るので、ファイルを選択するだけです。
一回つき1ファイルまででと書いてありますね

ダウンロード

ダウンロードはファイルのパスを指定します。簡単です。

sshを試す

EC2インスタンスへSSHできるか試してみました。
SSHの鍵ファイルをアップロードするのは嫌だったので、新しくユーザーを作成して試しました。

セキュリティグループでSSHのIP制限を行っている場合、IPを許可する必要があります。

[cloudshell-user@ip-10-0-55-147 .ssh]$ ssh -i ~/.ssh/id_rsa cloudshell@zz.zz.zz.zz
Last login: Wed Dec 16 05:10:35 2020

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[cloudshell@ip-xx-xx-xx-xx ~]$ 

おわりに

1GBという制限があるので、ガッツリ使うのは不向きかもしれませんが、iPadなどのタブレットでも操作可能になったというのは非常に大きいと個人的には思います。
サブとしての使い方が広がりそうです。