AWS認定資格 WEB問題集&徹底解説

クラウドプラクティショナー

AWS Cloud9 の概要と試験出題ポイントは?

AWSサービスの一つであるAWS Cloud9はどんな内容なのでしょうか?また、AWS認定資格のクラウドプラクティショナー(CLF)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

AWS Cloud9 徹底解説 | AWS認定試験の頻出ポイントまとめ

1. サービス概要

AWS Cloud9は、ブラウザから利用できるクラウドベースの統合開発環境(IDE)です。 コード編集、ターミナル、実行、デバッグ、Git連携、共同編集を1つのWeb IDEで行い、EC2インスタンスやSSH接続先の開発環境上で作業します。

重要な注意点として、AWS Cloud9は新規顧客には提供されていません。既存顧客は通常どおり利用できます。 新規設計や試験問題では、Cloud9の基本概念を押さえつつ、AWS CloudShell、ローカルIDE + AWS Toolkit、VS Code、CodeCatalystなどの代替も考えます。

2. 主な特徴と機能

2.1 ブラウザIDE

Cloud9 IDEはブラウザ上で動作し、コード編集、シンタックスハイライト、デバッグ、ターミナル、ファイル操作を提供します。 開発者は同じクラウド環境へアクセスできるため、端末ごとの差異を減らせます。

2.2 EC2環境とSSH環境

Cloud9環境は、AWSが作成・管理するEC2環境、または既存のクラウド/オンプレミスサーバーへ接続するSSH環境として構成できます。 EC2環境では停止設定により未使用時のコストを抑えられます。

2.3 組み込みターミナルとAWSツール

IDE内のターミナルからAWS CLI、Git、言語ランタイム、ビルドツールを使えます。 Lambda、API Gateway、AWS CDK、SAM、CodeCommitなどを使うAWS開発の作業場として利用されてきました。

2.4 共同編集

複数ユーザーが同じCloud9環境を共有し、リアルタイムでコードを編集できます。 ペアプログラミング、教育、ハンズオン、オンボーディングに向きますが、共有権限は最小限にします。

2.5 Lambda/サーバーレス開発

Cloud9はLambda、API Gateway、SAM、CDKと組み合わせたサーバーレス開発でよく使われていました。 ただし新規顧客向け提供終了を踏まえ、現在はローカルIDE、CloudShell、CodeCatalystなども検討します。

2.6 新規利用時の注意

新規顧客はCloud9を開始できないため、試験では「既存Cloud9環境の運用」と「新規開発環境の代替選定」を分けて考えます。 単発のCLI操作はCloudShell、継続的な開発はローカルIDEやマネージド開発環境を選ぶのが自然です。

3. アーキテクチャおよび技術要素

  1. ユーザーがブラウザでCloud9 IDEを開く。
  2. Cloud9環境がEC2インスタンスまたはSSH接続先のサーバーに接続する。
  3. プロジェクトファイルは接続先のインスタンス/サーバー、またはGitリポジトリに保存される。
  4. 開発者はIDEで編集し、ターミナルでビルド、テスト、デバッグ、AWS CLI操作を行う。
  5. 必要に応じてLambda、SAM、CDK、CodeCommit、CodePipelineなどへ連携する。
  6. CloudTrail、IAM、EC2、EBS、VPC、セキュリティグループでアクセスと実行環境を管理する。

Cloud9自体はIDE体験を提供しますが、計算リソースはEC2やSSH接続先が担います。 そのため、パッチ、ネットワーク、IAM、EBS容量、停止忘れによるコストも設計対象です。

4. セキュリティと認証・認可

  • IAM最小権限: Cloud9環境の作成、共有、削除、EC2操作、IAM PassRoleを必要最小限にする。
  • 環境共有: 共同編集の招待先を限定し、不要になった共有権限を削除する。
  • EC2/EBS保護: Cloud9 EC2環境のセキュリティグループ、パッチ、EBS暗号化、スナップショットを管理する。
  • 認証情報管理: アクセスキーを環境内に平文保存せず、IAMロール、SSO、短期認証情報を使う。
  • ネットワーク: VPC、サブネット、インバウンド/アウトバウンド、SSH環境の接続経路を制御する。
  • 監査: CloudTrail、OSログ、Git履歴、EC2ログで管理操作と開発環境操作を追跡する。

5. 料金形態

Cloud9 IDE自体に追加料金はありません。料金はCloud9環境が利用するAWSリソースに発生します。

  • EC2: EC2環境のインスタンス稼働時間に応じて課金される。
  • EBS: 開発環境のボリューム、スナップショット、保存データに料金が発生する。
  • データ転送: 外部リポジトリやAWSサービスとの通信でデータ転送料金が発生する場合がある。
  • 周辺サービス: Lambda、S3、CloudWatch、CodeCommit、CodeBuildなど利用したサービスに課金される。
  • 最適化: EC2環境の自動停止、不要環境の削除、適切なインスタンスタイプ選択でコストを抑える。

6. よくあるアーキテクチャ・設計パターン

  • 既存Cloud9環境の保守: 既存顧客がCloud9環境でLambda、SAM、CDK、CLI作業を継続する。
  • ハンズオン/教育: 受講者へ同一構成のブラウザIDEを提供し、環境差異を減らす。
  • ペアプログラミング: 共同編集でレビューやオンボーディングを行う。
  • サーバーレス開発: Lambda/API Gateway/SAM/CDKをCloud9ターミナルから開発・デプロイする。
  • 新規代替: CloudShellでCLI作業、ローカルIDE + AWS Toolkitで開発、CodeCatalystでクラウド開発環境を検討する。
  • 閉域開発: VPC内のEC2やSSH環境へ接続し、社内リソースへ近い場所で開発する。

7. 設定・デプロイ手順(ハンズオン例)

  1. 既存利用可能なアカウントでCloud9環境を作成または既存環境を開く。
  2. EC2環境またはSSH環境を選び、インスタンスタイプ、VPC、停止設定を確認する。
  3. Gitリポジトリをクローンし、必要なランタイム、CLI、SDK、依存関係をセットアップする。
  4. IDEでコードを編集し、ターミナルからテスト、ビルド、AWS CLI、SAM/CDKデプロイを実行する。
  5. 共同編集が必要な場合のみユーザーを招待し、終了後に共有権限を削除する。
  6. 不要になった環境、EC2、EBS、セキュリティグループ、スナップショットを削除する。

8. 試験で問われやすいポイント

8.1 サービス選択

  • Q: AWS Cloud9は何を提供するサービス?
    A: ブラウザで使えるクラウドベースの統合開発環境(IDE)。
  • Q: AWS Cloud9は新規顧客が利用開始できる?
    A: いいえ。新規顧客には提供されておらず、既存顧客は継続利用できる。
  • Q: 単発のAWS CLI操作をブラウザから行う場合の代表サービスは?
    A: AWS CloudShell。

8.2 構成要素

  • Q: Cloud9環境が接続する計算リソースの種類は?
    A: Cloud9が作成するEC2環境、または既存サーバーへ接続するSSH環境。
  • Q: Cloud9がサーバーレス開発でよく組み合わされたサービスは?
    A: Lambda、API Gateway、AWS SAM、AWS CDK。
  • Q: Cloud9の共同編集で注意すべきことは?
    A: 環境共有権限を最小化し、不要になったら削除すること。

8.3 料金とセキュリティ

  • Q: Cloud9自体に追加料金はかかる?
    A: いいえ。ただしEC2、EBS、データ転送、利用したAWSサービスには料金が発生する。
  • Q: Cloud9環境にアクセスキーを保存してよい?
    A: 推奨されない。IAMロールや短期認証情報を使う。
  • Q: 新規開発環境としてCloud9を選びにくい理由は?
    A: 新規顧客向け提供が終了しているため、CloudShell、ローカルIDE、CodeCatalystなどを検討する。