AWS Cloud9 で始めるクラウド開発環境 - ブラウザベース IDE のセットアップと活用

ブラウザだけで AWS 開発を完結できるクラウド IDE。SAM CLI プリインストール環境での Lambda 開発と、リアルタイム共同編集によるペアプログラミングを紹介します。

Cloud9 の特徴と利用場面

Cloud9 はブラウザベースの統合開発環境 (IDE) で、t3.small 程度の EC2 インスタンス上に開発環境を自動構築し、月額数ドルで運用できます。コードエディタ、ターミナル、デバッガーがブラウザ内で動作し、ローカルマシンに開発ツールをインストールする必要がありません。AWS CLI、SAM CLI、Docker、Node.js、Python、Git が事前インストールされており、環境構築に時間をかけずに開発を開始できます。新メンバーのオンボーディング、ハンズオンやワークショップの環境統一、ローカル環境の差異によるトラブル回避に特に有効です。

Lambda 開発と SAM CLI 統合

Cloud9Lambda 関数の開発に最適化されており、最大 10 GB の /tmp ストレージと 15 分のタイムアウトに対応した Lambda のローカルテストが可能です。SAM CLI がプリインストールされているため、sam init でプロジェクトを作成し、sam local invoke でローカルテスト、sam deploy でデプロイまでをターミナルから実行できます。Lambda 関数のインラインデバッグにも対応しており、ブレークポイントを設定してステップ実行が可能です。Docker が利用可能なため、sam local start-api で API Gateway のローカルエミュレーションも実行できます。Cloud9 の環境は EC2 インスタンス上で動作するため、VPC 内のリソース (RDSElastiCache) にプライベートネットワーク経由でアクセスでき、ローカル開発では困難な統合テストも容易に実行できます。

コスト管理とセキュリティ

Cloud9 自体の利用料金は無料で、 EC2 インスタンスと EBS ストレージの料金のみが発生します。自動停止機能により、一定時間操作がないと EC2 インスタンスが自動的に停止し、再度アクセスすると自動起動します。デフォルトの停止タイマーは 30 分で、開発スタイルに応じて調整できます。 t3.small インスタンスであれば、 1 日 8 時間の利用で月額数ドル程度です。セキュリティ面では、 AWS Managed Temporary Credentials が自動的に環境に注入され、 IAM ユーザーの権限で AWS リソースにアクセスできます。アクセスキーをファイルに保存する必要がなく、認証情報の漏洩リスクを低減します。 Cloud9 に関する詳しい解説はAmazon の関連書籍でも確認できます。

まとめ

Cloud9 はブラウザだけで AWS 開発を完結できるクラウド IDE です。事前構成された開発ツール、Lambda 関数のローカルテスト、ターミナルからの AWS CLI 操作を統合的に提供します。EC2 インスタンス上で動作し、チームメンバーとのリアルタイム共同編集で、ペアプログラミングやコードレビューを効率化します。