【AWS SAA-C03学習メモ】AWSの基礎知識から試験ドメインまで徹底整理
AWS Certified Solutions Architect - Associate(SAA-C03)の学習内容を、自分用の備忘録としてまとめました。
この記事では、AWSの基本概念、EC2への接続方法、AWSを操作するツール、そしてSAA-C03試験で出題される主要ドメインについて整理しています。
AWSとは
AWS(Amazon Web Services)は、サーバーやストレージ、データベースなどのITインフラをクラウド上で利用できるサービスです。
オンプレミス環境をクラウド上で再現できる
AWSではオンプレミス環境で構築していたインフラをクラウド上で構築できます。
| オンプレミス | AWSサービス |
|---|---|
| サーバー | EC2 |
| ストレージ | S3 |
| データベース | RDS |
| ネットワーク | VPC |
ストレージはS3で再現
S3(Simple Storage Service)はAWSのオブジェクトストレージサービスです。
- ファイル保存
- バックアップ
- ログ保管
- 静的Webサイト公開
など幅広く利用されています。
AWSのメリット
- 無料利用枠から始められる
- 数分でサーバーを起動できる
- 初期投資が不要
- 必要な時だけ利用できる
- インフラ管理の負荷を軽減できる
EC2への接続方法
キーペア認証
EC2への接続はキーペア(公開鍵認証)を利用します。
- ユーザーとインスタンス間を認証
- パスワード認証より安全
- 秘密鍵を保持する必要がある
セキュリティグループ
EC2のファイアウォール機能として利用するのがセキュリティグループです。
特徴
- 許可ルールのみ設定可能
- 拒否ルールは設定不可
- ステートフル型ファイアウォール
例
- SSH(22)
- HTTP(80)
- HTTPS(443)
などを許可できます。
AWSの操作方法
AWSは主に以下の方法で操作します。
GUI操作
AWSマネジメントコンソール
- ブラウザから利用可能
- GUI操作中心
- 初学者向け
CLI操作
AWS CLI
コマンドラインからAWSサービスを操作します。
操作例
- EC2作成
- S3管理
- RDS操作
PowerShell
Windows環境ではPowerShellからAWSサービスを操作できます。
EC2へ接続する方法
Linuxサーバー
SSHクライアントを利用します。
代表例
- Tera Term
- PuTTY
- OpenSSH
ユーザー名
多くのAmazon Linuxでは以下を使用します。
ec2-user
※OSによって異なる場合があります。
Tera Termで接続
Tera Termに秘密鍵を読み込むことでEC2へSSH接続が可能です。
ブラウザから接続
以下の理由でSSHソフトを利用できない場合はブラウザ接続も可能です。
- Tera Termをインストールできない
- 管理者権限がない
- 緊急対応時
AWS Systems ManagerやEC2 Instance Connectを利用します。
SAA-C03試験概要
AWS Certified Solutions Architect - Associate(SAA-C03)は、AWSアーキテクチャ設計に関する知識と実践力を評価する資格です。
顧客要件に基づく設計原則の適用
評価内容
- 顧客要件の理解
- 技術要件の特定
- 設計原則の適用
ベストプラクティスに基づく実装ガイダンス
評価内容
- 実装ガイダンス
- セキュリティ設計
- 運用管理
推奨知識(公式ガイド)
- 実務経験
- 主要サービス
- デプロイ管理
- 技術要件の特定
- サービス選定
- ベストプラクティス
- アーキテクチャ原則
- インフラ理解
- ネットワーク技術
- セキュリティ
試験の特徴
選択問題
単一選択
正解を1つ選択する問題
複数選択
複数の正解を選択する問題
よく問われる内容
- サービスでできること
- サービスでできないこと
- サービスの組み合わせ
- ベストプラクティス
重視される観点
- セキュリティ
- コスト最適化
- 可用性
- 実務適用力
分野1:セキュアなアーキテクチャ(24%)
1. AWSリソースへのセキュアなアクセス設計
AWSセキュリティの基礎知識
- AWS責任共有モデル
- AWSセキュリティベストプラクティス
- AWSグローバルインフラストラクチャ
- 複数アカウント管理
セキュリティ設定とサービス
- フェデレーテッドアクセス
- IDサービス
- リソースポリシー
IAMによる管理
- ユーザー作成
- ユーザー管理
- ポリシー設計
- ポリシーアタッチ
- アクセス権限の監査
- 権限分析
- 権限設計
IAMロール管理
- ロール設計
- 一時認証情報の発行
- クロスアカウントアクセス
- EC2インスタンスプロファイル
- サービスロール
- ロール切り替え
2. 安全なワークロードとアプリケーション設計
セキュリティサービスの基礎
- 適切なユースケース
- AWSサービスエンドポイント
- 脅威ベクトル
セキュリティ設定
- アプリケーション設定
- ポート制御
- プロトコル制御
スキル要件
- 設計戦略
- ネットワークセグメンテーション
- サービス設定
- 外部接続の保護
3. データセキュリティコントロール
基礎知識
- データアクセス制御
- データガバナンス
- データ復旧
- データ保持
- データ分類
- 暗号化
- キー管理
実装スキル
- 保存時暗号化
- 転送時暗号化
- キー管理
- キーローテーション
- データ保存設定
分野2:弾力性に優れたアーキテクチャ(30%)
1. スケーラブルで疎結合なアーキテクチャ設計
知識
- 設計原則
- スケーリング
- サービス連携
- サーバーレス
- ワークフロー
- コンテナ
- ストレージ
スキル
設計判断
- イベント駆動アーキテクチャ
- マイクロサービス
- 多層アーキテクチャ
- スケーリング戦略
- 疎結合設計
- コンテナ利用判断
技術選定
- サーバーレス導入判断
- API設計
- コンピュート選定
- ストレージ選定
- ネットワーク選定
- データベース選定
2. 高可用性・耐障害性アーキテクチャ
目標例
- Availability:99.99%
- レイテンシ:100ms未満
知識
- インフラ基礎
- 可用性
- 回復性
- 設計パターン
- 制限事項
- ストレージ特性
スキル
- 設計自動化
- サービス選定
- 評価
- DR戦略
- SPOF排除
分野3:高性能アーキテクチャ(28%)
主に以下の分野が出題対象です。
- 高性能ストレージ
- 高性能コンピューティング
- 高性能データベース
- スケーラブルネットワーク
- データ取り込みと変換
1. 高性能ストレージソリューション
知識
- ストレージサービスの特性
スキル
- パフォーマンス要件の決定
- 適切な設定選択
- ストレージタイプ選択
2. 高性能コンピューティングソリューション
知識
- コンピューティング基礎
- キューイング
- メッセージング
- サービス知識
- スケーラビリティ
- コンテナオーケストレーション
スキル
- ワークロードのデカップリング
- インスタンスタイプ選択
- スケーリング設計
- スケーリング戦略
3. 高性能データベースソリューション
知識
- データベース種別
- エンジン
- キャッシュ戦略
- アクセス設計
- スケーリング
- 接続管理
- 高可用性
- ベストプラクティス
スキル
- データベース設計
- エンジン選定
- Aurora選定
- DynamoDB選定
- キャッシュ統合
- リードレプリカ活用
4. ネットワークアーキテクチャ
知識
- CloudFront
- ロードバランシング
- ネットワーク接続
- ネットワーク設計
スキル
- ネットワークトポロジ作成
- ロードバランサー戦略
- スケール設計
- リソース配置
構成イメージ
Edge Layer
↓
Load Balancer Layer
↓
Network Layer
↓
Application Layer
5. データ取り込みと変換
知識
- データ取り込みパターン
- セキュアアクセス
- 分析サービス
- ストリーミング
- データ転送
- データ変換
- データレイク
スキル
- データソース選定
- ターゲットシステム選定
- ストリーミングパイプライン設計
- DLQ構築
- Glueジョブ最適化
- Athena最適化
- Parquet形式の活用
分野4:コスト最適化(18%)
1. ストレージ最適化
知識
- S3ストレージクラス
- EBSタイプ
- EFS
- FSx
- ライフサイクル管理
- アーカイブ
- DataSync
- Storage Gateway
- Cost Explorer
- AWS Budgets
スキル
- サービス選定
- データ最適化
- 転送コスト削減
- 容量最適化
- バックアップ戦略
2. コンピューティング最適化
知識
- 実行基盤
- 購入モデル
- インスタンス
- 運用管理
- Auto Scaling
- サーバーレス
スキル
- 購入戦略最適化
- スペック最適化
- サービス選定
- 環境分離
- スケーリング設計
3. データベース最適化
知識
- DB種別
- 課金体系
- 接続管理
- パフォーマンス管理
- データベース選定
スキル
- エンジン選定
- 課金モデル選択
- 構成設計
- 最適化戦略
- 運用戦略
4. ネットワーク最適化
知識
- CloudFront
- Global Accelerator
- Transit Gateway
- VPC Peering
- PrivateLink
- VPN
- Direct Connect
スキル
- 転送コスト削減
- ロードバランサー最適化
- NAT Gateway最適化
- 経路設計
- 可観測性向上
AWSを操作する主要ツール
マネジメントコンソール
- Web画面から操作
- GUIベース
インスタンス操作
Windows
- リモートデスクトップ接続(RDP)
Linux
- SSHクライアント
- Tera Term
- PuTTY
- OpenSSH
AWS CLI
- コマンドライン操作
- 複数サービスの一括管理
例
- EC2
- S3
- RDS
その他
AWS SDK
アプリケーションからAWSを操作するためのAPIライブラリ
AWS CloudShell
ブラウザ上でCLI操作が可能
マネジメントコンソールでよく利用する機能
AWS Health
障害やメンテナンス情報の確認
Cost Explorer
コスト分析
Solutions
ユースケースごとの構成例確認
Trusted Advisor
- コスト最適化
- セキュリティ
- パフォーマンス改善
AWS Organizations
複数アカウント管理
Service Quotas
サービス利用上限管理
Billing Dashboard
請求確認
Security Credentials
認証情報管理
サポート
- サポートセンター
- AWSドキュメント
- 開発者フォーラム
- AWS re:Post
- トレーニングと認定
- AWS IQ
まとめ
SAA-C03では単なるAWSサービスの暗記ではなく、以下の観点から最適なアーキテクチャを設計できることが求められます。
- セキュリティ
- 可用性
- パフォーマンス
- コスト最適化
特に頻出サービスである以下は重点的に学習しておくことがおすすめです。
- IAM
- VPC
- EC2
- S3
- RDS
- DynamoDB
- Lambda
- CloudFront
- Route 53
- ELB
- Auto Scaling
試験対策では「そのサービスをなぜ選ぶのか」を意識しながら学習することで、実務にも活かせる知識が身につきます。