AWS Cloud9
既存利用者向けに継続提供されるブラウザ型 IDE。2024年7月25日から新規顧客の受付を停止しており、既存環境は AWS Toolkit や CloudShell への移行を計画する。
- 2024年7月25日から新規顧客は利用できず、既存顧客のみ継続できる。
- IDE は EC2 または SSH 接続先で動き、保存物と認証情報を共有する。
- 移行後はコードを確認し、Cloud9 用 EC2 と EBS を削除して課金を止める。
AWS Cloud9 は、ブラウザだけでコードの記述・実行・デバッグができるクラウド型の統合開発環境(IDE)です。エディタ・ターミナル・デバッガが一体となった画面をブラウザ上で操作でき、開発に必要なランタイムや AWS CLI、認証情報があらかじめ用意された環境にすぐ接続して作業を始められます。
AWS Cloud9 は 2024 年 7 月 25 日に新規顧客の受付を停止しました。既存顧客は既存の機能を継続利用できますが、新機能の追加予定はありません。ローカル IDE には利用する製品向けの AWS Toolkit、ブラウザでの短い操作には AWS CloudShell を比較し、既存環境の移行を計画してください。
解決する課題
ローカル PC で開発を始めるには、言語ランタイムやビルドツール、エディタ、AWS CLI と認証情報の設定など、多くの準備が必要です。メンバーごとに OS やバージョンが異なると「自分の環境では動く」といった差異も生まれます。共同作業で同じコードを見ながら作業したい場面でも、画面共有では限界があります。
Cloud9 はこうした手間と環境差を、クラウド側に用意した IDE に集約することで軽減します。
- ブラウザさえあれば開発を始められ、ローカルへのツール導入や環境構築の負担を減らす
- 環境のランタイムや設定をそろえやすく、メンバー間の環境差に起因する問題を抑える
- 1つの環境を複数人で共有し、同じコードをリアルタイムに編集しながら作業できる
主要概念と用語
- 環境(Environment): Cloud9 IDE が結びつく開発作業の単位。コードや設定、起動状態を保持する
- EC2 環境: Cloud9 が新たに起動・管理する EC2 インスタンス上の環境。手軽に開発環境を用意できる
- SSH 環境: 自分で用意した既存のサーバーへ SSH 接続して IDE を使う形態。クラウド以外のホストも対象にできる
- IDE: ブラウザ上のエディタ・統合ターミナル・デバッガからなる開発画面
- 統合ターミナル: 環境のシェルにブラウザから接続できるターミナル。コマンド実行やビルドに使う
- 共有(コラボレーション): 1つの環境を他のユーザーと共有し、同時編集やチャットを行う機能
- 自動休止(hibernation): 一定時間操作がない EC2 環境を自動停止し、インスタンス費用を抑える設定
仕様・制限・クォータ
- Cloud9 IDE の実体は、EC2 環境では新規に起動される EC2 インスタンス、SSH 環境では指定した既存サーバー上で動作する
- 主要な言語ランタイムや AWS CLI、Git などが初期状態で利用でき、必要なツールはターミナルから追加導入できる
- EC2 環境では、AWS 管理の一時認証情報が IDE に提供され、追加設定なしで AWS API を呼び出せる仕組みが用意されている
- 1つの環境を共有できる相手や同時に作業できる人数、アカウント・リージョン単位で作成できる環境数などにクォータがある
- 自動休止を有効にすると、一定の無操作時間が続いた EC2 環境は自動的に停止する
具体的な上限値・対応リージョン・既定で入っているツールの種類は時期によって変わるため、最新値は公式ドキュメントで確認してください。
内部の仕組み
横にスクロール
Cloud9 は、ブラウザ上の IDE フロントエンドと、コードが実際に置かれて動く環境(バックエンド)を結びつけて提供します。ファイル編集やターミナル操作は、IDE から環境上のシェルやファイルシステムへと中継されます。
- EC2 環境を作成すると、Cloud9 が EC2 インスタンスを起動し、その上に IDE が接続する
- SSH 環境では、ユーザーが用意した既存サーバーへ SSH で接続し、同じ IDE 体験を提供する
- 統合ターミナルは環境のシェルに直結し、ビルドや実行、パッケージ導入をその環境内で行う
- EC2 環境では一時的な AWS 認証情報が IDE に渡され、CLI や SDK の呼び出しに利用される
- 共有時は同じ環境に複数ユーザーが接続し、編集内容がリアルタイムに反映される
継続的な開発とデバッグは手元の IDE と AWS Toolkit、短い対話操作は CloudShell へ分けます。共同編集、私設ネットワーク接続、拡張機能など Cloud9 固有の要件は先に棚卸しし、移行先で受入確認してから旧環境を削除します。
設計パターン / ベストプラクティス
- 使い捨ての開発環境: 手早く作って試し、不要になったら削除する。環境構築の差異を持ち込まずに検証できる
- 共同編集の活用: ペアプログラミングやコードレビュー、ハンズオン研修で1つの環境を共有し、同じ画面で進める
- 自動休止でコスト抑制: EC2 環境に自動休止を設定し、放置されたインスタンスの稼働費を抑える
- 認証情報をコードに書かない: EC2 環境で提供される一時認証情報を使い、アクセスキーのハードコードを避ける
運用・監視
- 環境の起動状態: EC2 環境は停止・起動の状態を持ち、自動休止により無操作時に停止される
- バックエンド資源の監視: 実体である EC2 インスタンスの稼働や費用は、EC2 や CloudWatch、Cost Explorer 側で把握する
- 操作の追跡: 環境の作成・共有などの操作は CloudTrail に記録され、誰が何をしたかを後から確認できる
- 共有メンバーの管理: 共有相手と権限を定期的に見直し、不要になった共有を解除する
コスト
Cloud9 の IDE 自体には追加料金がかからず、課金されるのは IDE が動く土台となるリソースです。EC2 環境では起動した EC2 インスタンスとそれに付随する EBS ボリュームの費用が、SSH 環境では自分で用意したサーバーの費用が中心になります。
- 自動休止を有効にし、放置された EC2 環境のインスタンス費を抑える
- 用途に対して過大なインスタンスサイズを常用しない
- 使い終わった環境は削除し、不要なボリュームやインスタンスを残さない
正確な単価や課金対象の詳細は時期やリージョンによって変動するため、断定的な金額は公式の料金ページで確認してください。
セキュリティ
- 一時認証情報の利用: EC2 環境で提供される一時的な認証情報を使い、長期アクセスキーの埋め込みを避ける
- 環境共有の最小化: 共有は必要な相手に限り、付与する権限を役割に応じて絞る
- IAM による制御: 環境の作成・共有・削除といった操作を IAM ポリシーで適切に制限する
- 機密情報の扱い: トークンや鍵は環境内に平文で残さず、必要に応じてシークレット管理の仕組みを使う
環境を共有すると、相手はその環境のターミナルや認証情報にアクセスできます。共有先を広げすぎると、その環境から呼び出せる AWS リソースまで操作されかねません。共有は必要な相手に限定し、不要になったら速やかに解除してください。
関連サービス・比較
新しい開発環境では、普段のローカル IDE に AWS Toolkit を追加する方法と、コンソールから CloudShell を開く方法を先に比較します。どちらも Cloud9 と同じ IDE の完全な置き換えではないため、共同編集、デバッグ、私設ネットワーク接続など必要な機能を分解して移します。
| 観点 | 既存 Cloud9 | AWS Toolkit | CloudShell |
|---|---|---|---|
| 利用可否 | 既存顧客のみ | 新規利用可能 | 新規利用可能 |
| 主な用途 | ブラウザ IDE | 手元の IDE から AWS 操作 | 短い対話コマンド |
| 計算場所 | EC2 または SSH 先 | 開発者端末 | AWS 管理の一時環境 |
| 移行時の注意 | EC2・EBS を最後に削除 | 端末側の環境を標準化 | 常駐処理に使わない |
ハンズオン / CLI例
以下は既存顧客が環境を棚卸しするための例です。新規顧客は Cloud9 環境を作成できません。
# アカウント内の Cloud9 環境 IDを一覧表示
aws cloud9 list-environments
# 指定した環境の詳細を取得
aws cloud9 describe-environments \
--environment-ids 1a2b3c4d5e6f7g8h9i0j \
--query "environments[].{Id:id,Name:name,Type:type,Owner:ownerArn,Status:status}"
# 共有メンバーも棚卸しする
aws cloud9 describe-environment-memberships \
--environment-id 1a2b3c4d5e6f7g8h9i0j
AWS Service
AWS Cloud9を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
開発者ツール
比較で見る軸
クラウド: AWS / カテゴリ: 開発者ツール / 難易度: basic
導入後に効く点
IDE は EC2 または SSH 接続先で動き、保存物と認証情報を共有する。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- AWS
- カテゴリ
- 開発者ツール
- 難易度
- basic
- 関連資格
- DVA-C02
- 設計柱
- operational
判断チェックリスト
- 自社の用途が「開発者ツール / operational」に近いか確認する。
- 強みである「2024年7月25日から新規顧客は利用できず、既存顧客のみ継続できる。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。