AWS Cloud9 で始めるクラウド開発環境 - ブラウザベース IDE のセットアップと活用
Cloud9 のブラウザベース IDE によるクラウド開発、ペアプログラミング、SAM CLI との統合による Lambda 開発の効率化を解説します。
Cloud9 の特徴と利用場面
Cloud9 はブラウザベースの統合開発環境 (IDE) で、EC2 インスタンス上に開発環境を自動構築します。コードエディタ、ターミナル、デバッガーがブラウザ内で動作し、ローカルマシンに開発ツールをインストールする必要がありません。AWS CLI、SAM CLI、Docker、Node.js、Python、Git が事前インストールされており、環境構築に時間をかけずに開発を開始できます。新メンバーのオンボーディング、ハンズオンやワークショップの環境統一、ローカル環境の差異によるトラブル回避に特に有効です。
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
Lambda 開発と SAM CLI 統合
Cloud9 は Lambda 関数の開発に最適化されています。SAM CLI がプリインストールされているため、sam init でプロジェクトを作成し、sam local invoke でローカルテスト、sam deploy でデプロイまでをターミナルから実行できます。Lambda 関数のインラインデバッグにも対応しており、ブレークポイントを設定してステップ実行が可能です。Docker が利用可能なため、sam local start-api で API Gateway のローカルエミュレーションも実行できます。Cloud9 の環境は EC2 インスタンス上で動作するため、VPC 内のリソース (RDS、ElastiCache) にプライベートネットワーク経由でアクセスでき、ローカル開発では困難な統合テストも容易に実行できます。
コスト管理とセキュリティ
Cloud9 自体の利用料金は無料で、EC2 インスタンスと EBS ストレージの料金のみが発生します。自動停止機能により、一定時間操作がないと EC2 インスタンスが自動的に停止し、再度アクセスすると自動起動します。デフォルトの停止タイマーは 30 分で、開発スタイルに応じて調整できます。t3.small インスタンスであれば、1 日 8 時間の利用で月額数ドル程度です。セキュリティ面では、AWS Managed Temporary Credentials が自動的に環境に注入され、IAM ユーザーの権限で AWS リソースにアクセスできます。アクセスキーをファイルに保存する必要がなく、認証情報の漏洩リスクを低減します。
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。
まとめ
Cloud9 はブラウザだけで AWS 開発を完結できるクラウド IDE です。事前構成された開発ツール、Lambda のインラインデバッグ、ペアプログラミング機能を提供し、環境構築のオーバーヘッドを排除します。自動停止によるコスト最適化と、一時認証情報によるセキュリティ強化も備えています。
AWS の優位点
- ブラウザだけで完結する開発環境で、ローカルマシンへのツールインストールなしに AWS 開発を開始できる
- AWS CLI、SAM CLI、Docker、Git が事前インストールされており、Lambda 関数のローカルテストとデプロイが即座に可能
- リアルタイムのペアプログラミング機能で、複数の開発者が同じ環境を同時に編集・デバッグできる
- EC2 インスタンスベースの環境は使用していない間自動的に停止し、コストを最小化する
- IAM の一時認証情報が自動的に環境に注入され、アクセスキーの手動管理が不要