AWS認定資格 WEB問題集&徹底解説
クラウドプラクティショナー
AWSサービスの一つであるAWS Cloud9はどんな内容なのでしょうか?また、AWS認定資格のクラウドプラクティショナー(CLF)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
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. アーキテクチャおよび技術要素
- ユーザーがブラウザでCloud9 IDEを開く。
- Cloud9環境がEC2インスタンスまたはSSH接続先のサーバーに接続する。
- プロジェクトファイルは接続先のインスタンス/サーバー、またはGitリポジトリに保存される。
- 開発者はIDEで編集し、ターミナルでビルド、テスト、デバッグ、AWS CLI操作を行う。
- 必要に応じてLambda、SAM、CDK、CodeCommit、CodePipelineなどへ連携する。
- 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. 設定・デプロイ手順(ハンズオン例)
- 既存利用可能なアカウントでCloud9環境を作成または既存環境を開く。
- EC2環境またはSSH環境を選び、インスタンスタイプ、VPC、停止設定を確認する。
- Gitリポジトリをクローンし、必要なランタイム、CLI、SDK、依存関係をセットアップする。
- IDEでコードを編集し、ターミナルからテスト、ビルド、AWS CLI、SAM/CDKデプロイを実行する。
- 共同編集が必要な場合のみユーザーを招待し、終了後に共有権限を削除する。
- 不要になった環境、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などを検討する。