AWS認定ソリューションアーキテクト-プロフェッショナル(SAP-C02)雑感

# 概要

AWS認定ソリューションアーキテクト-プロフェッショナル(SAP-C02)に2024年5月に合格することができました。スコアは772点で、合格ギリギリでしたが、プロフェッショナルの称号を手に入れたことに大満足してます(^^)。

本記事では、その学習の考え方や試験対策についての雑感を共有します。特に、私のような非エンタープライズ環境で働くエンジニアに向けて参考になれば幸いです。私が従事している業務内容ではこんな感じだったよ、という主観なので自分語り多めですが、ご自身の業務経験と比較しながら読んでいただけると多少は参考になるかも。

# 私について

実験系の大型施設で働いており、Web系を中心にプログラム開発やインフラ整備などを好きなようにやらせてもらってます。アカデミック界隈にいて、最近は開発とか広報系業務が多いです。いわゆる一人SEな感じで、いろいろ首をつっこませてもらい遊んでいます。

クラウド関係ではAWSが圧倒的に使いやすいので、AWSが中心です。開発のネタを見つけたり持ち込まれた場合、選定から実装、運用などをやっています。私の開発規模では、SAPの内容は業務とは違うかなと思っていて、SAA更新かSAP挑戦かで迷っていたのですが、せっかくなのでSAPに挑戦しました。

### AWS利用経験

- 個人アカウント作成は2006年03月、新しいサービスが追加されたら試してみる感じ(当時のリリーススピードだと可能だった)
- 業務でのAWS使用は2016年から(課金は月1,000～1,200USD。安く小さく使ってる)
- 使用サービスはLambdaが多いがECSやELBなどで組み、DynamoDB、RDS、OpenSearchなどあり。イントラ用がほとんど(想定ユーザー数200-300人程度)。パブリック用にCloudFrontやAPI Gatewayなどももちろん使う
- インフラまわりだとWorkSpaces、Managed Microsoft AD、Direct Connect、KMSなど
- 好きなサービスは飛び道具として使えるSQS
- 今と同様に適当にコード書いたり設計したりを業務で始めてからは20年ぐらい

Organizationsを使ってない、VPCも数個しかないという程度で、Transit Gatewayって高いからやめようとか、止まったらゴメンねでいいやのAuroraシングルインスタンスとか、適当な使い方してます。なので、マルチAZはともかくマルチリージョンDRとかは経験ないです(考えたことぐらいはある)。そんなレベルです。周りにレビューしてもらえる人がいないので試行錯誤しながらいろいろ試してます。

### 保有資格

自分の情報系知識がどの程度の水準なのか、また正確な知識を学べているか、などを確認したかったので、ここ最近、手が届きそうな資格を受けてます。これらの資格を取ったところで業務上全く評価されないので、楽しみながら半分趣味で受けてます(なので自腹)。

- 第二種情報処理技術者(学生の頃に取った。これで歳がバレる)
- 応用情報処理技術者(2023年)
- 情報処理安全確保支援士(登録セキスペ; 2023年)
- AWS認定ソリューションアーキテクト-アソシエイト(2021年)
- AWS認定SysOpsアドミニストレーター-アソシエイト(2022年)
- AWS認定デベロッパー-アソシエイト(2022年)

# 経験は役に立つか？

すっかり前置きが長くなってしまいましたが、私ぐらいの年齢でずっとコード書いている人だと同じようなことをしている人が結構いるのではないかと思います。設計も運用もしている方なら、問題文(結構わかりにくい書き方が多いです)を読んだときに「つまりこうしたいのね」とか「こんな仕様だと保守面倒だろうな」などの状況把握はしやすいと思います。

私は少人数もしくは私だけで保守をする(しかも増え続ける)ことが多いので、できるだけベストプラクティスに沿って組むように心がけています。そのため、(少し違うかもですが)Well-Architectedな構成などは、理解しやすかったです。そういった基礎的なことが身についており、さらに日頃AWSが手になじんでいて大体のサービスは把握できていると思っている私の場合は以下の点が課題でした。

- 複雑な組織への対応(Organizationsなど)
- ダウンタイムをできる限り避けながらなど条件付きのモダナイゼーション
- 知らんサービス(私の場合はデータレイク系とか)

この中でも、複雑な組織への対応は理解してしまえばたいしたことありませんが、下の二つは使用経験がなく、なかなかつらいものがありました。後から考えると、この状態で5～7割程度取れるかどうかじゃないかと感じました(人によって全然違うと思いますが)。

現場経験が長くても、業務分野や規模によっては全然関連することがない技術はあると思いますので、その点をどうするかがポイントになると思います。

# どんな勉強をしたか
### 複雑な組織への対応

OrganizationsやService Control Policy、スイッチロールなどは基本なので、あいまいな場合はしっかり理解する必要があります。これは組織コントロールの要であり、仕組みが非常に理解しやすく構成されています。そのため、「知っているか」という内容であり、参考書をしっかり読み込んで理解する、公式模擬試験などをやり込んでポイントを押さえる、程度ですぐに克服できるはずです。そのため、ミスをせずに確実に点を取れるようにしておくべき領域でしょう。

### モダナイゼーション

SAAと大きく異なる点がやはりここだと思います。オンプレで組んだシステムをクラウドに持って行く、AWSで組んだのだけどコスト効率が悪いから何とかしろ、みたいな領域です。そういった業務をしている方はユーザーさんのケースに触れており簡単だと思うのですが、私のように基本的には身の回りのもの、という業務だと大きなケースは遭遇したことがなく、サービス選定が難しかったです。

特に、ダウンタイムをできるだけ短くなど、さまざまな条件を満たすためのサービス選定が難しかったです(コスト削減は実体験が多く、割と簡単(^^;)。問題や解説を読んでいる中で、「こういったツールあるのかー」と感心することも多かったです。なので、わからないときは「これAWSならではの機能で、めちゃ便利なんじゃないか？」という選択肢を選ぶと正解できることもある気がします(逆にそれでは要件を満たさず、回り道が正解というひっかけもある)。マルチAZとかマルチリージョンDRとかは基本を押さえればそれほど難しくないので、早い段階で理解しておけば後々楽な気がします。

対策としては、私のようにそういった経験が無い場合、広く学ぶしかなさそうなので、模擬試験とか練習問題の内容とその周辺内容をしっかり理解するしかないかもしれません(普通ですが)。

### 知らんサービス

これはもうどうしようもないです(^^;。知らなければ選定のしようもないので、できるだけ広くサービスを把握しておくしかありません。私はデータレイク系(EMRとかRedshiftかな？未だによくわからん)とかKinesisは触れたこともないのですが、「サービス内容がまったくわからん」という領域を減らすしかないと思います。可能であれば簡単なチュートリアルでもすればいいのでしょうけど…

参考までに、私が業務で使っているアカウントの請求書をみるとアクティブなサービスが43となっていました。使用しているサービスによると思いますが、開発時などの調査段階に他のサービスも検討していると思うので、「見たことがないサービス」には遭遇しなかったです(知らんオプションはたまに遭遇するけど)。使ったことないと結局よくわからないのですが。

### というわけで

私の場合は以上の点が課題でした。私の場合は小さい組織ながらDirect Connectを入れて、初期設定以降は私がルート設定やら冗長設定やらいじっているので、そういった経験は非常に役に立ちました。使用経験にヒットすれば有利どころかその部分は余裕なので、実践的な試験だと感じました。

試験本番は大変です。私の場合は一通り回答して2時間ぐらいかかり、その後30分ぐらい見直しましたが、見直し後半は集中力続かないし、お手洗いも行きたくなってくるしで、問題以外も大変なので、模擬試験を本番環境に近い状態で試して練習しておくといいかもしれません。

# 実際にした学習

最後になりましたが、実際に私が使用した参考書などをまとめておきます(定番しか使ってませんが)。年のせいか(汗)、集中力が続かないので、試験1週間ぐらい前から、参考書を読んで、練習問題を仕上げ、その後模擬試験を2-3回繰り返しました。

### 参考書

- AWS認定資格試験テキスト＆問題集 AWS認定ソリューションアーキテクト-プロフェッショナル 改訂第2版
    - 山下光洋 著 /‎ SBクリエイティブ

言わずと知れた定番参考書。これだけでは正直厳しいと思いますが、SAPに関係するサービス全般の把握やカタログ的に使うと便利です。この参考書の練習問題を100%正解できるまで復習し、公式練習問題と模擬試験を組み合わせました。

### サイト

- AWS SAPサイト - https://aws.amazon.com/jp/certification/certified-solutions-architect-professional/
    - サンプル問題(10問)
    - AWS Skill Builder
        - 公式練習問題集(20問)
        - 公式模擬試験(75問)
        - 2024年5月下旬で期限切れの公式模擬試験が使えた(用語などが古い;75問)

公式模擬試験はSkill Builderのサブスクライブ(29USD/月; 月末までの日割りっぽい)が必要です。少しお金がかかりますが、受験料を失うよりはいいと思うので、あきらめて課金しました(^^;。

### 学習と本番の感想

年のせいかとにかく集中力が続かないので、短期決戦で臨むしかない！(SAA有効期限も迫ってたし)という思いで学習を進めました。平日はせいぜい1時間ぐらいしか勉強できないので、土日にまとめて頑張る、ぐらいの感じでした。学習時間は10～20時間ぐらいかなと思います(サボりサボりでしたが)。

本番ですが、「模擬試験の方が難しい」と書かれていたりしますが、今回の私の場合は本番の方が圧倒的に難しかったです。受験の最中に「これはヤバいかも」とドキドキしていました。なお、結果連絡ですが、受験終了が17:30で、結果が届いたのが19:15でした。

# まとめ

私のようにいわゆるインターネット老人会世代(＋パソ通世代)だと、経験豊富な方が多いと思いますので、自分の知識の整理やレベルの確認をする上で、こういった試験を受けてみると新鮮で楽しいと感じました。学習すると周辺知識も学べていろいろお得な気がします。SOAとDVAが来年切れるのでDOPにも挑戦しようかなと思ってます。

ここまでお付き合いありがとうございました。