AWS認定資格 WEB問題集&徹底解説
デベロッパー–アソシエイト
AWSサービスの一つであるAWS CloudShellはどんな内容なのでしょうか?また、AWS認定資格のデベロッパー-アソシエイト(DVA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
AWS CloudShellは、AWS Management Consoleから起動できる、ブラウザベースの事前認証済みシェル環境です。 ローカル端末にAWS CLIや認証情報を設定せず、Bash、PowerShell、Z shellからAWS CLI v2や各種開発ツールを実行できます。
試験では、Cloud9のようなIDEではなく「コンソールから即座にCLI操作を行う運用用シェル」として選びます。 CloudShellのコンピュート環境はAmazon Linux 2023ベースで、通常環境にはリージョンごとに1GBの永続ストレージがあります。
2. 主な特徴と機能
2.1 事前認証済みAWS CLI
CloudShellはコンソールでサインインした認証情報を利用するため、起動直後からAWS CLI v2を実行できます。 `aws configure`で長期アクセスキーを保存せず、現在のIAMユーザー/ロール権限でAPIを呼び出します。
2.2 シェルとプリインストールツール
Bash、PowerShell、Z shellを切り替えられ、git、make、pip、sudo、tar、tmux、vim、wget、zipなどが利用できます。 Node.js、Python、.NET Coreなど主要ランタイムも事前設定されています。
2.3 永続ストレージ
通常のCloudShell環境では、各AWSリージョンで最大1GBの永続ストレージをホームディレクトリに利用できます。 スクリプトや設定ファイルを保存できますが、機密情報の平文保存は避けます。
2.4 CloudShell VPC環境
CloudShell VPC環境を作成すると、指定したVPC、サブネット、セキュリティグループ内からAWSリソースへアクセスできます。 ただしVPC環境には永続ストレージがなく、タイムアウトや再起動でホームディレクトリは削除されます。
2.5 ファイル転送とカスタマイズ
ブラウザからファイルのアップロード/ダウンロードができ、必要なツールを追加インストールしてシェル環境を調整できます。 ただし環境は一時的なコンピュートであり、永続化対象とセッション制限を理解して利用します。
2.6 セッション管理とSafe Paste
非アクティブまたは長時間実行のセッションは自動的に停止・再利用されます。 Safe Pasteは複数行貼り付け時に確認を求め、悪意あるコマンドを誤って貼り付けるリスクを下げます。
3. アーキテクチャおよび技術要素
- ユーザーがAWS Management ConsoleからCloudShellを起動する。
- AWSがAmazon Linux 2023ベースの一時的なコンピュート環境を作成する。
- コンソールのIAM認証情報がシェルセッションに引き継がれ、AWS CLI v2が利用可能になる。
- ユーザーはBash、PowerShell、Z shellでコマンド、スクリプト、ファイル操作を実行する。
- 通常環境ではホームディレクトリの1GBがリージョンごとに永続化される。
- VPC環境では指定VPC内から通信できるが、ホームディレクトリは永続化されない。
CloudShellは運用作業に便利ですが、長時間常駐処理や本格開発環境ではありません。 継続開発はローカルIDE、Cloud9既存環境、CodeCatalyst、EC2/SSMなどと使い分けます。
4. セキュリティと認証・認可
- IAM制御: CloudShellの起動、ファイル転送、環境作成、VPC環境利用をIAMポリシーで制御する。
- 権限継承: CloudShellから実行するAWS CLIは、コンソールにサインイン中のIAMユーザー/ロール権限で動く。
- 認証情報管理: アクセスキーや秘密情報をホームディレクトリに平文保存しない。
- Safe Paste: 複数行貼り付け時の確認により、意図しないコマンド実行を防ぐ。
- VPC環境: プライベートリソースへアクセスする場合、サブネットとセキュリティグループを最小限にする。
- 監査: CloudShell自体の操作や、CloudShellから呼び出したAWS APIはCloudTrailで追跡できる。
5. 料金形態
AWS CloudShell自体は追加料金なしで利用できます。 ただし、CloudShellから操作・作成したAWSリソース、標準データ転送、関連サービスには通常料金が発生します。
- CloudShell: シェル環境自体は追加料金なし。
- 操作対象リソース: EC2、S3、Lambda、RDSなどを作成・利用した場合は各サービスで課金される。
- データ転送: 標準のデータ転送料金が適用される。
- ログ/監査: CloudTrail、CloudWatch、S3などに出力する場合は各サービス料金を確認する。
- 最適化: CloudShellで起動した検証リソースを削除し忘れないことが重要。
6. よくあるアーキテクチャ・設計パターン
- 緊急運用: 手元端末にAWS CLIがなくても、コンソールから即座にコマンドを実行する。
- 学習/ハンズオン: 受講者がローカル設定なしで同じCLI手順を実行する。
- 軽量スクリプト実行: 短いBash/Pythonスクリプトでタグ付け、棚卸し、検証作業を行う。
- VPC内確認: CloudShell VPC環境からプライベートエンドポイントやRDS接続を確認する。
- マルチリージョン確認: リージョンごとにCloudShellを開き、リソース確認や簡易調査を行う。
- Cloud9代替の一部: IDEではなくCLI作業に限定して、Cloud9の代替として使う。
7. 設定・デプロイ手順(ハンズオン例)
- AWS Management Consoleにサインインし、CloudShellを起動する。
- `aws sts get-caller-identity`で現在のIAMプリンシパルを確認する。
- `aws configure list`や`aws s3 ls`などでCLIが認証済みであることを確認する。
- ホームディレクトリに短いスクリプトを保存し、通常環境では再起動後も残ることを確認する。
- 必要な場合のみVPC環境を作成し、サブネット/セキュリティグループを指定する。
- 作業後は作成したAWSリソース、ファイル内の秘密情報、不要なスクリプトを確認・削除する。
8. 試験で問われやすいポイント
8.1 サービス選択
- Q: AWS CloudShellは何を提供するサービス?
A: AWS Management Consoleから起動できる、ブラウザベースの事前認証済みシェル環境。 - Q: CloudShellはIDE?
A: いいえ。コード編集IDEではなく、CLI操作向けのシェル環境。IDE用途はCloud9既存環境やローカルIDEを検討する。 - Q: CloudShellでAWS CLI認証情報を手動設定する必要はある?
A: 通常は不要。コンソールでサインインしたIAM権限が利用される。
8.2 ストレージとVPC
- Q: 通常のCloudShellで永続化されるストレージ容量は?
A: 各リージョンのホームディレクトリに最大1GB。 - Q: CloudShell VPC環境に永続ストレージはある?
A: いいえ。VPC環境ではホームディレクトリはタイムアウト、削除、再起動で消える。 - Q: VPC内のプライベートリソースへCLIでアクセスしたい場合は?
A: CloudShell VPC環境を使い、VPC、サブネット、セキュリティグループを指定する。
8.3 セキュリティと料金
- Q: CloudShellのSafe Pasteとは?
A: 複数行貼り付け時に確認を求め、悪意あるコマンドの誤実行を防ぐ機能。 - Q: CloudShell自体に追加料金はかかる?
A: かからない。ただしCloudShellから操作したAWSリソースやデータ転送には料金が発生する。 - Q: CloudShellの操作は監査できる?
A: CloudShell関連操作やAWS CLIが呼び出すAWS APIはCloudTrailで追跡できる。