【初心者向け】AWS CLIを使わずにブラウザでコマンドを実行できるCloud9を始めて触ってみました。

どうもさいちゃんです。今回はCloud9を触る機会があったので初心者向けにCloud9で環境を構築するはじめの一歩を記事にしました。Cloud9って聞いたことあるけど概要から簡単に知りたい!という方におすすめのブログになります。
2022.01.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

CloudForemationについて学びたいな。と思ってこちらのハンズオンをやってみようと思っていたらその前にCloud9を触ることになりました。

よく知らないサービスを触る前に概要だけでも抑えておこう。ということで、Cloud9の概要と簡単に触ってみたので初心者向けにまとめてみました!

Cloud9とは

コマンドを使って各サービスとやり取りをしたい場合AWSではAWS CLIを使用することが一般的ですが、CLIをインストールしたり各OSごとに対応の仕方が違ったりと少し準備が必要になってきてしまいます。そこで活用することができるのがCloud9です。

Cloud9は完全にブラウザのみでコードを記述、実行、デバックができるクラウドベースの『統合開発環境』です。

Cloud9を使うメリット

  • ブラウザのみでのコード記述

Cloud9にはあらかじめ一般的なプログラム言語に不可欠なツールがパッケージ化されています。そのため、コードを記述する上で追加で何かをインストールしたりという下準備が必要なく、誰でも簡単にコードを使った開発に専念することができます。
これはCloud9の特徴の一つであり、大きなメリットになると思います。

  • リアルタイムで共同でコーディング可能

Cloud9は簡単に開発環境をチームで共有することが可能です。リアルタイムでお互いのタイピングを確認することもIDE内でチャットを開始することも可能なので、チーム内でコミュケーションをとりつつ開発を進めることができます。

  • AWSのサービスに直接ターミナルアクセス可能

コマンドを実行してAWSサービスに直接アクセスすることが可能なのもメリットの一つです。この辺の権限てどうなってるんだろう。とちょっと疑問に思ったので調べてみたんですが、

AWS Cloud9 は AWS Identity and Access Management (IAM) サービスリンクロールを使用します。サービスにリンクされたロールは、AWS Cloud9 に直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールは、AWS Cloud9 による事前定義済みのロールであり、ユーザーに代わってサービスから AWS の他のサービスを呼び出すために必要なすべてのアクセス権限を備えています。

参考:のサービスにリンクされたロールの使用AWS Cloud9

公式ドキュメントにはこんな感じで書いてありました。ざっくり解釈すると、Cloud9にはユーザーの代わりに他のサービスを呼び出すことのできるCloud9独自のアクセス権限(サービスリンクロール)が与えられているようです。

簡単に環境を作れました

実際にCloud9で環境を立ち上げてみます。

まずは、マネジメントコンソールからCloud9の画面にアクセスをしcreate enviormentをクリックします。

環境名と環境の説明(任意)を設定したら、次は環境の詳細設定です。今回はすべてデフォルトのままにしておきます。

ロールの部分をよく見てみると先ほど説明した通りCloud9一意のサービスリンクロールがついていることがわかると思います。

次の画面に進むと最終確認画面です。自信が設定したものに間違いなければそのまま作成します!

環境が作成されるには1~2分ほど時間がかかりますが、作成が完了するとこのようなページに移行します。

この画面から他のサービスの検索などはできないので、Cloud9マークからGo to your Dashboarを選択すると別タブでダッシュボードが開いてくれるようになっています。

念のためEC2を確認してみると、しっかり先ほど作成した環境名が入ったインスタンスが立ち上がっていますね。

下のタブから簡単なコマンドを打ってみるとしっかりと結果が返ってくることが確認できました。成功です!

感想

cloud9を使うのは初めてだったのですが、環境はサックっと作ることができました。これならもっと早く使えばよかったなというのが感想です。ここからコマンドを使ってさらに構築を行う工程に関しては、次回ブログでCloudForemationとも絡めながら紹介していきたいと思いますので、そちらのブログもぜひ読んでみてください!