AWS での作業用に Cloud9 を活用する

GCP には Cloud Shell という Web ベースのターミナルが使えるので、ちょっと作業したい時ブラウザだけで完結できます。

cloud.google.com

AWS には 標準で使える ターミナルはありません。そのため、AWS CLI をローカルマシンにインストールして(そのため Python 環境をインストールして) 環境を作ったり、作業用の EC2 インスタンス作ったりしてました。

blog.kondoumh.com

以前、Cloud IDE を比較したとき初めて使った AWS Cloud9、今は Node.js のコードを書いたりするのに便利に使っています。

aws.amazon.com

IDE のサービスという認識のためターミナルをメインに使うという発想がありませんでした。考えてみたら SSH 不要なので可用性が高いです。環境構築も非常に簡単です。Cloud9 のポータルから Create environment をクリックして開始します。

f:id:kondoumh:20190615182458p:plain

EC2 インスタンスを利用して構築することがほとんどだと思います。Java 開発用の IDE として使うとかでなければ、t2.nano でも十分でしょう。Platform は CentOS ベースの Amazon Linux でも Ubuntu でもお好みで。30分後にインスタンス停止するのがデフォルトオプションなので安心です。

f:id:kondoumh:20190615191742p:plain

EC2 ではなく自前のサーバーに構築することも可能です。このオプションは Cloud 9 を定額の VPS で構築したい場合などに使えそうです。SSH の接続情報を指定することになります。

f:id:kondoumh:20190615192623p:plain

EC2 の場合は確認画面が出ますので構成を確認して Create Environment をクリックします。

f:id:kondoumh:20190615192728p:plain

構築が開始されます。

f:id:kondoumh:20190615203808p:plain

この時、裏では CloudFormation で Stack が作成され始めています。

aws.amazon.com

CloudFormation のスタックを確認してみます。EC2 のセキュリティグループとインスタンスが構築されていっていることが分かります。

f:id:kondoumh:20190615204908p:plain

構築はすぐに終わり IDE が起動します。

f:id:kondoumh:20190615211359p:plain

この時、EC2 管理画面では、t2.micro のインスタンスが起動しているのが確認できます。

f:id:kondoumh:20190615211645p:plain

AWS CLI も最初から使えます。

f:id:kondoumh:20190615205047p:plain

IDE を利用する場合はこれで完了ですが、EKS の CLI で作業をする場合などは、Cloud9 のテンポラリなセッションキーを消して Credential を書き換える必要があります。利用したい IAM ユーザーでターミナルを使用するために設定画面の AWS Settings の AWS managed temporary credentials をオフにします。

f:id:kondoumh:20190615213945p:plain

aws configure を実行して利用したい IAM のアクセスキー ID と秘密アクセスキーを入力します。

masa:~/environment $ aws configure
AWS Access Key ID [None]: XXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXXXXXXXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]: text

Cloud9 は短時間で環境が作れて、課金も微量で、ブラウザだけで作業が完結するので SSH 設定で消耗する必要がなくなりました。