AWS認定資格を12個すべて取得したので勉強したことなどをまとめます

| 8 min read
Author: kazuyuki-shiratani kazuyuki-shirataniの画像

これは、豆蔵デベロッパーサイトアドベントカレンダー2022第12日目の記事です。

はじめに

#

初めまして、白谷です。AWS認定全12個(2022年10月時点)を達成しましたので、勉強したことや受験した感想などをまとめました。

Information

秘密保持契約(NDA)があるため、詳細な試験内容については触れることができませんので、ご了承ください。

筆者について

#

筆者の簡単な属性を紹介します。

  • 2022年2月中途入社の社会人18年目。
  • 福岡在住でフルリモート勤務(執筆時点の出社回数は4回)。
  • 同居人は同業者の妻と小学生の男子二人。
  • 前職では開発の片手間で社内インフラ(社内ネットワークの構成と管理、VPN構築、自社製の勤怠管理システムの管理、など)の管理をしていた。
  • 情報処理技術者試験のデータベーススペシャリスト、ネットワークスペシャリスト、情報処理安全確保支援士を保有。
  • 豆蔵入社時点でAWSを触った経験なし。

AWS認定12冠までの経緯

#

きっかけは豆蔵入社直後の事業部長との面談で、「APN(AWS Partner Network)のTierを上げるためにAWS認定の保有者が必要なので、Cloud Practitionerを取らないか」と勧められたことでした。
豆蔵に入社した理由が、「AWSやAzureなどのメガクラウドでサーバーレスなシステム構築などモダンな技術を使った開発に携わりたい」「豆蔵ではクラウドネイティブな開発している」でした。
前述のとおりAWSを触った経験がなかったので、資格試験から勉強するのもありだと思い、まずはCloud Practitionerの勉強を始めました。

そして1か月後にCloud Practitionerを取得すると「Solutions Architect – Professionalの保有者も必要だからいつか取得出来たらいいね」と言われ、「いつかと言ってるといつまでも取れないから取るなら今でしょ」と決心し、Solutions Architect – Professionalの取得に向けてAssociate試験から順に取得を進めました。

更に4か月後にSolutions Architect – Professionalを取得すると、2022 APN ALL AWS Certifications Engineers の発表という記事を見つけ、「12個全部取ればここに名前載せられる」というのをモチベーションにSpecialtyの試験に手を出し始めました。

それでは、AWS認定全12個の取得のために行ったことを取得した順に簡単にまとめて行きます。

AWS Certified Cloud Practitioner

#

CLF-C01、90分、65問。

いつまで勉強しても受けなければ合格できないので、勉強期間3週間(途中2日間入院)でチャレンジしました。
まずはAWSにどのようなサービスがあるのかを知る必要があるので、範囲は広いですが浅い知識な印象でした。
会場の場所、手続きに必要なものや手順などを事前に調べておくと当日に試験以外のことで悩まなくてすみます。

AWS Certified Solutions Architect – Associate

#

SAA-C02、130分、65問。

Cloud Practitionerに比べると実際の構成などを問われるので、AWSなど抜きで、システム構成(サーバ、ミドルウェアなど)を考えられるように訓練しておくとスムーズに解答できるようになると思います。
当然、AWSの基本的なサービスは知っておく必要があります。

AWS Certified Developer – Associate

#

DVA-C01、130分、65問。

教材となる対策本が多くはありませんが、何らかの開発経験があり、Solutions Architect – Associateを取得していれば問題なく合格できると思います。

AWS Certified SysOps Administrator – Associate

#

SOA-C02、180分、65問、ラボ問題2問。

他の試験と違い、ラボ問題が2問あります。勉強中にハンズオンを行わず、実務でもほとんど触ることなく受験したため、1回不合格となりました。
ラボ試験はエミュレータ上でManagement Console(CLIも使えるらしいです)を操作し、指示通りに設定するものです。
実務経験を積むか、簡単なハンズオンを行ってから望むと問題なく合格できると思います。

AWS Certified Solutions Architect – Professional

#

SAP-C01、180分、75問。

AWS認定の中で最難関の試験です。私の所感はとにかく問題文と選択肢の文章が長いです。
文章が長いので、整理しながら読まないと何かいてあるのかわからなくなります。
また、ProfessionalとSpecialtyでは和訳がうまくできていないことがあるので、意味が分からない場合は原文を読むとわかりやすいことがあります。

AWS Certified DevOps Engineer – Professional

#

DOP-C01、180分、75問。

Solutions Architect – Professionalに一発合格でき、長文にも慣れていたので勢いで受験しました。
対策本は出ていないので、Developer – Associate、SysOps Administrator – Associateの範囲を再学習し、Skill BuilderのExam Readinesで理解を深めました。

AWS Certified Database – Specialty

#

DAS-C01、180分、65問。

SpecialtyはProfessionalに比べると知識範囲は狭くなりますが、その代わりに深い問題が出題されました。
Database – Specialtyはデータベースの移行、セットアップに関する問題が多く出題されました。
なのでデータベースの移行やセットアップの経験があるととっつきやすいかもしれません。

AWS Certified Security – Specialty

#

SCS-C01、170分、65問。

Security – Specialtyはどのようにして侵入や乗っ取りを防ぐかが重点的に問われました。
Solutions Architect – Professionalを取得後であれば、特に勉強することもなく合格できると思います。

AWS Certified Data Analytics – Specialty

#

DAS-C01、180分、65問。

しっかりデータ分析をやったことはなく、まずはデータ分析とは?から勉強しました。
IoTなどから発生したデータに対して以下の処理にどのようなサービスの組み合わせがよいかを考えられれば問題ないと思います。

  • どのようにしてAWSへ吸い上げるか
  • どのような方法で加工するか
  • どこに保存するか
  • どのように見せるか

オンプレからデータを移行するという点を考えるため、Database – Specialtyと重複する範囲もあります。

AWS Certified Machine Learning – Specialty

#

MLS-C01、180分、65問。

データ分析をやったことがないので、当然ながら機械学習についても「機械学習とは」から勉強しました。
データ分析について勉強した後であれば、加工したデータをどのように食わせるかを考えられるようになっているので、モデリングとSageMakerの知識をプラスすれば大丈夫だと思います。

AWS Certified Advanced Networking – Specialty

#

ANS-C01、170分、65問。

Advanced Networking – Specialtyが取得に一番苦労した試験でした。

  • DevOps Engineer – Professionalの合格後、2022/7の改定前に受験するも知識不足のために不合格。
  • Security – Specialtyの合格後に改定後の試験を受験するも、問題傾向の変化(長文化、ベストプラクティスの変化)についていけず不合格。
  • Machine Learning – Specialtyの合格後に受験するも、まだまだ知識不足で不合格。
  • 3回目の受験翌日から一家で新型コロナに感染し、モチベーションがほぼ0まで急降下。

と諦めかけましたが、豆蔵がAWSセレクトティアサービスパートナーに認定されたことで、APN ALL AWS Certifications Engineersの要件が満たせる状態になったことでモチベーションが回復しました。

そこで、これまでの対策本や動画コンテンツに頼った勉強の方法を見直して、サービスを1つずつキャッチアップしていくように切り替えました。結果、無事に鬼門のAdvanced Networking – Specialtyを取得するに至りました。

  • 対策本を読む
  • 抑えておくとよさそうなポイント
    • Direct ConnectとVPNでAWSリージョン - オンプレのハイブリッド運用
      • 複数リージョンとの接続での可用性の向上
      • 正副の制御方法(BGP、コミュニティタグ、ASPath)
    • TransitGWでのルーティング
    • GWLBを使用したフロー検査手順
    • ミラーリング時のパケットロス対策
    • AWSリージョンとオンプレでのDNSの統合
    • Route53のパブリックゾーンとPrivateゾーン
    • Route53でサブドメインの管理を開発アカウントへ委譲
    • AWS Global Accelerator と CloudFront の使いどころ
    • SSL証明書の発行、管理、設定など
    • マルチアカウントでのTrangitGWへのピアリング手順
    • 共用VPCに対する各VPCからの接続方法(TrangitGW、Private Link)
      • 買収した企業のVPCのCIDRが重複した場合の運用方法
      • 実証実験のためのステージング環境と本番環境の一時的な接続方法
    • マルチアカウントでのNetwork Firewall の共有手順(Resource Access Manager (RAM) )
    • EKSのネットワーク周り(ロードバランサ、SSL、フローログ監視)
    • オンプレからDirect Connect経由でS3へのアクセス(VPCエンドポイント、Route53 Resolver)
    • IPv6化

AWS Certified SAP on AWS – Specialty

#

PAS-C01、170分、65問。

2022/4から新設された試験です。新しい試験ということもあり、Web上にはあまり情報が出回ってない状態でした。
またSAPを触った経験もなかったため、まずは「SAPとは」から勉強開始しました。
実際には、SAPそのものについては問われることはなく、AWSへ移行するために使用するサービスや手順、AWSでの運用方法について問われます。
したがって、ProfessionalやSpecialtyを取得していればあまり悩まずに解答できると思います。

その他に役立った本

#

これまでは各試験対策として使用した本を紹介しましたが、他に役に立った本を紹介します。

受験時の注意点など

#
  • たまにとんでもない誤訳があるので、問題文などの意味が分からない場合は原文を確認する。
  • 問題文や選択肢でだらだら長い説明がある場合は原文を見ると主語がはっきりして理解しやすい場合もあるので、長文で悩んだら原文を見るのもお勧め。
  • 合格すると次回試験で使える50%オフバウチャーがもらえます(対象試験の制限なし)。
  • AWSのイベント申込などで25%オフバウチャーをもらえることがあります(対象試験の制限あり)。
  • AWS主催でアソシエイト試験のチャレンジ期間に25%オフバウチャーを配布していることがあります(対象試験の制限あり)。
  • 再受験無料キャンペーン(2022年は12/15まで)で受験すると心理的に少し余裕ができると思います(半額バウチャーとの併用はできません)。

まとめ

#

2022/2/27にCloud Practitionerを受験し、2022/10/15にSAP on AWS – Specialty合格まで、約8か月間かかりました。
転職して完全リモートとなったため、通勤時間を勉強に充てることが出来なくなり、土日は子供と遊ぶために時間を取るため、子供が寝てからを勉強の時間に充てることで、仕事以外の勉強をする習慣を身に付けました。
データ分析や機械学習など、今まで触れることもなかった知識領域に触れる機会にもなりました。

ですが、AWS認定12冠という目標は達成したものの、実際にAWSを触ってシステムを構築したわけでもないので、今後は実際のシステム構築で使える技能を付けていきたいと考えています。

豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. 基本から理解するJWTとJWT認証の仕組み (2022-12-08)
  2. Docker+Wasm で WASM をコンテナとして実行する (2023-01-25)
  3. 自然言語処理初心者が「GPT2-japanese」で遊んでみた (2022-07-08)
  4. 直感が理性に大反抗!「モンティ・ホール問題」 (2022-07-04)
  5. Nuxt3入門(第4回) - Nuxtのルーティングを理解する (2022-10-09)
  6. AWS認定資格を12個すべて取得したので勉強したことなどをまとめます (2022-12-12)
  7. Jest再入門 - 関数・モジュールモック編 (2022-07-03)
  8. ORマッパーのTypeORMをTypeScriptで使う (2022-07-27)
  9. Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する (2022-10-28)
  10. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)