Elaboration in, Garbage out

Twitt*r ではメモできない何かそれ的なモノ・コトを

AWS Cloud9 を触ってみる。

まえがき

そういえば転職してからブログ書く習慣が完全に途絶えてしまいました。。 前職は仕事が面白くない余裕があったのでブログをガンガン書こうと思ってましたが、 今は新しい仕事に興味が湧いていてこっちが疎かになってしまって。

でもこのままではまずい!ということで、手始めに前から構想していた

  • タブレットを持ち歩いて
  • ブラウザで自分の VM 上にある Web IDE を立ち上げ開発する

という環境整備から初めます。業務用 PC とは別に MacBook Air を持ち歩くのは思いし嫌だ!というのが理由であり、業務用 PC でこっそり開発するのが目的ではありませんよ。

SaaS もあるやん

paiza.hatenablog.com

SaaS の Web IDE は便利そうですが、触ってみるとやっぱり片手落ち感があります。 私の場合は結局色々 Bash でコマンドを叩く必要があるからですね。

だから、自前 VM 上 Web IDE を準備してしまえ、っていう着想で色々調べてました。が、つい 2017/12 頭に AWS からめちゃくちゃ便利な物が出ました。

aws.amazon.com

自前 Web IDE 構想を考えると認証どうすんだっけ・・・と気になりますが(私だけ?)、AWS なら IAM でユーザ管理できる*1し二要素認証もバッチリです。

Cloud9とは

ブラウザ内で動く統合開発環境です。SaaS 版も前からあったらしいのですが、AWS に移行したことで色々紛糾しているよう:AWS Cloud9 has launched! - Cloud9 Support - Cloud9 Community

Prerequisite

公式には多分 Amazon Linux なのですが、私はいつの間にか CentOS 派になってしまったので CentOS で頑張ります。

  • CentOS 7
  • Node(どうやら 0.6.16 以上が必要なので epel で入れるのは微妙そう。)
  • Cloud9 用ユーザ(セキュリティのことを考えると特権ユーザを渡したくないですよね・・・!)

Amazon Linux でもいいんですけどね。ええ。

dev.classmethod.jp

ただ、何が動いているかいちいち全て調べないといけないのはなぁ・・・という凝り性なので。。

Setting Up

専用 EC2 インスタンスを立ち上げるのが一番ラクで、3 分もしないうちに使えるようになりますし、最近追加されたハイバネート機能もあり安価でかつ高性能開発環境を作ることができます。CentOS でもハイバネート機能使えるようにできないかな。。

Warning

現状 c9.ide.lambda.docker が CentOS だとうまく入れられないようです *2https://forums.aws.amazon.com/thread.jspa?messageID=816676&tstart=0 とりあえず最初だけ sudo をパスワード無しで実行出来るようにしておくと、 勝手に Docker をインストール Docker 上で lambda 用コンテナを動かすための環境セットアップを裏で実行されます。これは流石に通知無しでやられるのはつらい。

今後

本番はこれからです。

余談

cloud9 でも出来ますが、コードの共同編集って今後どんどん広がるんでしょうね。 Office 365 でも、Google Doc 系でもすでに広まってますが、コード界隈だと atom や VIsual Code も対応し始めたりし。面白そうな世界です。

*1:ただし IAM 上でユーザ管理をしない運用だとつらそう。

*2: Forum 見ると多分 Ubuntu