AWS SAA-C02 結局何を勉強すればええんや

先日AWS SAA（Solutions Architect Associate）に合格しました。
社内向けに記事を書いたのですが、社外の友人も知りたいと言ってきていたのでQiita記事化しようかと思います。（ほぼ丸コピ）

# AWS認定資格って何や

AWS Certificate(AWS認定)という枠組みで、AWSについての高い知識を持つことを証明する資格。
領域や担当分野に応じて複数の資格がある。
参考：https://aws.amazon.com/jp/certification/?nc2=sb_ce_co

# Solutions Architect Associateって何や

アーキテクト系のアソシエイト資格で、AWSでのアプリケーション設計やシステム設計系のスキルを証明するもの。
同じアソシエイト系のSysOps Administrator AssociateやDeveloper Associateの内容を包括し、AWS学習の中ではより一般的な領域の知識が問われる。

試験内容はAWSのサービス変化によって変動し、2020年3月23日以降から新バージョン（SAA-C02）の受験が可能となった。
旧バージョン（SAA-C01）は2020年7月1日まで受験可能である。

|||
| --- | --- |
| 実施形式 | テストセンターまたはオンラインプロクター試験 |
| 時間 | 130分 |
| 受験料金 | 15000円（税別） |
| 合格ライン | およそ72％ |

# 求められる知識と経験

* AWS のコンピューティング、ネットワーキング、ストレージ、データベースサービスの実践的な使用経験
* AWS のデプロイおよび管理サービスに関する実践経験
* AWS ベースのアプリケーションに関する技術的要件を特定、定義する能力
* 提示された技術的要件を満たす AWS のサービスを特定する能力
* AWS プラットフォームで安全性と信頼性の高いアプリケーションを構築するために推奨されるベストプラクティスに関する知識
* AWS クラウドでのソリューション構築における基本的なアーキテクチャの原則に関する理解
* AWS のグローバルインフラストラクチャに関する理解
* AWS に関連するネットワーク技術の理解
* AWS で利用できるセキュリティ関連の機能およびツールと従来型サービスとの連携に関する理解

出典：https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/

# 要は何が分かっていればええんや

## 1. 一般的なIT知識

一般的なIT知識を前提として出題されるため、知っている必要がある。
例としては下記など。

- サブネットマスク
- DNSの各種レコード
- HTTP / HTTPS / SSH 等のプロトコルとその対応するポート
- RDBとNoSQLの違い

## 2. サービスの概要

一般的に使われるAWSサービスの概要の知識が問われる。
私は資格受験の学習の中で、下記サービスについて学んだ。
その中でも、太字になっているものが問題としては多く出されるものだった。

| カテゴリ | サービス |
| --- | --- |
| **分析系**| **Amazon Athena /  Amazon EMR / Amazon Redshift / Amazon Kinesis Data Streams / Amazon Kinesis Data Firehose / Amazon Kinesis Data Analytics / Amazon QuickSight / AWS Lake Formation**|
| アプリケーション統合| **Amazon Simple Notification Service(SNS) / Amazon Simple Queue Service(SQS)** / AWS Step Functions / Amazon MQ|
| **コスト管理**| **AWS Cost Explorer** |
| **コンピューティング**| **AWS EC2 / AWS Lambda / AWS Auto Scaling / AWS Elastic Beanstalk**|
| **コンテナ**| **Amazon Elastic Container Registry(ECR) / Amazon Elastic Container Service(ECS) / Amazon Kubernetes Service(EKS)**|
| カスタマーエンゲージメント| **Amazon Simple Email Service(SES)** |
| **データベース**| **Amazon Aurora / Amazon ElastiCache / Amazon Redshift / Amazon DynamoDB / Amazon RDS** / AWS Database Migration Service(DMS)|
| 開発者用ツール| AWS X-Ray |
| エンドユーザーコンピューティング| Amazon WorkSpaces |
| Machine Learning| Amazon Lex / Amazon Rekognition|
| **マネジメントとガバナンス**| **Amazon CloudWatch / AWS CloudFormation / AWS Auto Scaling / AWS CloudTrail / AWS OpsWorks / AWS Organizations**|
| 移行と転送| AWS Application Discovery Service(ADS) / AWS Server Migration Service(SMS) / AWS Database Migration Service(DMS) |
| **ネットワーキングとコンテンツ配信**| **Amazon VPC / Amazon Route 53 / Amazon API Gateway / Elastic Load Balancing(ELB) / Amazon CloudFront** / AWS Transit  Gateway / AWS Direct Connect  / AWS Global Accelerator|
| **セキュリティ、アイデンティティ、コンプライアンス**| **AWS Identity & Access Management(IAM)** / AWS Shield / Amazon Cognite / AWS Certificate Manager(ACM) / AWS CloudHSM / AWS Key Management Service(KMS) / AWS WAF|
| **ストレージ**| **Amazon Simple Storage Service(S3) / Amazon S3 Glacier /  AWS Backup / Amazon Elastic Block Store(EBS) / Amazon FSx for Windows File Server / Amazon Elastic File System(EFS) / AWS Storage Gateway / AWS Snowball / AWS Snowball Edge / AWS Snowmobile** |

また、各カテゴリ内の要素に対して、それぞれ何が違うのか、どのような特徴があるのかを知っておく必要がある。
S3一つでもタイプによって、コストや対応するアクセス頻度、データ取得にかかる時間が異なる。

## 3. 実現方法

上記サービス単体の知識を得た上で、単体や組み合わせによってそれぞれ何が実現できるのかを理解する必要がある。
例えば、Lambda + API Gateway でサーバレスなAPIを構築できたり、S3 + CloudFrontで静的ホスティングができる等である。

## 4. 問われている内容の理解

ソリューションアーキテクトとして何が問題で何を解決したいのかを問題文から読み解く力が必要となる。
純粋に「○○を実現する」方法を求められるパターンや、「可用性を担保する」方法、「コストを抑える」方法、「復旧時の」方法など、パターンは無限にある。

サービスごとの特徴と出題の構成を加味して、最適な回答を選択すると良い。

# 学習方法

私の場合はまずUdemyの動画コースで学習し、その後問題集コースを2周した。
問題集では、誤答した問題に関連するAWSサービスの説明サイトにアクセスし、復習をした。

個人的には動画コースはそこまで勧められない。
インプットのみであれば書籍等の方が良いと考える。

動画コース
[これだけでOK！ AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座（SAA-C02試験対応版）](https://www.udemy.com/course/aws-associate/)

過去問
[【SAA-C02版】AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集（6回分390問）](https://www.udemy.com/course/aws-knan/)

# おわりに

と、まぁ、こんな感じです。

AWS触る機会が多い人もいるでしょうし、キャリアとしてのアピールポイントになったり、他AWSサービスの一部割引があったり、会社によっては報奨金があったりもするので、興味のある人は受験してみても良いんじゃないかなと思います。

実務で使いそうな知識も使わなそうな知識も、幅広く学習する機会を持つことができたので、受けてよかったと思ってます。