- AWS認定セキュリティスペシャリティ(SCS)に合格できた勉強法の紹介記事
- とにかくサービスを作りまくる。特にIaCで作りまくる、が秘訣
- 実務でも使える知識が身につきます
試験開始から、はや2時間。ドキドキと胸を高鳴らせながら、合否確認のボタンを押す。
結果は、
- 1000点中936点!
かなりの余裕をもって、一発合格できました!
今回も、認定ソリューションアーキテクトアソシエイトに引き続き、次の方へのバトンとして勉強法を書き残しておきます。
スポンサーリンク
スタート地点
最初にざっくりと、僕の経歴を!バックグラウンドがわかったほうが、勉強法を参考にできるか判断できると思うので。
AWS歴3年弱
本格的にAWSを触り始めてからの期間は、約3年ほど。
開発チームの一員として、
- プログラマ
- QA/監視/運用リーダー
等々、ワイドに担当してきました。
運用の一環で、セキュリティサービスの設計も、ある程度経験済みです。
一般的な知識
過去に基礎知識を身につけるために
の各試験を受講。座学が主になるところで、実務経験が足りていない状態ですが、ある程度の基礎は身についていた状態でした。
ちょっと長くなりましたが、僕のバックグラウンドはこんな感じです。
試験の概要
では、本題。
セキュリティスペシャリティは、
- 試験受験:全75問1000点満点の選択問題で、750点以上を獲得
の1発勝負。事前のテストや受験資格の獲得はありません。
スケーリングスコアを採用しているため、正確には75%で合格、とは言えませんが、おおよそ75%とれば合格できると考えてください。
「Infra as Codeで作って」身につけよう
では、勉強法について。
結論から言うと、試験に関連するセキュリティサービスを、パラメータを網羅的に調べながら作りまくります。
というのも、
- 最新のAWSの状態は、本には載っていない
- 座学的な知識だけでは、試験に受かっても実務で使えない
ため。
当然ですが、「実際のAWSの環境が、最も最新」のため、とにかく環境を触りまくる作戦です。
また、今回の僕の受験動機は、資格を取るためでなく、セキュリティサービスに対する理解を深めるため。そういった意味でも、この作戦が非常にマッチしていました。
勉強法とおすすめの教材、参考書
今回は作戦の都合上、教材はかなり少なめ。
まとまった試験用の書籍は利用せず、問題集のみ利用しました。
問題集は、有名なWebのものと公式のものですね。Web問題集でセキュリティスペシャリティの模擬問題を解くためには、有料会員登録が必要です。
参考
僕は「どんなサービスがあるか」程度の知識は前もって持っていたため使いませんでしたが、セキュリティスペシャリティのまとまった教科書としては、以下のものが評価高めなようです。
ざっくりどんなサービスがあって、それぞれなにをしてくれるのか、を頭に入れる分にはテキストの利用は有用だと思います。
Step1: セキュリティサービスを作りまくる
では、具体的にどのように勉強していったのかをご紹介します。
まずは、徹底的に知識を頭に詰め込む目的で、セキュリティサービスを作りまくります。
ポイント: IaCで作る
この作る、という過程のポイントは、Infra as
Code (IaC)で作ることです。
なぜマネジメントコンソールでなくIaCか、というと、
- マネコンでは、細部を知らなくても、AWSがよしなにパラメータを設計してくれるが
- IaCでは、パラメータを熟知していないとそもそも作れないから
です。
もう少し詳しくいうと、マネコンの場合、各サービスの初学者が気軽にサービスを試せるようにできていて、画面の支持に従って次へ次へしてしまえば、サービスをプロビジョニングできますよね。
応用的なパラメータについては、オプションのエリアに押し込まれていて見なくてもよいようになっていたり、ものによってはそもそもコンソールからは設定できなくなっています(=CLIやAPIアクセスでしか、設定できないパラメータがある)。
なので、荒い言い方をすれば、サービスに関する知識なんてなくても、サービスをプロビジョニングするだけならできてしまうんです。
一方でIaCの場合どうなのか、というとすべてのパラメータをひとつひとつ、自身で設定していく必要があります(デフォルト値の設定度合いはIaCツールによる)。この自身で設定していく、というのが味噌です。
ひとつひとつのパラメータについて、
- これはどういうパラメータなのか
- どのような値が設定できるか
をAPIリファレンス等で、徹底的に調べていくので、すごく勉強になるんですね。コンソールでは隠れているパラメータについても、網羅的に調べていくので相当学習深度は深くなります。
もちろんサービスに慣れるため、導入だけコンソールからはじめる、というのも効果的です。
僕も全く触ったことがないサービスについては、
- マネコンで一度作る
- IaCでもう一度作る
の2段階で勉強していました。
どのIaCツールを使う?
主だったIaCツールである、
- CloudFormation
- AWS CDK
- Terraform
のいずれかから選ぶことになります。
個人的には、CloudFormationかTerraformを利用するのがよいと思います。理由は、抽象化の度合いです。
AWS CDKは、コンセプトとして、「AWSの各パラメータを抽象化して、デプロイを容易にする(特にHigh Level Constructの場合)」ように設計されているため、調べずともサービスを作成できてしまうパラメータが多く、今回の目的にはミスマッチです。
一方で、CloudFormationやTerraformは、ほぼすべてのパラメータを宣言的に記載しなくてはならず、今回の目的にマッチしています。
僕の場合は、Terraformを使いました。もともとTerraformを使っていて、慣れていたのが大きいです。
Terraformの場合の作成&勉強フロー
基本的に、
です。
これを試験対象となるセキュリティサービスに対して、徹底的に実施していきます。
僕の場合は追加で、READMEに各サービスの概念図を書く、のも実践していました。試験が終わった今でも、実務で参考にすることが多々あり、重宝しています。
参考までに、いくつか作成したリポジトリを掲載しておきます。
※試験を受けた2021年末からあまりメンテできていないため、一部最新の書き方になっていません
この勉強法は、本当におすすめで、現場で使える実践力が身につきます!セキュリティスペシャリティ受講後も、新サービスにふれるたびに少しずつリポジトリを増やしていますが、かなり知識の定着がよくおすすめです。
Step2: 問題集を解く
ある程度、主要なサービスの作成&勉強が終わったら、いよいよ問題集の出番です。AWS
WEB問題集で学習しようを使います。
執筆時点で、7問セット×32回分が収録されていました。
こちらを解いて、わからなかったサービスについては、IaCで作成するか、ドキュメントを読むかで知識を深めていきます。
Step3: 公式の問題集
Web問題集の正答率があがってきたら、途中でAWS公式の問題集も解いてみましょう。
目的は、実力の確認です。
問題数こそ少ないですが、試験元のAWSが出している問題のため、問題の文体であったりも含めた疑似体験ができます。
この後は、さらにIaCでサービスを作るなり、問題集を解き直すなり、残った時間で効率よく知識を得られる方法をとるのがよいと思います。
作りまくるが合格の鍵
実務でも使える知識が身につきますので、ぜひ一度お試しください!
最後までご覧いただきありがとうございました。
Jimon(@jimon_s)でした。