こんにちは。
久しぶりのプログラミングの話ですが、みなさんプログラミングの開発環境ってどんな感じでしょうか?
以前よりは開発環境の構築も簡単になり、複数人で開発を行う場合でも簡単に開発環境がシェアできるようになりましたが、以前の僕はというと、
- Vagrant
- VirtualBox
- SublimeText or Atom
- etc
このようなツールやもっと前にはXAMPPなども使って開発を行ってきました。
ただブラウザ上でプログラミング開発できればもっと楽ですよね?
WindowsやMacなど環境に左右されずに開発が行えれば、ネット環境さえあればノートパソコンを持ってどこでも開発が行えます。
クラウドIDEとも言われますが、その中でも有名なCloud9を今回はご紹介いたします。
導入にちょっと躓いたところもあったので、手順などもシェアさせて頂きます。
ブラウザ上でプログラミング開発ができるCloud9とは?
そもそもブラウザ上でプログラミング開発ができるCloud9とは何か?
Cloud9とはAmazon Web Services(AWS)の1つのサービス
Cloud9 IDEはオンラインIDE ( 統合開発環境 )であり、バージョン2.0からバージョン3.0までのオープンソースとして公開されている。 C 、 C ++ 、PHP、Ruby、Perl、Python 、Node.jsを伴うJavaScript 、Goなどの複数のプログラミング言語をサポートしている。
Cloud9は、2016年7月にAmazonに買収され 、Amazon Web Services(AWS)の一部になった。 新規ユーザーは、AWSアカウントを介してのみCloud9サービスを使用できる 。
Wikipediaより引用
この通り、現在はAmazon Web Services(AWS)の1つのサービスとなります。
Amazonが買収するくらいですから、今後さらにブラウザ上での開発が浸透していくのではないか?と推測できます。
冒頭でもお伝え致しましたが、ブラウザ上で開発ができるので、ネット環境さえあればWindowsやMacなど環境を気にせずに開発ができる事も大きなポイントです。
EC2やLightsailなどAWSサービス以外のサーバー(ホスト)にも対応
Cloud9はAWSの1つのサービスですが、実はEC2やLightsailなどAWS上のサーバー(ホスト)以外でも、要件を満たす事ができれば利用できます。
例えば他のデータセンター(DC)にあるサーバーでも要件を満たす事が出来ればCloud9が利用できます。
要件というのは以下の手順で詳しく説明します。
Cloud9でプログラミング開発を行うようにできる手順
Cloud9でプログラミング開発を行うようにできる手順を説明致します。
ちなみにAWSのドキュメントにも詳細な要件などが記載されておりますので、こちらも一緒にご確認ください。
AWSのアカウントを持つ
まず、これがないとCloud9は利用できないですね。
さくっとAWSアカウントを作成しましょう。
作成だけでしたら料金がかかる事はございません。
ちなみにAWSのインフラ周りの学習については、こちらの記事にオススメ講座がありますので、参考にしてみてください。
Cloud9の利用に対しサーバー(ホスト)側の要件を満たす
Nodejsのインストール
AWSのドキュメントには「Node.js 0.6.16 から Node.js 12.xまでのバージョンがサポート」となっておりますが、僕の方で試すと正常に動作しなかったバージョンもありましたので、その中で試行錯誤し今回はv8.0.0をインストールしています。
// Cloud9で接続するユーザーにスイッチ
su - xxx
// Nodejsのインストール(ここではバージョン8.0.0としています)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
. ~/.bashrc
nvm install v8.0.0
Python2.7のインストール
Python2.7がインストールされている必要があり、既に2.7がインストール済みの場合はこの手順は不要です。
// rootにスイッチ(sudoでも可)
su -
// Python2.7のインストール
yum -y install centos-release-scl-rh
yum -y install python27
python --version
scl enable python27 bash
python --version
echo 'source /opt/rh/python27/enable' > /etc/profile.d/python27.sh
source /etc/profile
python --version
Cloud9で接続するディレクトリパスの権限確認
Cloud9で接続するディレクトリパスの権限が適切でないと、正常に接続できません。
以下のように権限を付与しておきましょう。(ディレクトリパスが「~」の場合)
chmod u=rwx,g=rx,o=rx ~
Cloud9のIPに対し22ポートの許可設定
Cloud9を利用する上で、Cloud9のIPをサーバー側に許可しないといけません。
IPリストはこちらで確認できます。
東京リージョンの場合は、
- 18.179.48.128/27
- 18.179.48.96/27
これらのIP帯になりますので、それぞれのIP帯を許可しておきましょう。(EC2の場合はセキュリティグループで22ポートの許可設定を行い対象サーバーに適用)
Cloud9のインストーラーの実行
ネットの情報ではCloud9で接続した上でインストーラーの実行との記事も見かけますが、僕の環境ではうまくいかなかったので、直接実行します。
ちなみにAWSのドキュメントはこちらです。
// Cloud9で接続するユーザーにスイッチ
su - xxx
// インストーラーの実行
curl -L https://raw.githubusercontent.com/c9/install/master/install.sh | bash
Cloud9の設定
ここまできて、やっとCloud9の設定となります。
「Create environment」をクリック
「Name」を適当に入力して「Next step」をクリック
「Environment type」は新しくEC2インスタンスを作成するか、既存のEC2や外部サーバーを利用するか、の選択になり、既存のEC2や外部サーバーを利用する場合は、「Create and run in remote server (SSH connection)」を選択します。
「Instance type」と「Platform」と「Cost-saving setting」と「Network settings (advanced)」は新しくEC2を作成する場合に選択します。
「Create and run in remote server (SSH connection)」を選択した場合には、別途「SSH server connection」というSSH接続入力エリアが表示されるので、接続情報を入力します。
入力内容が問題なく「Next step」をクリックすると、Cloud9で接続が試みられます。
ここまできて設定など問題なければ、ブラウザ上でプログラミング開発ができるようになりますね。
まとめ
AWSのサービスの1つでもあるCloud9が利用できるまでをご紹介させて頂きました。
ネット環境さえあれば、WindowsでもMacでもプログラミング開発ができるというのは、今後さらにスタンダードになると思うので、この機会に開発環境を変えてみてはどうでしょうか?
最後まで見て頂きありがとうございました!