新卒エンジニアが「AWS認定 Solutions Architect – Associate」を受験してきました

こんにちは、PR TIMESに21卒として新卒入社いたしました、岩下と申します!

先日AWSのSolutions Architect – Associate(以下、SAA)を受験してきました。

なので今回はそちらについての記事を書いていこうと思います!

目次

SAAについて

SAAってなに?

突然AWSのSAAなんて言われても、ピンとこない方もいらっしゃるとおもいますので軽く説明します。 クラウドサービスであるAWSでは、AWS各サービスについての知識と理解度を証明する資格試験を実施しています。それがAWS認定資格です。

画像元URL:https://aws.amazon.com/jp/certification

そのうち、私が今回取得したのは Solutions Architect – Associate という資格です。

受験資格などは特にありませんが、公式ページでは、

  • コンピューティング、ネットワーク、ストレージ、データベースなどの AWS のサービスや、AWS デプロイ、管理サービスの利用を含む、AWS テクノロジーに関する 1 年間の実務経験
  • AWS 上でのワークロードのデプロイ、管理、そしてオペレーション、およびセキュリティコントロールとコンプライアンス要件の実装の経験
  • AWS マネジメントコンソールおよび AWS コマンドラインインターフェイス (CLI) の使用に精通していること
  • AWS Well-Architected Framework、AWS のネットワーク、セキュリティサービス、および AWS グローバルインフラストラクチャを理解していること
  • 提示された技術的要件を満たす AWS のサービスを特定し、AWS ベースのアプリケーションの技術的要件を定義する能力

のようなことを受験前に経験しておくことがおすすめされています。

どうしてSAA?

AWSにはSAAにも、もう1段階上のSolutions Architect – Professional(SAP)や開発者向けの資格 Developer – Associate などその他にも多くの資格があります。ではなぜ私が SAA を最初の受験に選んだのか?

それはズバリ、「一番勉強しやすそうだったから」です。

おそらく一番参考書の種類が豊富ですし、体験記的な記事もたくさん出ています(先人の皆様ありがとうございます)。

また、SAAよりもひとつ下のランクで Cloud Practitioner という資格もあったのですが、どうせ勉強するなら!と少し挑戦気味にSAA受験を決めました。

ちなみに、受験しようと決めて受験方法を調べていくと、15000円の受験料が必要だったため、「あっ…うっ…」っとなりましたが、ダメ元で開発本部・プロダクト本部でのランチ会の際、

「あの~、AWSの資格を受けたいんですけど会社に資格取得支援制度とかありますか???」

と聞いてみました。すると、

「全然いいですよ!会社負担で受験できます!」

との大変ありがたい回答を頂きました。 感謝感謝です。

後日調べてみたところ、会社の制度として資格・認定試験補助制度があり、上長の承認を得られた資格・認定試験であれば、会社負担で受験できるようです。

実際に勉強してみて

勉強開始当初の実力

私は4月に入社した新卒なので、もちろん(?)上記したようなAWSが資格受験のために勧めている経験はほとんど無く、AWS への理解力というと、

「EC2はサーバー」「RDSはデータベース」「VPCは…」

くらいなものでした。それらは就活時にポートフォリオ作成のため、 Ruby on Rails で作成した Web アプリケーションを冗長化や可用性など全く考えずにデプロイしたときの遠い記憶です。

受験のきっかけ

大学生の頃、私はRubyやDartを使って実際にコードを書く業務が多かったです。PR TIMESへの入社時も、最初の一年くらいは言語がPHPに変わるだけでそんな感じの毎日なんだろうな〜と思っていました。また、それ以外のスキル、特にインフラ周りの知識は前述したようにかなり粗末なものでした。実際、入社してすぐに開催された社内ISUCONでは自分のインフラ知識の無さに絶望しました。本当に。

ところが7月某日、そんな私がPRTIMES STORY 開発リーダーにアサインされました! さすがにこのCTOの金子さんの判断には驚きました。二つ返事で受けた私も大概ですが、大変恐縮ながら、新卒エンジニアを開発リーダーにアサインした金子さんの判断もなかなか勇気があるなと、そう思います笑

いざ実際の業務に入ってみると、サービスの全体像を把握する際にかなり苦戦しました。というより把握できませんでした。コードで書かれている部分は追えばなんとか理解できるのですが(それも苦戦しました)、もっと致命的な場所がありました。インフラ周りです。 理由は簡単でした、デプロイ環境の各種サービスが何をやっているのか全くわからなかったからです。

「ECSのタスク定義で〜…」

「Kibanaのログが〜…」

「DirectConnectとオンプレが〜…」

当たり前のようにサービス設計書や社内ドキュメントに書いてある内容がほとんど理解できず、入社してからの絶望Part2でした。 毎日毎日わからないが積み重なっていき、結構しんどかったです。 特定の何がわからないとかではなく、全てがわからず苦しんだ、いい思い出です!笑

流石にこれは業務以前の問題だと感じ、「インフラ、AWSの勉強をしよう!」と決心。その勉強の試金石としてSAA合格を目標にしました。

勉強期間

2021年7月20日頃〜2021年8月28日

勉強時間はざっくりですが平日がおよそ2〜3時間、休日が6〜7時間くらいかと思います。 週25時間とすると、およそ130〜140時間程度の学習時間です。

ちなみに、勉強場所はTULLY’S or 自宅です。

勉強方法

使用した教材

幸い、PR TIMESでは書籍購入制度も整っているため会社負担で購入していただきました。

ちなみに、PR TIMESの書籍購入制度では社員が実際の業務にとらわれず、各自関心のある分野についての本を自由に購入できます。(業務委託の方もOK)

勉強のコツ

私がSAA試験勉強を通して感じたSAAの問題の解き方のコツを実際の問題を見ながら紹介します。 例題は公式HPのSAAサンプル問題から取り上げます。問題は以下です。

企業は、データ処理ワークロードを実行するためにリザーブドインスタンスを使用しています。夜間のジョブは通常、実行に7時間かかり、10時間以内に完了する必要があります。同社は、毎月末に需要が一時的に増加するため、現在のリソースの容量ではジョブが制限時間以内に終わらないと予想しています。いったん開始された処理ジョブは、完了する前に中断できません。同社は、できる限りコスト効率の高い容量を提供できるソリューションを実装したいと 考えています。 ソリューションアーキテクトは、これを達成するために何をすべきでしょうか? A) 需要の高い期間中にオンデマンドインスタンスをデプロイする。 B) 追加インスタンス用に 2 つ目の Amazon EC2予約を作成する。 C) 需要が高まる期間中にスポットインスタンスを展開する。 D) ワークロードの増加をサポートするために、Amazon EC2予約のインスタンスのインスタンスサイズを増やす。

コツは、SAA試験が「実現可能な設計か?」というより「AWSとしてのベストプラクティス(AWS Well-Architected フレームワーク)を問う」試験であることをきちんと認識することです。

AWS Well-Architected フレームワークは以下の5本柱で構成されます。

  1. 運用上の優秀性
  2. セキュリティ
  3. 信頼性
  4. パフォーマンス効率
  5. コスト最適化

また、問題のケースの”現状”、”やりたいこと”、”知りたいこと”をきちんと整理することも重要です。 このうち、多くの問題では”知りたいこと”にAWS Well-Architected フレームワークの5本柱のいずれかが入ります。

上記の問題の正解はAとなりますが、ではなぜAなのでしょうか?ここが非常に重要です。 まず選択肢を読む前に問題文の状況を整理します。問題文から読み取れることは以下です。

  • ”現状”
    • 企業はリザーブドインスタンスを利用している。
      • リザーブドインスタンスは名の通り予約されたインスタンス。稼働時間で課金されるオンデマンドインスタンスよりも、時間あたりの料金が安いのがメリット。(電車の定期券のようなもの)
  • ”やりたいこと”
    • 夜間実行ジョブをおよそ10時間以内に終わらせたい。
      • どうやら今のインスタンスの性能では怪しいみたい → 取れる手段としては、「インスタンスを増やす」 or 「またはインスタンスタイプをより高性能なものにする」など。
      • 一旦開始されたジョブは中断してはいけない
  • ”知りたいこと”
    • コスト効率の良い方法を知りたい!

このうち、”知りたいこと”から今回はAWS Well-Architected フレームワークのコスト最適化が問われていることがわかりました。 以上のような状況で選択肢を見ていきます。

通常、Aの選択肢にあるオンデマンドインスタンスは他の選択肢のリザーブドインスタンスやスポットインスタンスと比較して稼働時間あたりの料金が高いインスタンス購入方法です。 ではなぜそのオンデマンドインスタンスが、今回のケースで最もコスト効率の良い方法となるのでしょうか?

まずはBの選択肢です。こちらの選択肢では新たにリザーブドインスタンスを購入しようとしています。たしかにこの方法の実現自体は可能です。

しかしながら、リザーブドインスタンスは1年または3年単位で契約して購入するオプションになります。月末の需要増加のためだけにあらたなEC2インスタンスを購入してもコスト効率の良いソリューションとはなりません。

次はCの選択肢です。スポットインスタンスはたしかに最も割引率の高い購入オプションとなります。

しかしながら、入札価格がマーケット価格を下回った時や、オンデマンドインスタンスの需要を満たすのに十分な未使用のEC2インスタンスがない場合、インスタンスが強制的に終了するというデメリットがあり、処理が中断されても特に支障なく再実行可能なワークロードに向いています。

今回のケースでは”やりたいこと”の条件で、一旦開始されたジョブは中断してはいけないとあります。そのため、強制的に終了する可能性のあるスポットインスタンスは今回のケースのソリューションになりえません。

最後にDの選択肢です。インスタンスサイズを増やすとたしかに処理性能向上が見込めるため、”やりたいこと”は実現できそうです。

しかしながら、リザーブドインスタンスのタイプをスケールアップしてしまうとそこから分割は可能ですが、純粋なスケールダウンはできません。今回のケースは月末の一時的な需要増加に対応するだけのため、そのためにスケールアップする方法はコスト効率の面から不適となります。

以上のような結果から、本来最もコストの高いオンデマンドインスタンスが、今回のケースでは最もコスト効率の良いソリューションとなります。

このようにSAAの試験では、知識+事例をきちんと整理する能力を問う問題を130分で65問解いていきます。ちなみに、今回の例題の問題文と選択肢は比較的短い方なので、実際の試験では1分くらいで解けると理想的な水準かとおもいます!

受験について

受験方法

AWSの資格試験は、PSIとピアソンVUEという2つの団体が運営しています。私はピアソンVUEの会場で受験をしました。(リモートでも受験できます。) 受験の際は身分証明書が2点必要になります。

試験時間は130分(長い)、問題数は65問の選択式、満点は1000点で合格基準は720点です。

受験結果

合格です。以下詳細な結果となります。

試験中、お手洗いもいけますが試験時間は進んでいるので注意しましょう。ちなみに、時間が余った場合は途中退席できました。

受験後、どう変わったのか

ここがいちばん大切なところだと思っています。なぜなら今回の学習のゴールはAWSの各種サービスの理解であり、資格合格は目標ではありましたがゴールではないからです。

ズバリ言うと、ゴリゴリ一人でAWSのサービス設計・運用・開発できます! のような夢のような成長はありませんでした笑

さすがに1ヶ月ちょっとでそんなことは起きません。

業務でも相変わらずわからないことだらけです。先日もAthenaをつかってALBのリクエストログをみるのに四苦八苦していました。いつものように検索して、やってみて、エラーが出ての繰り返しになります。

EMRやRedshift、Kinesis、Storage Gatewayなど、知識としては知ってはいるが実際には使ったことがないサービスもかなりたくさんあり、AWS専門家という感じでもありません。というよりもマネージメントコンソールやCLIを使った、実際の操作方法もわかないサービスがほとんどです。

ただそれでも、「ElacticacheにはRedisとmemcachedとがあり、RedisはマルチAZ構成にできるがmemcachedはできない」や、「DirectConnectはオンプレとAWSとをつなぐ専用線で、インターネット経由よりも安定した通信が見込める」など各サービスの基本的なのことは知れました。

サービスの構成図を読むと、「あ~こことここはこんな通信をしているんだ〜」や、「これ、試験で出たアーキテクチャ設計!」など普段の業務に役立っていることも大いにあります。

個別のサービスの使い方などは詳細に知らなくともサービス全体のコスト効率やパフォーマンス、可用性などを気にすることができるようになれました。

また、完全に副産物ですがCDNやリードレプリカなど、この勉強をするまで聞いたことはあるけどなんとなくスルーしてきたインフラ周りの単語の知識も微増しました。

先のことをずっと見ていても果てしないですけど、振り返ってみると勉強開始前よりはかなり前進できたなと感じています。 個人的には、入社〜勉強開始までの期間よりも、目標をもって行動して集中して学習したこの一ヶ月ちょっとの方が、ずっと成長できたなと満足しています!

まとめ

私のSAA合格体験記?のようなブログになったのですが、お付き合いいただきありがとうございました!

調べてみると新卒で認定資格12冠を果たした猛者もいらっしゃるようで、世の中広いな〜と感じます。

私は次にDeveloper – Associateを10月中, SysOps Administrator – Associateを12月までに取得して、年内アソシエイト3冠を目指します🎉

両方取得できた時、また記事をかけたらな〜と思っています!

この記事を書いた人

PRTIMES STORYの開発をしています。

目次
閉じる