このガイドは、AWS認定試験で問われる重要なポイントを体系的にまとめたものです。サンプル試験問題の分析に基づき、各ドメインの主要概念、サービス、および試験で頻出するシナリオを解説しています。
目次
- セキュリティとコンプライアンス
- ネットワークとコンテンツ配信
- デプロイ、プロビジョニング、およびオートメーション
- モニタリング、ロギング、および修復
- 信頼性と事業の継続性
- コストとパフォーマンスの最適化
1. セキュリティとコンプライアンス
1.1 AWS 責任共有モデル
重要ポイント:
- AWSの責任: インフラストラクチャ(ハードウェア、ソフトウェア、ネットワーク、施設)のセキュリティ
- ユーザーの責任: データの所有権と管理、アクセス管理、暗号化の設定
試験ポイント:
- AWSユーザーは自身のデータを所有・管理する権限を持つ
- AWSはユーザーの同意なしにデータにアクセスしない
- データセンターとリージョンを結ぶAWSネットワークでは、すべてのデータが物理レイヤーで自動的に暗号化される
- AWSインフラは仮想化ソフトウェアによってフィルタリングされ、ユーザーは割り当てられていない物理ホストやインスタンスにアクセスできない
1.2 IAM(Identity and Access Management)
重要ポイント:
- EC2インスタンスからAWSリソース(DynamoDBなど)へのアクセス権限設定
- IAMロールとポリシーの適切な設定方法
試験ポイント:
- EC2インスタンスからDynamoDBへのアクセスを許可するには、DynamoDBへのアクセス権限を持つIAMポリシーをIAMロールに付与し、そのロールをEC2インスタンスプロファイルに割り当てる
- アクセスキーを直接使用するのではなく、IAMロールを使用することがベストプラクティス
1.3 AWS Organizations と権限管理
重要ポイント:
- 複数のAWSアカウントの一元管理
- サービスコントロールポリシー(SCP)の活用
試験ポイント:
- AWS Service Catalogを使用して、承認された特定のインスタンスタイプのみを使用するよう制限できる
- テンプレート制約を設定することで、ユーザーが利用できる設定パラメータを制限できる
- AWS Organizationsの組織内にメンバーアカウントを設定し、SCPを適用することで、リソース作成アクションを制限できる
1.4 暗号化とデータ保護
重要ポイント:
- RDSデータベースの暗号化
- S3バケットのアクセス制御と暗号化
試験ポイント:
- RDSインスタンスの暗号化は作成時にのみ設定可能(既存のインスタンスは暗号化できない)
- 既存のRDSを暗号化するには、スナップショットを取得し、そこから暗号化を有効にして新たにDBを作成する必要がある
- RDSでは、SSL/TLSを使用して接続を暗号化できる(インスタンスプロビジョニング時に自動的に証明書が生成される)
- S3バケットポリシーでは、IPアドレス条件を使用してアクセスを制限できる
1.5 セキュリティ監視と検出
重要ポイント:
- AWS GuardDuty
- AWS Config
- セキュリティグループとネットワークACLの適切な設定
試験ポイント:
- AWS GuardDutyを使用して、不正なコンソールログイン(UnauthorizedAccess:IAMUser/ConsoleLoginSuccess.B)を検出できる
- AWS Configを使用して、セキュリティグループのSSHポート公開などのコンプライアンス違反を監視し通知できる
- AWS Systems Manager Patch Managerを使用して、EC2インスタンスのセキュリティパッチ適用を自動化できる
2. ネットワークとコンテンツ配信
2.1 VPC(Virtual Private Cloud)の設計と設定
重要ポイント:
- サブネット設計(パブリック/プライベート)
- ルートテーブル設定
- インターネットゲートウェイとNATゲートウェイ
試験ポイント:
- ルートテーブルの「blackhole」ステータスは、NATゲートウェイやインターネットゲートウェイが削除された場合に発生する
- プライベートサブネット内のEC2インスタンスがインターネットにアクセスするには、NATゲートウェイが必要
- VPCにIPv6を設定する場合、/16のIPv4 CIDRブロックと/56のIPv6 CIDRブロックを関連付ける
2.2 VPCピアリングとネットワーク接続
重要ポイント:
- VPCピアリング接続の設定
- 複数VPC間の通信設計
試験ポイント:
- 3つのVPC間で制限なくリソースを共有するには、VPCピアリングのフルメッシュ設定が必要
- VPCピアリング接続は2つのVPC間の1対1の関係を形成し、推移的なピア接続関係はサポートされない
- 各VPCのルートテーブルは、関連するVPCピアリング接続を指し示す必要がある
2.3 ネットワークセキュリティ
重要ポイント:
- セキュリティグループとネットワークACLの違い
- VPCフローログの解析
試験ポイント:
- セキュリティグループはステートフル(インバウンドを許可すれば対応するアウトバウンドも自動的に許可)
- ネットワークACLはステートレス(インバウンドとアウトバウンドを個別に設定する必要がある)
- pingコマンド(ICMP)が失敗する場合、セキュリティグループのインバウンドルールやネットワークACLの設定を確認する
- VPCフローログの「REJECT」ステータスは、セキュリティグループまたはネットワークACLがトラフィックをブロックしていることを示す
2.4 CloudFrontとコンテンツ配信
重要ポイント:
- CloudFrontディストリビューションの設定
- キャッシュ戦略の最適化
- オリジンアクセスアイデンティティ
試験ポイント:
- CloudFrontのキャッシュヒット率を向上させるには:
- オリジンが一意のオブジェクトを返すクエリ文字列パラメータのみを転送するように設定
- Cache-Control max-ageに対して最も長い実用的な値を指定するようにオリジンを設定
- CloudFrontディストリビューションからキャッシュされたコンテンツを削除するには:
- エッジキャッシュからファイルを無効にする
- オリジンから新しいバージョンのファイルを提供する
- CloudFrontの使用状況、ビューワー、キャッシュ統計レポートを使用して、パフォーマンスの問題を特定できる
2.5 ロードバランシング
重要ポイント:
- ALB(Application Load Balancer)とNLB(Network Load Balancer)の違い
- ロードバランサーのリスナー設定
- スティッキーセッション
試験ポイント:
- ALBのリスナー設定では、フロントエンド接続とバックエンド接続の両方にTCPを使用する場合、ロードバランサーはリクエストを変更されたヘッダーを持つバックエンドインスタンスに転送しない
- NLBからのトラフィックのみをEC2インスタンスに許可するには、EC2インスタンスのセキュリティグループでNLBの静的IPアドレスまたはセキュリティグループIDを指定する
- アプリケーションでログアウトが頻繁に発生する問題を解決するには:
- ALBのスティッキーセッションを有効化
- ALBのターゲットグループの維持設定でグループレベルの維持を有効化
- CloudFrontディストリビューションのキャッシュ設定でcookie転送を「All」に設定
3. デプロイ、プロビジョニング、およびオートメーション
3.1 CloudFormation
重要ポイント:
- テンプレートの構造と設計
- スタックの作成と更新
- 依存関係の管理
試験ポイント:
- CloudFormationスタック作成が失敗した場合、デフォルトではスタックがロールバックする
- EC2インスタンスのアプリケーションインストールが完了したことを確認するには、CreationPolicy属性とcfn-signalヘルパースクリプトを使用する
- Auto Scalingグループの更新方法を設定するには、UpdatePolicy属性とAutoScalingRollingUpdateポリシーを使用する
- 変更セットを使用して、スタック更新前に変更の影響を確認できる
3.2 Systems Manager
重要ポイント:
- Automation
- Patch Manager
- State Manager
- Run Command
試験ポイント:
- AMIに対するパッチ適用を自動化するには、AWS Systems Manager Automationを使用する
- EC2インスタンス起動時に特定のソフトウェアを自動インストールするには、AWS Systems Manager State Managerを使用する
- AWS Systems Manager Parameter Storeを利用して、CloudFormationテンプレートで最新のWindows AMI IDを指定できる
3.3 Auto Scaling
重要ポイント:
- Auto Scalingグループの設定
- スケーリングポリシー
- ライフサイクルフック
試験ポイント:
- Auto Scalingグループの終了プロセスを一時的に停止すると、グループは最大サイズを最大10%超える可能性がある
- SQSキューメッセージ数に基づいたAuto Scalingトリガーを設定するには、EC2インスタンス毎のキューメッセージ数に基づいたカスタムメトリクスを作成する
- Amazon EventBridgeを使用して、予測しないスケーリングイベントの異常を検知し、API送信先を通じてアプリケーションに通知できる
3.4 AMI管理と共有
重要ポイント:
- AMIの作成と管理
- リージョン間でのAMIコピー
- アカウント間でのAMI共有
試験ポイント:
- 他のリージョンのアカウントとAMIを共有するには、まずAMIを対象リージョンにコピーし、その後共有設定を行う
- 暗号化されたボリュームを持つAMIを共有する場合、暗号化に使用したCMKも共有する必要がある
- AMIはリージョン固有のリソースであり、別のリージョンで使用するにはコピーが必要
3.5 AWS Storage Gateway
重要ポイント:
- ファイルゲートウェイ
- ボリュームゲートウェイ
- テープゲートウェイ
試験ポイント:
- オンプレミス環境からAWSへのファイル共有やバックアップには、AWS Storage Gatewayのファイルゲートウェイを使用する
- 頻繁にアクセスされるデータはS3 Standardに、長期保存が必要なデータはGlacier Deep Archiveに移行するライフサイクルポリシーを設定することでコスト最適化できる
4. モニタリング、ロギング、および修復
4.1 CloudWatch
重要ポイント:
- メトリクスとアラーム
- ログ
- イベント
試験ポイント:
- EC2インスタンスのメトリクスを1分ごとに取得するには、CloudWatchの詳細モニタリングを有効にする
- CPU使用率が10%未満の状態が30分以上続くEC2インスタンスを自動的にシャットダウンするには、CloudWatchアラームを設定し、EC2アクションを構成する
- CloudWatchエージェントをインストールすることで、メモリ使用率などの追加メトリクスを収集できる
4.2 VPCフローログ
重要ポイント:
- フローログの設定と分析
- セキュリティ分析への活用
試験ポイント:
- VPCフローログをCloudWatch Logsに公開するには、適切な権限を持つIAMロールをVPCフローログに設定する必要がある
- フローログの「REJECT」ステータスは、セキュリティグループまたはネットワークACLがトラフィックをブロックしていることを示す
- フローログを分析することで、ネットワーク接続の問題を特定できる
4.3 AWS Config
重要ポイント:
- リソース設定の監視
- コンプライアンスルール
- 修復アクション
試験ポイント:
- AWS Configを使用して、セキュリティグループのSSHポート公開などのコンプライアンス違反を検出できる
- 違反が検出された場合、AWS Systems Manager Automationランブックを呼び出して自動修復できる
- AWS Configは環境上の変更点をモニタリングしてログを取得する
4.4 ELBのモニタリングとトラブルシューティング
重要ポイント:
- アクセスログ
- メトリクス
- ヘルスチェック
試験ポイント:
- ALBのアクセスログを有効にすることで、クライアントのIPアドレスとリクエストパスを確認できる
- HTTPCode_Backend_5XXエラーは、ロードバランサーまたは登録されたインスタンスに不具合が発生していることを示す
- SpilloverCountメトリクスは、サージキューが満杯となり拒否されたリクエストの総数を示す
4.5 AWS Health
重要ポイント:
- AWSリソースの状態監視
- イベント通知
試験ポイント:
- AWS HealthとAmazon EventBridgeを連携させることで、EC2インスタンスのリタイアメント通知を自動設定できる
- 通知をトリガーとして、Lambda関数を実行してEC2インスタンスを自動的に停止できる
5. 信頼性と事業の継続性
5.1 高可用性設計
重要ポイント:
- マルチAZ配置
- リージョン間レプリケーション
- フェイルオーバー設計
試験ポイント:
- 単一AZのEC2インスタンスからマルチAZ構成に移行するには、ELBターゲットグループを設定し、AZを跨いでAuto Scalingを設定する
- EC2インスタンスを別のAZに移動するには、AMIを作成し、別のAZで新規インスタンスを起動する方法か、AWS Systems Manager Automation ランブックのAWSSupport-CopyEC2Instanceを使用する方法がある
5.2 Auto Scaling
重要ポイント:
- スケーリングポリシー
- ターゲット追跡
- スケジュールスケーリング
試験ポイント:
- InsufficientInstanceCapacityエラーが発生した場合、インスタンスタイプを変更するか、別のアベイラビリティゾーンでインスタンスを起動する
- Auto Scalingグループの終了プロセスを一時的に停止すると、グループは最大サイズを最大10%超える可能性がある
- Auto Scalingグループに属するインスタンスを終了するには、terminate-instance-in-auto-scaling-group –no-should-decrement-desired-capacityコマンドを使用する
5.3 データベースの高可用性
重要ポイント:
- RDSマルチAZ
- Aurora設計
- リードレプリカ
試験ポイント:
- 読み取り集中型のMySQLデータベースに最高の高可用性、スケーラビリティ、パフォーマンスを確保するには、Amazon Auroraクラスターを作成し、Auto Scalingを使用してAuroraリードレプリカを自動的にプロビジョニングする
- Aurora DBクラスターの接続数が1200を超えると読み取りパフォーマンスが低下する場合、Aurora Auto Scalingを設定し、DatabaseConnectionsメトリクスのターゲット値を1200近くに設定する
5.4 DynamoDB
重要ポイント:
- スループットキャパシティ
- Auto Scaling
- グローバルテーブル
試験ポイント:
- DynamoDBテーブルのパフォーマンスが一時的に遅延する場合、DynamoDBテーブルのAuto Scalingを有効にすることでコスト効率よく対応できる
- DynamoDB Auto Scalingは、実際のトラフィックの変動に応じてプロビジョンドスループットを自動的に調整する
6. コストとパフォーマンスの最適化
6.1 EC2インスタンスタイプの選択
重要ポイント:
- インスタンスファミリーの特徴
- バースト可能インスタンス
- 専用インスタンス
試験ポイント:
- CPU使用率の上昇に対して安定したパフォーマンスを提供するには、T3インスタンスが最もコスト効率が良い
- ネットワークパフォーマンスを向上させるには、より大きなインスタンスサイズを選択する
- EBSの帯域幅を改善するには、EBS最適化をサポートするインスタンスタイプを選択する
6.2 ストレージの最適化
重要ポイント:
- EBSボリュームタイプ
- S3ストレージクラス
- ライフサイクルポリシー
試験ポイント:
- S3バケットへのアップロード速度を向上させるには、S3 Transfer Accelerationを有効化する
- アクセス頻度の低いデータを特定してコスト効率の良いストレージクラスに移行するには、Amazon S3ストレージクラス分析を利用する
- 頻繁にアクセスされるデータはS3 Standardに、長期保存が必要なデータはGlacier Deep Archiveに移行するライフサイクルポリシーを設定することでコスト最適化できる
6.3 リザーブドインスタンスとスポットインスタンス
重要ポイント:
- リザーブドインスタンスの購入戦略
- スポットインスタンスの活用シナリオ
- サービス制限の管理
試験ポイント:
- 大量のEC2インスタンス(例:50台のm4.16xlarge)を同時に起動する場合、事前にAWSサポートセンターからサービス制限の引き上げ申請を行う必要がある
- EC2は使用状況に基づいてオンデマンドインスタンスの制限を自動的に引き上げるが、大量のインスタンスを一度に起動する場合は事前申請が必要
6.4 CloudFrontの最適化
重要ポイント:
- キャッシュ設定
- オリジン設定
- エッジロケーション活用
試験ポイント:
- CloudFrontのキャッシュヒット率を向上させるには:
- オリジンが一意のオブジェクトを返すクエリ文字列パラメータのみを転送するように設定
- Cache-Control max-ageに対して最も長い実用的な値を指定するようにオリジンを設定
- CloudFrontの使用状況、ビューワー、キャッシュ統計レポートを使用して、パフォーマンスの問題を特定できる
まとめ
AWS認定試験では、上記の各ドメインにおける知識と実践的な理解が問われます。特に以下の点に注意して学習を進めることをお勧めします:
- 責任共有モデルの理解 – AWSとユーザーの責任範囲を明確に区別できること
- ネットワーク設計の基本 – VPC、サブネット、セキュリティグループ、ネットワークACLの適切な設定方法
- 高可用性設計の原則 – マルチAZ、Auto Scaling、ロードバランシングの活用方法
- モニタリングとロギングの重要性 – CloudWatch、VPCフローログ、AWS Configの活用方法
- 自動化の実装 – CloudFormation、Systems Manager、EventBridgeの連携方法
- コスト最適化の戦略 – 適切なインスタンスタイプ、ストレージクラス、リザーブドインスタンスの選択
実際の試験では、複数のサービスを組み合わせた実践的なシナリオが出題されることが多いため、各サービスの連携方法や、特定の問題に対する最適なソリューションの選択方法を理解することが重要です。