AWS Cloud9についてまとめています。
AWS Cloud9は、ブラウザベースのIDE(統合開発環境)
AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。
Cloud9は無料。追加料金無しで利用できます。EC2インスタンスを使用する場合は、EC2のコンピューティングとストレージに料金が発生します。
関連)AWS Cloud9(Cloud IDE でコードを記述、実行、デバッグ)| AWS
コードエディタ、デバッガー、ターミナルが含まれており、JavaScript、Python、PHP、Ruby、Go、C++ などのツールがあらかじめパッケージ化されています。新しいプロジェクトのためにファイルをインストールしたり、開発マシンの設定は不要です。Cloud9 IDE はクラウドベースなので、インターネットに接続されているマシンなら、オフィス、自宅、その他どこからでも場所を問わずにプロジェクトに取り組むことができます。また、Cloud9 では、リソースの定義、デバッグ、ローカルとリモートの間でのサーバーレスアプリケーションの実行の切り替えが簡単です。
AWS Cloud9の利点
Cloud9は、ブラウザのみでコードを記述できます。マネージド Amazon EC2 インスタンスや SSHを使ってLinux サーバーを開発環境とし、Cloud9 のコードエディタと、デバッガーには、コードヒント、コード補完、ステップスルーデバッグなどの機能を提供。コードの高速化とエラーの回避に役立ちます。具体的には、ブレークポイントの設定、コードのステップ実行、PHP、Python、JS/Node.js、C/C++ アプリケーションの変数の検査などが可能です。
Cloud9 ターミナルでは、追加ソフトウェアのインストール、Git管理用のgit push の実行、コードのコンパイル実行、サーバからのコマンド出力の表示などブラウザベースのシェル環境が利用可能です。ターミナルは、管理対象の Amazon EC2 インスタンスに対する完全な sudo 権限を持っています。事前認証済みのAWS CLIがインストールされているため、コマンドラインからAWSの制御も可能です。
【関連記事】
▶AWS CLIのインストール方法 AWSアクセスキーの登録と疎通確認
AWS Cloud9では、リアルタイムに共同でコーディングが可能です。Cloud9をチームで使用することでコードの共有が簡単になり、ペアプログラミングで互いの入力をリアルタイムに追跡できます。共同作業中は、お互いにタイプした文字をリアルタイムで確認でき、IDE内から即座にチャットの開始も可能です。
Cloud9では、サーバーレスアプリケーションを簡単に構築できます。AWS Cloud9では、サーバーレスアプリケーションの作成、実行、デバッグを簡単におこなう仕組みが提供されています。サーバーレス開発に必要な SDK、ライブラリ、プラグインで開発環境が事前設定されます。また、Cloud9 では、Lambda 関数をローカルでテストしたり、デバッグする環境が提供されています。そのため、コードを Lambda コンソールにアップロードして直接反復実行する時間が節約できます。Cloud9 は Serverless Application Model (SAM) もサポートされています。Cloud9 で SAM テンプレートを使用すると、サーバーレスアプリケーション用のリソースを簡単に定義できます。
【関連記事】
▶AWSのSAMは、サーバレスアプリケーションモデルのフレームワーク 専用CLIで操作
AWS Cloud9 は AWS CodeStar と統合されています。このため、アプリケーションのビルド~デプロイが簡単。継続的デリバリー環境を数分で設定できます。CodeStar は、AWS CodeCommit、AWS CodeBuild、AWS CodePipeline、AWS CodeDeploy を使って、AWS 上にアプリケーションを構築、テスト、デプロイできる環境を提供します。
AWS Cloud9の使い方
AWS Cloud9は、AWSマネジメントコンソールから実行可能です。
【関連記事】
▶AWSを集中管理したい!AWS マネジメントコンソールを使いこなそう!
コンソールから、Cloud9を選択し、「Create environment」をクリックすると、環境をセットアップするウイザードが起動します。
セットアップ画面では、新規のEC2インスタンスを作成(ダイレクトアクセスまたは、System Manager経由でアクセス)するか、SSHで既存のリモートサーバに接続するかを選択できます。
Cloud9自体の料金は無料ですが、ここで作成したEC2インスタンスには料金が発生するので注意が必要です。
プラットフォームとして、Amazon Linux2、Amazon Linux AMI、Ubuntu Server 18.04LTSが選択できます。(なお、以前のバージョンのAmazonLinux AMIの標準サポートは、2020年12月31日に廃止。現在、このバージョンはメンテナンスサポートのみを受けています。)
Cost-saving setting(コスト削減設定)では、IDEに接続されているウェブブラウザが閉じられてからCloud9のEC2インスタンスをシャットダウンするまでの時間を設定します。30分、1時間、4時間、1日、1週間、シャットダウンしないが選べます。デフォルトは30分。長い時間を設定するほど、EC2の料金がかさむというわけですね。
Network settings(advance)では、Cloud9がEC2インスタンスと接続するためのAmazon Virtual Private Cloud(Amazon VPC)やサブネットの設定をおこなうことができます。
設定内容レビューの画面から進むと、セットアップは完了です。
以下は、JavascirptのコードをCloud9で実行した例です。
Enter a numberで入力した数値を足していき、qを入力すると処理を終了するという内容です。
var readline = require('readline-sync'); var i = 10; var input; console.log("Hello Cloud9!"); console.log("i is " + i); do { input = readline.question("Enter a number (or 'q' to quit): "); if (input === 'q') { console.log('OK, exiting.') } else{ i += Number(input); console.log("i is now " + i); } } while (input != 'q'); console.log("Goodbye!");
ブレークポイントの設定や、ステップ実行、式や変数のウォッチが可能です。
AWS Cloud9のまとめ
- AWS Cloud9は、ブラウザベースの統合開発環境。JavaScript、Python、PHP、Ruby、Go、C++など40種類以上の言語に対応
- EC2インスタンスまたは、SSH接続でLinuxサーバに接続して使用できる
- チーム利用するとお互いにタイピングの様子がわかる、ペアプログラミングが実行可能