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

デベロッパー–アソシエイト

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

AWSサービスの一つであるAWS CloudShellはどんな内容なのでしょうか?また、AWS認定資格のデベロッパー-アソシエイト(DVA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

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

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. アーキテクチャおよび技術要素

  1. ユーザーがAWS Management ConsoleからCloudShellを起動する。
  2. AWSがAmazon Linux 2023ベースの一時的なコンピュート環境を作成する。
  3. コンソールのIAM認証情報がシェルセッションに引き継がれ、AWS CLI v2が利用可能になる。
  4. ユーザーはBash、PowerShell、Z shellでコマンド、スクリプト、ファイル操作を実行する。
  5. 通常環境ではホームディレクトリの1GBがリージョンごとに永続化される。
  6. 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. 設定・デプロイ手順(ハンズオン例)

  1. AWS Management Consoleにサインインし、CloudShellを起動する。
  2. `aws sts get-caller-identity`で現在のIAMプリンシパルを確認する。
  3. `aws configure list`や`aws s3 ls`などでCLIが認証済みであることを確認する。
  4. ホームディレクトリに短いスクリプトを保存し、通常環境では再起動後も残ることを確認する。
  5. 必要な場合のみVPC環境を作成し、サブネット/セキュリティグループを指定する。
  6. 作業後は作成した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で追跡できる。