AWS SAP-C02 合格体験記

# はじめに
AWSの勉強を始めてから1年くらいでSAP-C02に合格できたので、私なりの勉強方法について紹介します。

# AWS SAPについて
AWS SAPとは、AWS Certified Solutions Architect - Professionalの略称です。
[公式サイト](https://aws.amazon.com/jp/certification/certified-solutions-architect-professional/?ch=sec&sec=rmg&d=1)の説明は以下の通りです。
>この資格は、認定を受けた個人が、複雑な問題に対する複雑なソリューションの提供、セキュリティ、コスト、パフォーマンスの最適化、および手動プロセスの自動化における高度な知識とスキルを証明するために役立ちます。この認定は、組織がクラウドイニシアティブを実施するための重要なスキルを備えた人材を特定して育成するための手段です。

簡単に言うと、AWSが提唱するベストプラクティスに沿った設計を行うことができるスキルを有する者に与えられる資格であるということです。
以下の図にもある通り、2年以上のAWSクラウド経験があることが望ましいと記載されており高度な資格であることがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3776083/6d1e2df2-a2b4-679d-0e5b-278286f86948.png)

# 筆者の情報
- 保有資格
  - AWS CLF/SAA/SOA/DVA
  - 基本情報技術者試験
  - JP1認定エンジニア
- インフラエンジニア6年
  - 主に運用機能の開発・保守改善に従事、スクリプトを作成することが多い
- AWS利用はVPCフローログを確認する程度でほとんどなし
  - 学習自体は1年ほど継続していた

# 試験のスコア
849点/1000点　(合格は750点以上)

# 学習期間
2か月程度

# 学習内容
## 試験ガイド
いつも必ずやる試験ガイド確認です。
[**公式試験ガイド**](https://d1.awsstatic.com/ja_JP/training-and-certification/docs-sa-pro/AWS-Certified-Solutions-Architect-Professional_Exam-Guide.pdf)

実はここ確認してなかった～という人もちらほらいますが、その認定においてどのような分野に対する知識が求められているのか、そしてどのサービスが試験範囲になっているのかはすべてここに書いています。必ず確認するようにしましょう！

各サービスがどのような役割を果たすサービスなのか、簡単に以下のようにまとめています。※一部抜粋
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3776083/fac3fedc-4cf0-0ba8-f3f7-7eea87edae10.png)

ここでは、サービスの機能を深く知る必要はありません。なぜかというと深く知るのはこれから先の学習で行うからです。
ここでやりたいことは、そのサービスがAWSクラウド全体でどのような役割を果たしているかという概要・概念を抑えるということです。
そうすることで、この先の学習で詳細を抑えやすくなります。

## 参考書
いつもお世話になっているシリーズです。
[**参考書**](https://amzn.asia/d/hAH4pXO)

この参考書は図やAWSマネージメントコンソール上のキャプチャがあったりするので、初心者にもわかりやすい参考書になっています。
また、ポリシーをJSON形式で記載していたりもするのでより理解を深めることができます。
ただし、やはり書籍ではすべての機能、すべてのサービスを深堀することはできないのを頭の片隅に入れておいてください。

私はとりあえず1週読んで、覚えていないサービスや少しイメージしにくかったサービスがあった際に再度読み直しました。
巻末の模擬問題はよくわからなかったので解いていません。笑

## 模擬問題
こちらもいつもお世話になっているサイトです。
[**CloudTech**](https://kws-cloud-tech.com/)

こちらのオンライン学習サイトでは、模擬問題だけではなくサービスの簡単な解説動画やハンズオン用の動画を出しているため、初心者から上級者まで幅広く利用し続けられるサイトになっています。

私は模擬問題を解いていくのと、後述するBlack Beltで何を言ってるかわからん。となったサービスの学習に利用しました。

イメージ的には、以下のような形です。
（左に行くほど初心者にわかりやすく、概念を抑えやすい。右側に行くにつれ詳細で難解。）
CloudTechの解説動画 ＜ Black Belt ＜ 公式ドキュメント

## Black Belt
AWS サービス別資料です。
[**Black Belt**](https://aws.amazon.com/jp/events/aws-event-resource/archive/?cards.sort-by=item.additionalFields.SortDate&cards.sort-order=desc&awsf.tech-category=*all)

サービスごとのオンラインセミナー動画や、PDFなどの資料を確認することができます。詳細に説明されているので、初学者はかなり読む/聴くのが辛いです。
私は、参考書等でもふわっとしか理解できていなかった、Direct ConnectとTransit Gateway、KMSについての動画を見ました。
特に難解だったのが、Direct ConnectだったのでCloudTechの動画を見て確認しました。

模擬問題などを進めていく中でよくわからないサービスや、機能が多岐にわたるものについてはBlack Beltで確認するのが良いかなと思います。

## 見なかったけど見ておけばよかったもの
### ホワイトペーパー
ホワイトペーパーとは、AWSにおけるベストプラクティスをまとめている資料です。
[**ホワイトペーパー**](https://aws.amazon.com/jp/whitepapers/?whitepapers-main.sort-by=item.additionalFields.sortDate&whitepapers-main.sort-order=desc&awsf.whitepapers-content-type=*all&awsf.whitepapers-global-methodology=*all&awsf.whitepapers-tech-category=*all&awsf.whitepapers-industries=*all&awsf.whitepapers-business-category=*all)

アソシエイト資格を複数保有していたので、ベストプラクティスに従った回答はできるだろうと踏んで確認しませんでしたが、模擬問題を解いている中でも悩むことがあったので確認しておいたほうがよかったかなと思いました。

# 学習のポイント
AWS SAPでは、Skill Builderの動画でも解説されている通り、何を重要視しているのかが問題文に記載されていることが多いです。
[**Skill Builder**](https://explore.skillbuilder.aws/learn/course/19291/exam-prep-standard-course-aws-certified-solutions-architect-professional-sap-c02-japanese-ri-ben-yu-shi-xie-ban)

重要視されるのが、コストなのか、信頼性なのか、はたまた運用上のオーバーヘッドを少なくするのかなど与えられた情報をもとにどの回答がその要件を満たすのかを意識する必要があります。
そのため、**ベストプラクティスだけを考えるのではなく、要件に沿った設計を行えるかどうか**がポイントになります。

サービスを組み合わせて特定の機能を有効化することでどのような影響があるかを知っていくことが重要です。例えば以下のようなものが一例として挙げられます。

問題例
-----
API Gatewayの背後にはLambdaが存在しており、RDSの情報を取得している。
特定のレコードに対し同一のGETリクエストが多いことがわかっており、コストを削減したいと考えている。どのような対策を行えばよいか？

回答例
-----
API Getawayのキャッシュ機能を有効化する。

得られる効果
-----
API Gatewayでデータをキャッシュすることによって、特定のレコードに対するGETリクエストがAPI Gatewayで保持されるデータで応答することができる。
つまり、Lambdaが起動されないためコスト削減が見込める。

間違えやすいものとしてElastiCacheを利用するなどが挙げられるが、データを取得する際、Lambdaが起動しElastiCacheのデータを確認しにいくので運用の複雑性が増し、ElastiCache側のキャッシュ管理次第でコストが増加する場合がある。

・・・このように機能単体だけではなく全体のアーキテクチャの整理、さらには運用面も考慮した回答を考えられるようにすると、よりプロフェッショナルに近づくことができます。

# おわりに
AWS SAPだけではなくAWS認定全体で重要なポイントを詰め込んでみました。
このエントリが誰かの参考になれば幸いです。

一つの目標として掲げていたSAPを無事取得できましたが、引き続き自己研鑽に励みたいと思います。