AWS Cloud9 を触ってみる。
まえがき
そういえば転職してからブログ書く習慣が完全に途絶えてしまいました。。
前職は仕事が面白くない余裕があったのでブログをガンガン書こうと思ってましたが、
今は新しい仕事に興味が湧いていてこっちが疎かになってしまって。
でもこのままではまずい!ということで、手始めに前から構想していた
という環境整備から初めます。業務用 PC とは別に MacBook Air を持ち歩くのは思いし嫌だ!というのが理由であり、業務用 PC でこっそり開発するのが目的ではありませんよ。
SaaS もあるやん
SaaS の Web IDE は便利そうですが、触ってみるとやっぱり片手落ち感があります。 私の場合は結局色々 Bash でコマンドを叩く必要があるからですね。
だから、自前 VM 上 Web IDE を準備してしまえ、っていう着想で色々調べてました。が、つい 2017/12 頭に AWS からめちゃくちゃ便利な物が出ました。
自前 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 用ユーザ(セキュリティのことを考えると特権ユーザを渡したくないですよね・・・!)
ただ、何が動いているかいちいち全て調べないといけないのはなぁ・・・という凝り性なので。。
Setting Up
- IAM ユーザに Cloud9 の権限を IAM で渡しておく:Setting Up to Use AWS Cloud9 - AWS Cloud9
- cloud9 で環境作成時に SSH の公開鍵情報をコピーして cloud9 用ユーザに貼り付け
専用 EC2 インスタンスを立ち上げるのが一番ラクで、3 分もしないうちに使えるようになりますし、最近追加されたハイバネート機能もあり安価でかつ高性能開発環境を作ることができます。CentOS でもハイバネート機能使えるようにできないかな。。
Warning
現状 c9.ide.lambda.docker が CentOS だとうまく入れられないようです *2。
https://forums.aws.amazon.com/thread.jspa?messageID=816676&tstart=0
とりあえず最初だけ sudo をパスワード無しで実行出来るようにしておくと、 勝手に Docker をインストール Docker 上で lambda 用コンテナを動かすための環境セットアップを裏で実行されます。これは流石に通知無しでやられるのはつらい。
今後
本番はこれからです。
余談
cloud9 でも出来ますが、コードの共同編集って今後どんどん広がるんでしょうね。 Office 365 でも、Google Doc 系でもすでに広まってますが、コード界隈だと atom や VIsual Code も対応し始めたりし。面白そうな世界です。