【エバンジェリスト・ボイス】AWS CloudShellでAWS CLIを手軽に! 2021/02/11 (木)
関連するソリューション
ID-Cross/クラウドサービス
先端技術部
エバンジェリスト 松岡 政之
こんにちは。先端技術部エバンジェリストの松岡です。
COVIT-19の流行から一年以上が経ちましたが皆様いかがお過ごしでしょうか。
関東などでは緊急事態宣言が再度発令され、飲食店の短縮営業や多くのイベントが延期・中止するなど日常生活にも大きく影響が出ている方も多いかと思います。
私自身は過去のコラムでも書いている通り、もともとインドア派なので大きなストレスはなく過ごせています。しかし、参加したいイベントやライブなどが中止や延期、配信のみでの開催になったり等やきもきすることも多々あります。
仕事に関しては以前と比べるとリモートワーク等が進み、現地に行かなくてもできる作業が大きく増えたという方も多いのではないでしょうか。私自身ほぼ在宅100%で仕事ができております。
この流れに乗って現地で対応せざるを得ないものを減らしていく一環として、オンプレミスを脱却してクラウドに移行していくのはいかがでしょうか。
というわけで、自然な導入から本題に入ります。
今回は昨年12月15日にサービスリリースされたAWS CloudShellを触っていきたいと思います。
※外部サイト:AWS CloudShell のご紹介
サービスの概要を説明すると、AWS CLIについて実行環境をオンプレミスやEC2インスタンス上に自分で作成しなくても、PaaSサービスとして手軽に利用できるサービスです。
最初から東京リージョンでも利用できるのは嬉しいですね!
まずログインすると、サービス一覧の開発者ツールの場所にもありますが、上の帯の右側にもアクセスできるボタンが用意されています。
セッションを開始すると、環境の準備が始まるのでしばらく待つとLinuxで見慣れたターミナルの画面が表示されます。
どうやら実態はAmazon Linux 2のようです。
dfコマンドでファイルシステムの状況を見てみると、利用できるホームディレクトリの容量は約1GBだということがわかります。
それでは早速AWS CLIのコマンドを実行してみます。
AWS CLIでどのようなコマンドが利用できるかについては※外部サイト:AWS CLI Command Reference をご参照ください。
とりあえずS3のバケットリストを表示するコマンドを実行してみます。すると、S3のバケットのリストを取得することができました。実際のS3のコンソールと比較してみると問題なく情報を取得できていることがわかります。
このように、自分で環境を準備しなくてもAWS CLIをお手軽に利用することができます。
もちろんターミナル上の文字列をコピーしたり、ターミナルに文字列をペーストしたりすることもできますので、Tera TermやPuTTYなどのリモートログオンクライアントと同じように利用することができます。
ただし、現時点では独立したVPCにNATゲートウェイ経由でインターネットにアクセスできるEC2インスタンスが作られているのと同等の環境のため、その他のプライベートなVPC内のリソースに直接アクセスすることはできません。どうしてもアクセスさせたい場合は対象のリソースをパブリックからアクセス可能な状態にするしかないようです。そのためCloudShellを利用できるシーンは少し限られてしまうので注意が必要です。他のPaaSサービスでもVPC連携は後から実装されたりしているので、今後の機能拡張に期待しましょう!
さて、AWS CloudShellですが実はAWS CLIを実行する以外にも色々なことに利用することができます。
まずは、yumコマンドが利用できるので下図のようにパッケージをインストールして利用することができます。
公式のリポジトリだけでなくインターネットに接続可能なのでGitHub等からソフトウェアを入手して動作させることも可能です。
もちろん、viエディタも利用できるので下記の通りコーディングをして動作させることもできます。
また、右上の[Actions]ボタンからファイルのダウンロード/アップロードもできます。
ダウンロードの際は「ダウンロードしたいファイルのフルパス」または「カレントディレクトリからの相対パス」を指定することでファイルをローカル端末にダウンロードすることができます。
一方、アップロードはローカル端末のエクスプローラからファイルを選択することでカレントディレクトリに選択したファイルをアップロードすることができます。
以上、ざっくばらんにAWS CloudShellを触ってみました。
思った以上にいろいろなことができますね!
最後に、今回触ってみた内容のおさらいをします。
まずは本来の使い方としては、AWS CLIの実行環境をボタン一つで作成することができるようになりました。また、IAMユーザのアクセスキーを設定することもなく利用することができます。AWS CLIを軽く利用したい場合、面倒な事前準備なく利用できるのが一番のメリットだと思います。
一方でプライベートなVPC内のリソースへのアクセスは現時点ではできず、利用できるシーンが限られてしまうというデメリットもあるため、オンプレミスの環境やEC2上でのAWS CLIの利用とは利用シーンに応じて選択する必要があります。まだ新しいサービスのためこちらについては今後の機能拡張に期待したいところですが、何はともあれ選択肢が増えたことは喜ばしい事です。
また、AWS CLI以外でも通常のAmazon Linux 2環境とほぼ同様に利用することもできます。1点注意が必要なのはホームディレクトリの容量が1GBしかなく、拡張もできないことです。うかつに巨大なファイルをダウンロードしたりしないようにしましょう。
一応セッションごとに状態は保存されますが、あくまでも一時的に払い出される環境だと思って利用するほうが良いかもしれません。
そして、一番の大きなメリットは「AWS CloudShellは無料で利用できるサービス」ということです。EC2のようにシャッドタウンしないと課金されてしまうことや、ボリュームが残っていると課金されてしまうことなどを気にする必要はありません。
AWS CLIを利用するだけでなく、ちょっとしたスクリプトを実行してみる環境として利用してみるなど、手軽に利用できるAWS CloudShellをぜひ活用してみてください。
それではよいクラウドライフを!
当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。
エバンジェリストによるコラムやセミナー情報、
IDグループからのお知らせなどをメルマガでお届けしています。