前提条件
- EC2 インスタンスが既に構築済み
- 対象インスタンスのセキュリティグループを変更可能(運用的に)
- EC2にEIPが設定済みである(インスタンス再起動時にEIPじゃないとCloud9で再ログインできなくなる)
- regionが東京である(東京ではない場合、22portを許可する帯域を調べる必要がある)
- 踏み台を使って構築することも可能だが今回は行わない
手順
- EC2のセキュリティグループに18.179.48.128/27,18.179.48.96/27を22portに対して許可
- AWS Cloud9にアクセスする
- 「Create environment」を押す
- 適当なNameとDescriptionを入れてNextStep
- 「User」「Port」に適切な値を入力し、「Host」にGIPを入力する
- 「Connect and run in remote server (SSH)」を選択し、「View public SSH key」をクリックして表示される公開鍵を対象のEC2インスタンスの/home/{User}/.ssh/authorized_keysに追加する
- 「Next Step」を押し、内容に間違いないことを確認したら「Create environment」でcloud9構築準備完了。画面で進捗が確認できます。
Appendix
作成したユーザ以外からアクセスできるようにする
- cloud9にログインし、右上の「Share」をクリック
- 「Invite Members」の欄にIAM User名を入力して「Invite」ボタンを押す
Could not run nodeなどとエラーが出てきてaws cloud9が作れない
EC2がAmazon Linuxの場合など、yum repositoryにnodejsがない場合があるので事前に、nvmなどでnodejsをインストールしておく。
東京region以外に作りたいので許可するIP帯を知りたい
- aws cloud9を「Create a new instance for environment (EC2)」を使っていったんaws cloud9用のEC2を作る (後で削除する)
- 作られたEC2のセキュリティグループに設定されているIP帯域がそのregionでアクセスしてくるIPアドレスです。
- 1で作成したaws cloud9のEC2を削除し冒頭の手順を使ってaws cloud9を作る
EIP忘れてcloud9作ってしまった場合の修正方法
- EIPを発行して対象インスタンスに紐づける(この時点で一時的にcloud9に接続できなくなる)
- aws cloud9 のコンソールにログインし、対象environmentの[Edit]をする
- [Host]のIPをEIPのものに変更し[Save Changes]を押す
Oregonの場合の許可する帯域
34.218.119.32/27, 34.217.141.224/27