Rのつく財団入り口

ITエンジニア関連の様々な話題を書いているはずのブログです。

【AWS】AWS認定『SysOps アドミニストレーター - アソシエイト』(SOA)も合格した話

アソシエイト3冠達成したよ

 AWS認定の運用向け資格、『SysOps アドミニストレーター - アソシエイト』に、東京の緊急事態宣言前夜の2020年3月末に一発合格してアソシエイト3冠を達成することができました。
祝ってくれた皆様ありがとうございます。といいつつもう7月、コロナあれこれでだいぶ後になってしまいましたが、合格エントリとしてこれから挑戦する方向けに情報を残しておこうと思います。

例によって資格の名前が長いので、以下公式の3文字略称を使います。

~入門者向けの基礎コース(Foundational)

  • 基礎レベルの『クラウドラクティショナー』(Cloud Practitioner: CLF)

~中級者向けのアソシエイト(Associate)3兄弟~

  • 設計の『ソリューションアーキテクト - アソシエイト』(Solutions Architect - Associate: SAA)
  • 開発の『デベロッパー - アソシエイト』(Developer - Associate: DVA)
  • 運用の『SysOps アドミニストレーター - アソシエイト』(SysOps Administrator - Associate: SOA)

~上級者向けのプロフェッショナル(Professional)級~

  • 最難関の『ソリューションアーキテクト - プロフェッショナル』(Solutions Architect - Professional: SAP)
  • 開発と運用が合体してDevOpsをやる資格『DevOpsエンジニア - プロフェッショナル』(DevOps Engineer - Professional: DOP)

~特化した専門知識(Specialty)

  • セキュリティに特化した『セキュリティ - 専門知識』(Security - Specialty: SCS)
  • DBの『データベース - 専門知識』(Database - Specialty: DBS)
  • 機械学習 - 専門知識』(Machine Learning - Specialty: MLS)
  • 『データアナリティクス - 専門知識』(Data Analytics - Specialty: DAS)
  • 特に難しいといわれる『高度なネットワーキング - 専門知識』(Advanced Networking - Specialty: ANS)

f:id:iwasiman:20191005174516p:plain

f:id:iwasiman:20220324174046p:plain
@iwasimanの受験パスの図

挑戦への経緯

きっかけ

 学んでいる方ならお分かりの通り、アソシエイト級3兄弟のSAA/DVA/SOA資格は出題範囲がそれなりに被っており、知識がある程度体系化されてくると残りも行けそうな気がしてきます。ネットの様々な記事でもSAA資格は頑張れば実務未経験でも突破可能、DVASOAはだんだん厳しくなる……という情報が多いですが自分の場合は未経験でもDVAは突破できました。
 その突破前夜、セール中の値段が定価なのでは疑惑があるお馴染みUdemyがまたセールをやっていました。AWS認定のSOA対策も英語版講座が格安で並んでいます。奇しくも僕が2019年12月末にDVA試験を受ける日がそのセールの最終日でした。
 何かが3つあって2つ揃ったら、残り1つも揃えたくなるのが人情でおじゃります。アマゾン無間地獄への道連れ、毒食らわば皿まで、じゃなかった雲海の旅は道連れ世は情けの物はついで、DVAにもし予定通り合格できたらついでにSOA資格も攻略しちゃってイイんじゃないか? という気持ちがエラスティックに湧いて参りました。
 開発経験に助けられてDVA資格は予定通りスッと合格できました。ブラウザでUdemyを開くとAWS人気講座のヒゲのお兄さんがニッコリしてポチるのを待っています。
とゆことで日付が過ぎる前にポチりポチり。年明けから少しづつ準備してアソシエイト3冠を目指すことにしました。

書いている人のスキルセット(笑)

 SAAとDVAのの合格エントリに書いてある通りです。ソフトウェア・アーキテクトっぽい立ち位置でいつつもデベロッパーであり、オンプレでのアプリケーション開発はいろいろやってきました。

iwasiman.hatenablog.com iwasiman.hatenablog.com

 DevOpsの文脈でも開発と運用の分断の話は語られますが、エンプラ世界の会社は大きいので開発担当と運用担当が事業部単位などなどで分かれていたりします。こう言ってはナンですが、オンプレの古くて大きなシステムの運用保守でずーっと同じような仕事をしている人たちの中には変化に対応できない人、開発はもうまったくできないような人もいます。僕も自分を守る生存戦略として常に新しい開発の側に身を置くようにしてきたので、本格的な運用経験はなしです。
 その一方でアプリケーションのセキュリティチェックの結果をチーム内に展開して対応したり、コンプライアンスの対応なんかで内部で使っているライブラリの一覧を出したり、ログを調査して障害の原因を探ったり……などは色々やってきました。弊社では言葉としては浸透していませんが、SRE(Site Reliability Engineer(ing))がどういう仕事をするものなのかにも若干興味はあります。

AWSの実務経験とよく使う興味のあるサービス

 実際の構築経験は相変わらずゼロなのですが、所属事業部を飛び交う沢山の案件の中でもAWSのキーワードを時々見かけるようになりました。他の事業部の製品がAWS上にも乗っけられるようにしたという話を聞いてオッと思ったり。上層部の作った人材育成の資料なんかでもクラウドは重点領域になっています。社内で展開されている、仮想マシンに開発環境を構築できるサービスでもAWS版が始まったり。エンプラ世界にも少しづつ雲海が近づいてきた感があります。
所属している部内でも、情報共有の会でサーバーレスアーキテクチャとはなんぞやという話をしたりしました。

 興味のあるサービスはSOAでなくDVA資格の範疇ですが、サーバーレスのAPI GatewayやLambda関数周りですね。このへんは資格突破後にまた深掘りしていきたいところです。

やったこと

 DVA資格の突破作戦と同じように計画を立てていきました。 aws.amazon.com

基本方針の確定

 2020年1月に作戦を開始することにしました。SAA攻略作戦は3か月80H、DVAは2ヶ月弱65-70H。今回はDVA突破作戦の方針をなぞっています。

  • DVAの時と同じように学習時間は週末も含め1日1時間、週7Hを基本として、同じぐらいの期間の圧縮を図る
  • ここも同じく、最初から問題演習を中心に学習を組み立てて、問題をたくさんやって分からない所を調べるスタイルでいく
  • ここも同じく、受験するのは3か月後ぐらい?のゆるい気持ちで始める
  • 特に今回は仕事で先行き不透明な要素があるので、中断や再開も含めて柔軟にやっていく
  • 学習教材にはおなじみUdemyの他に、今回は完全英語版の学習サイトWHIZLABSも試す
スタプラで学習記録を可視化する

 SAA、DVA対策の時から使っていた学習管理アプリ、Studyplus(スタプラ)を無料の範囲で引き続き使いました。読んだ本、UdemyやWhizlabsの講座、記録時に所感など、ひとことコメントを必ずつけるMyルールでスタプラ上のSNS要素とTwitterに同時放流しました。
けっこうスタプラ上でいいねがついたりTwitter上で反応があるもので、励みになります。反応してくれた皆さんありがとうございます。

www.studyplus.jp

 スタプラは……前も書いたんですが10代のユーザの皆さんのアイコンや貼ってある画像に『鬼滅の刃』率が相変わらず高かったです。さすがは累計6000万部や……!

kimetsu.com

 また、エンジニア界隈の僕の周囲で何人か、僕がやっているのを見てスタプラを試しに始めてみた……という方がおられました。いやはやありがたや。人間は互いに影響しあいながら歩んでいくものなのだなと思います。スタプラに記録をつけるのは突破後も読書記録に利用することにしています。

イベントに……あまり行ってない

 ユーザーグループのJAWS-UG初心者支部に……というところですが、だんだんコロナの影響が大きくなってきたりで行きませんでした。
 代わりに2月には前から覗いてみたかったデブサミに行ってみました。AWS関連としてはセッションの『開発に集中するためのJava on Serverless』に参加。デブサミの中ではかなり技術寄りの話でしたが、DVA資格に合格しているとだいぶ話が理解できました。Lambda関数あれこれやマイクロサービスを想定したJavaの新世代フレームワーク群の話などは今後知っておきたいですね。

event.shoeisha.jp

event.shoeisha.jp

ネット上の合格エントリを参考にする

 SAA,DVAの時と同じくかなりあちこち見て回って、はてなスターをつけたりQiitaならいいねストックを蹂躙して回りました。貴重な記録を残してくれた先人の皆さんありがとうございます。
 ネット上の記事の豊富さは CLF≒SAA≧DVASOA で、明らかにSOAは少ない感があります。そういえば合格エントリを巡っていたころに、Qiitaでは「いいね」が「LGTM」に変わってエンジニア界隈ではひと騒動ありました。

blog.qiita.com

 まあタダで使わせてもらっているサービスなのでいちいち怒るほどでもないとは思います。自分がSOAの合格エントリを拝見して役に立って思う気持ちはLooks Good To Meとだいたい同じですが、うーん考えてみるとそれとは違うGood!的な感情を持つ記事もあるような……

学習時間の確保に立ち向かう

 難関である休日の学習時間の確保は、DVAの時と同じく冬は過ごしやすいし子供の生活パターンも予測できるようになってきたのでそんなに難しくはなかったです。
 むしろ今回大変だったのは仕事との両立。ちょうど僕がプロジェクトを4つぐらい掛け持ちしていて、頭のスイッチの切り替えが大変でした。残業はあまりしてないので負荷はそれほどでもないのですが、とにかくタスクを細分化してココロの中のSQSのキューにいったんしまって集中して順次処理。極力作業の効率化を図り、情報が貯まってきた後は余った時間や作業の合間に時々見たりしながら進めました。
 今回はUdemy/WHIZLABSの模試講座を日本語に訳したテキストが情報の中心でしたが、テキストはSimplenoteで保存、表がほしい数値のまとめはGoogle Spread Sheetでやって通勤電車の中の時間も有効に使っていきました。

コロナの脅威に立ち向かう

 この攻略作戦の話は首都圏に緊急事態宣言が出される前の2020年1月~3月の話です。だんだん大きくなってくるコロナの話。弊社でも早期から対策は出ていて、可能な人は家でテレワークをやるようにというお達しが出され、だんだんオフィスの人口密度が減ったり社員食堂が縮小したり夕方営業がなくなったりしていきました。
 僕はプロジェクトを掛け持ちしていてコードレビューとか人と話して協力する作業もあり、出た方が効率が良い(と当時は思っていた)ので、物理出社していました。通勤電車の中の学習時間が貴重なこともありましたね。
対策と言っても大したことはなくて、手洗いうがいをしっかりやるぐらいですね。オフィスも空いてるし電車の中も徐々に空いてきて、楽ちんでした。

計画変動に立ち向かう

 元から計画はゆるくしていましたが、上述の掛け持ちしているプロジェクトのひとつに先行きが不透明でその先忙しくなるのか分からないものがありました。出てくる技術周りがパブリッククラウドプラットフォーム2位のあの会社関連のニッチなものでモチベーションもちょい下降、これはSOA受験は延期したほうが安全かな……?と思って2月に3週間ほど準備を中断しています。
まあデブサミに遊びに行ったり技術同人誌を読んだり、『レガシーコードからの脱却』をじっくり読んだりもできたのでよかったとしませう。

iwasiman.hatenablog.com

 その後また状況が変わり、よしコロナもどんどん深刻になってくけどその前になんとか突破しちゃおう!というお気持ちになってモチベーションが復活。3月から作戦を再開しました。後から思い返すと、やっぱりあれは中断しないで少しづつでも続けた方が良かったなあと思います。

学習の流れ

WHIZLABSを導入

www.whizlabs.com

 各種合格エントリでもUdemyと並んでよく名前が挙がる英語の学習サイトWHIZLABS(読み方はウィズラボ?)。UIも外側はダークモードぽい黒地にオレンジで今風ぽく、エンジニア向けかと思います。サイトをよく見ていると数十%オフのチケットをよく提供したりしています。支払いはクレジットカード直でなく、PayPalのようなオンライン決済サービスが間に必要なのに注意です。

AWS Certified SysOps Administrator Associate

 資格ごとに1コースが用意されているだけなので、SOAについては選択肢なしでこれだけ。2000円弱で購入できました。コースの中にある無印の Practice Tests は古く、 Free Tests - 2019 は無料でもできる範囲なので、僕がやったのは2019年のAWS認定に対応した Practice Tests - 2019 のみです。これだけでも模試5回分*問題65=325問+解説一式があり、コスパ的にはかなりお得です。
 WHIZLABSはUdemyと違い、模試講座は [Start quiz as practice mode] をチェックしてから始めると、1問答えると [Show Answer] ボタンでその場で正解が分かり、解説も読めます。問題を翻訳→解く→解説から学ぶ の流れを短いサイクルで回せるので便利ですね。進み具合もサイドバーに表示されたりデザインも今時ぽく、モチベーションを保つ工夫は良くされていると思います。
 模試講座をやったらだいたい正答が6割前後。解説から学んだりして3月の本番直前にやった2周目では74-85%程度まで上昇しました。解説も冗長にならずまとまっており、そこからAWS公式に飛べたりして学べます。
 総合的には、Udemyの模試講座の方が若干問題は難しめかな?という感じです。挑戦される方はおそらく複数の学習手段を並行するでしょうから、そのひとつとしては十分でしょう。
 なおUdemyに比べるとユーザ数はまだそれほどでもないのか、WHIZLABSのサイトのスケーラビリティはまだあまり強化していないようです。講座を始める時や終わる時、セッションが切れて再ログインなど、けっこう動きがもっさりしている時があります。

WHIZLABSの英語テキストをハックする

 WHIZLABSは模試の問題文も選択肢も解説文も、ドラッグなどでテキスト選択はできるけどコピーは不可という仕様です。コンテンツ流出防止のために裏ではCSSJavaScript両方で制御してるのではと思います。これは以下のようにハックできます。

  • ブラウザはChromeにして、予め拡張機能で「Google翻訳」を入れておく。2022年に終了するChromeアプリじゃないほう。
  • ブラウザで模試講座を開いて、翻訳したい文全体を選択した状態で「Google翻訳」アイコンをクリック。
  • すると英語の原文テキストと翻訳された日本語テキスト両方が表示。これは自由にコピーできるので、他のアプリに移せる。この時改行はすべて削除されるので、自分で整形する必要がある。
  • 当たり前だが解説に画像が使われているとその中は翻訳できないので注意。著作権に考慮しているのか(?)、WHIZLABSの問題解説ではAWS公式の引用に割と画像が多い。
Udemyの講座で学ぶ

 AWS認定攻略には定番となってきたUdemy。今回もこちらを中心に学習を組み立てました。作戦を実行した2020年1~3月時点では、SOAについては日本語版の講座がゼロというハンデがありました。

Ultimate AWS Certified SysOps Administrator Associate 2020

 Udemyで学んでいる方にはおなじみな気がするヒゲのお兄さん、Stephane Maarekさんによるベストセラー、評価4.7の人気講座。CLF/SAA/DVA資格も同じUltiamteシリーズがあります。動画が合計19.5H、最後に模試講座1回分がついています。セール中だと1500円ぐらいです。
 例によってゆっくり学習している時間がないので、動画は全部すっ飛ばして最後の模試とその解説から学びました。最初の頃にやったので1周目は正答56%という酷い数値でした。
 このUltimate講座シリーズは出来がいいのですが、SOA講座は手厚く対応していないのか、いつもなら各問題についてくる丁寧な解説がほとんどないという弱点がありました。また模試講座は始めるたびに出題順序がランダムに入れ替わるという、逐一翻訳して対応している異国のGoogle翻訳勢からするとありがたくない機能があります。

※最近見たところ最終更新が2020年7月となっていたので、解説もその後補強されているかもしれません。

AWS Certified SysOps Administrator Associate Practice Exams

 オーストラリアはシドニー本拠のフルスタックソフトウェアデベロッパー、Jon Bonsoさんによるこちらも定番の模試講座。講座のアイコン画像が緑なのが目印です。解説もしっかり書いてあってそこから公式に飛んだりして学べます。セール中で1500円ぐらい、65問の模試*5回分と解説がついています。模試6つめとおぼしきExam6もあるのですが、ここはフラッシュカード形式という、要点がまとまったチートシートみたいなやつでコンテンツが画像なのでテキスト翻訳に掛けられないという罠があります。
 1周目は49%から70%とブレブレ。解説や本から学んで2周目は下は74%~上は82%と改善しました。Exam1とExam2が特に難易度が高い印象です。
 この模試講座も、各模試を始めるたびに問題文と選択肢がランダムに入れ替わるという、Google翻訳勢にはありがたくない機能を備えています。

AWS Certified SysOps Administrator Associate: Practice Tests

 ついでにセール中に買った65問の模試*3回分の講座。こちらは72%以上で合格ではなく80%以上で合格、問題の選択肢4つが2要素を2パターンに水増しして4つにしてるような問題があり、ちょっと実情と合ってないのではないかな……と思って問題文を訳したところで終了しました。

AWS Certified SysOps Administrator – Associate : Real Tests

 セールだったのでついでにポチった講座。模試5回分がついてますが問題数が65でなく60、問題を訳してみたところ他の講座に比べて問題文が短め、よく見ればAWS認定のバッヂのマークも古いじゃん……と悪い予感がして英語のフィードバックを確認したところ、実際の試験と合ってない……などの低評価コメントが散見されたので中止しました。

 Udemyの講座もたくさんあるので、まずは講座評価4.0以上、講師の評価も3.9とか4.0以上に近い定番のベストセラーを選べば間違いないと思います。模試講座であれば、AWS認定のバッヂのマークが古くないかでもある程度区別はつきます。

 WHIALABS/Udemyの模試講座の両方を学んで分かったのは、SOAの問題は全般的に問題文/選択肢ともSAA,DVAより長いということでした。また選択肢の中に画像があったり、JSON形式のIAMポリシーがそのまま出てきたりして初見だと絶望します。運用の現場なので設問の状況が本格的なわけですね。Google翻訳+仕上げを自分で翻訳するのにけっこう骨が折れました。
 ということでSOAだけハードルが高かったわけですが……

AWS 認定SysOpsアドミニストレーター アソシエイト模擬試験問題集(全4回分260問)

 その後、待望の日本語版の模試講座がスタートしてベストセラーになっています。セール中なら1500円です。今このエントリをお読みの方はまずこの講座を買われると良いと思います。CLF、SAA、DVA、そして難関のSAPの模試講座を出しているのと同じ「Edutech Global, inc.」、しかし講師の方は違う人なのが若干気になりますが、評価4.0ですし問題ないでしょう。
 なおこの講座オープンのお知らせが僕のアカウントに届いたのは、3月にSOA資格を突破した翌日だった模様…一週間前だったら買ったのに……(グギギギw)

 Udemyの評価の良い講座は割と頻繁にアップデートをしてくれて、2020年春にSAA資格がSAA-C02に改定されるとすぐに対応してくれました。一度講座を購入するとその後も改訂をお知らせしてくれたり、関連講座や新作講座を案内してくれたりします。このへんのスピード感は商業書籍では対応できないのでありがたいですね。

Udemyの英語テキストをハックする

問題文、説明テキストについては以下です。

  • 問題文と説明テキストは選択しコピーできるので、拡張機能Google翻訳、別タブで開いたGoogle翻訳のページ、もしくは選択-右クリック-[Google翻訳]も可能。
  • Chrome拡張機能Google翻訳は改行が削除されるが、ブラウザ上のGoogle翻訳だと改行が保持されるという動きの違いがある。逆に余計な空行が残る場合もある。特に各問題の回答の説明テキストは長いので、別タブのGoogle翻訳に張り付けた方がよい。
  • こちらも、解説テキストに画像が使われているとその中は翻訳できないので注意。

マウスを合わせても選択できない設問の選択肢テキストについては以下です。Windowsを例にとります。

  • まず自力で別テキストにタイプしてコピーするか、Google翻訳を使うかを決める。選択肢が短いサービス名などだと自力でも間に合うが、選択肢が文になっていると自動翻訳の方が速い。
  • ブラウザはChromeにして、予め拡張機能で「Google翻訳」を入れておく。2022年に終了するChromeアプリじゃないほう。
  • 問題を表示した状態でデベロッパーツールを起動。[Elements]タブでセレクタークリック、問題の選択肢の文字列をクリック。HTML的にはなるべくdivタグでなくpタグを選んだ状態にする。
  • デベロッパーツール上でHTMLの要素右クリック-[Copy]-[Copy outerHTML] でクリップボードに乗せる。
  • ここですかさずブラウザ拡張機能Google翻訳のアイコンクリック、ポップアップしたウィンドウに貼り付けてリターンで翻訳実行。
  • すると原文と翻訳語が表示されるので他のアプリに自由に張り付けられる。前後にpタグやdivタグがつくのは諦めて手で取り除く。
  • 選択したのがdivタグで&がテキストに入っていたりするとGoogle翻訳でエラーになるので、&に置き換える。

 今回特にGoogle翻訳にお世話になったのですが、AWS認定の問題文の4-5行ぐらいからなる文章ぐらいなら、サービス名の誤訳などがあるにせよだいたい意味が通じてちょっと手動で直せば用は足りるという感じでした。
 一方、模試問題の解説のような長い文章になるとところどころ怪しくなってきます。

 最近だとDeepL(ディープエル)翻訳がGoogle翻訳より凄いのではと注目されていますね。

ja.wikipedia.org

読んだ本

 今回も本類はサブの副読本という位置づけで補強していきました。

認定対策本関連

 多数のアクセスをいただいた当ブログのこの記事にまとめてあります。

iwasiman.hatenablog.com

 最近遂にSAPや専門分野のセキュリティの本が出ようとしていますが、SOA対策に直接関わるのは『AWS認定アソシエイト3資格対策~ソリューションアーキテクト、デベロッパー、SysOpsアドミニストレーター~』の1冊だけ。
 この本も3資格を広く浅く網羅するスタイルなので、SAA,DVA合格後の段階だと特に参照することはありませんでした。

Amazon Web Services 業務システム設計・移行ガイド

 技術書典のIAMマニアック本シリーズなどでも知られるササキさんらによるAWSの分厚い本シリーズ。『Amazon Web Services パターン別構築・運用ガイド 改訂第2版』『Amazon Web Services クラウドネイティブ・アプリケーション開発技法』に続く3作目です。2018年1月刊行、分厚さはややマイルドになって384ページ。この3冊は大きい本屋の技術書コーナーでもよく見かける定番本ですね。

 オンプレからAWS上へ既存の業務システムを移行していく観点、導入支援などを行う人の観点にフォーカスし、代表的なサービス、サービス群を組み合わせたアーキテクチャ設計、IAMによる権限管理やアカウント回り、ネットワーク設計、移行のポイント、運用や監視……などなど一通り網羅しています。
 AWS関連の商業本・技術同人誌は僕もあれこれチラ見したのですが、商業本の中でSOA資格に一番ジャストフィットしているのはこの本じゃないかな……?と思います。AWSの性質上、SAA資格とDVA資格の範囲と関連するところもけっこう出てきます。
 SAA,DVA資格を突破した段階だと基本的なキーワードはだいたい理解できているので、各サービスの活用のあたりはスラスラ読めました。一方、当方インフラエンジニアでないのでインフラ用語が出てくる構築のあたりはやっぱり怪しかったり。
定番のアーキテクチャパターンの話になるとサーバーレス関連は割と控えめになっており、ああやはり完全新規でなく現実的な移行の際はEC2に乗せたりの伝統的な手法の方がが多いのだな……と分かります。
 移行のポイント等の話になるとあくまで現実的な視点に基づいて、知見もかなり盛り込まれています。CloudWatchやAWS Support, Trusted Advisor, Inspector, System Manager, ConfigなどSOA資格で頻出のサービスもかなり出てきます。

 攻略作戦開始後の1月に読んだ後、3月の仕上げの時期に2周目も読みました。案の定というべきか、模擬試験でさんざん間違ったような問題、いまいち分からなかった問題関連の話もよく読むとしっかり書いてあったりして、なんだ載ってるじゃん!となります。再読することで理解が深まりました。

著者の一人、id:dkfj のササキさんの刊行当時の記事。2018/1/20発売後3週間で増刷決定、AWS勢にかなり注目された本だったのが分かります。書評も幾つか見つかりますね。

blog.takuros.net

同じく著者の一人、id:ketancho さんの刊行当時の記事。

www.ketancho.net

Amazon Web Services 定番業務システム14パターン 設計ガイド

 どちらか言うとSOAよりSAAの範疇ですが、よく出てくる定番のサービス構成を14パターンあげて解説した本。
細かな設定手順などはなくアーキテクチャレベルの話となっています。RDSやS3などよくありそうなパターンもあれば、BIツールと連動したりIoTや機械学習と組み合わせた組み合わせた先進的な事例もあり、Lambdaを使ったサーバーレスのパターンやコンテナ活用のパターンまで。AWS最高だよ!ではなく、あくまでソリューションの選択肢のひとつとして、中立的な立場で一歩引いたスタンスで書いてある本でそういう姿勢も面白いです。
256ページぐらいのそんなに厚くない本で、総計2.5Hぐらいで読みました。
なお実際に近い業務システムを例に使ったパターンの話は上の『業務システム設計・移行ガイド』にも出てきて、若干被っているといえば被っています。

Amazon Web Services クラウドデザインパターン設計ガイド 改訂版

 クラウドアーキテクチャ上で各種サービス(≒ビルディングブロック,クラウドコンポーネント)を組み合わせてシステムをデザインする際、よりよい設計を追求するとだいたいこのパターンになって再利用できるよ……というクラウドデザインパターン(CDP)の話。
 資格で言うとSOAよりはSAA、SAPの範疇ですが、ワタクシも一応アーキテクト的な立ち位置にいるので読みました。

 第1章では全57種のパターンそれぞれについて実例を交えて解説されており、主要サービスを理解しているぐらいの方なら普通に読めます。ひとつひとつのパターンは短いので意外とスラスラ読めます。第2章は実例、1例目が個人ブログにアクセスが増えてスケーラビリティを持たせてZIPや動画配信も、2例目がeコマースサイトで機能拡張を……という具合で実際のサービスを題材にCDPを適用する話。
 2015年の本なので2020年現在からすると若干古いところもあります。例えばファイル共有関連のデザインパターンは、サービスとしてのEFS登場後は変わるのではと思います。

 試験対応中は読めなかったのですが、続編的な位置づけの『クラウドデザインパターン実装ガイド 改訂版』もあります。

 AWSでなくMicrosoft Azureを例にしたものでは、『クラウドデザインパターン Azureを例としたクラウドアプリケーション設計の手引き』という本もあります。こちらは2014年でちょっと古め。

 またWebサイトでの情報としては以前は時々止まってたりしたのですが、『AWSクラウドデザインパターン』として2019年10月に再公開されました。こちらもはてブ1400、圧巻の内容で情報もかなり詰まっています。

aws.clouddesignpattern.org

 あっそういえば。2020/2/29~3/1で物理開催予定だった技術書典8で登場したAWSの濃い本をまだ読んでませんでした……

公式模試を受ける

 各所の合格エントリでも「公式模試を必ず受けよう!」とよく出てくる公式模試。今回は前回合格分のボーナスであるバウチャーを使うのを覚えていたのでこちらからやりました。なんか申し込みの画面が以前と違ったような……? 模試の画面のUIデザインも改善されたのか、下の方に左から右に数字が並ぶスタイルになっていました。
 自己採点して20問中14問正解で正答70%、うーん微妙です。80%は行きたいところですね。残りの11日ぐらいで模試の間違ったところを中心に仕上げていくことにしました。

試験当日

 SAA,DVAも金曜に有休をとって受験して受かったらヒャッホイしてきたのですが、このSOA試験については期末で色々あったりで、出社して午後半休にして金曜に受けることにしました。
 と計画していたら打ち合わせが入って前日の木曜に。そしてまた予定が入ってさらに前日の水曜に。とだんだん破滅フラグ的なモノが立ってきました。w
 前回と同じ「新宿駅前テストセンター(新宿南口)」にしたのですが空いていたので日取りの変更はすぐできました。英語の申し込みページにはCOVID-19についての解説ページができていましたね。
 当日午後に会社を脱出すると、新宿はまだ3月下旬のこの頃はいつも通りでカフェは混んでいました。けっこう歩いて時間を無駄にした後、ホテルのロビーでスマホから復習したり、どうしても眠くて休憩したり。試験会場ではスタッフの人がマスクをしていた位で大きな変化はありませんでした。

 15:30から試験開始。模試講座とまったく同じ問題はないですが似たようなテーマの問題はやはり出てきます。明確に分からないと思った問題には印をつけていたのですが……前回のDVAはこれが6つぐらいだったのですが今回11個とやばし。最後の仕上げが足りていない自覚は自分でもあったのですが、仕方ないのでできる限り見直して終了。
 スムーズに進んだ前回のDVAよりも危ない橋を渡っている感触はあったのですが……なんとか押し切って合格となりました。

f:id:iwasiman:20200402215503p:plain:w500

 その日は新宿紀伊国屋に寄って、電子版がないオライリー本の『データ指向アプリケーションデザイン』を戦利品に購入。電車も一駅前で降りて夜桜を眺めてながら帰宅。風流な散歩と行きたかったのですがこのイノシシ本が重かったですw

 この頃はまだ東京オリンピックが中止になっていなかったので、最近テレビを見てメダルをあげるごっこを覚えてきたうちの子供が「ハイどうぞ」と合格メダルをエアでくれました。
 そんな和やかホームでSOA攻略作戦は終了したのですが……この3/25、ふとテレビをつけると何やら都知事が映っている。そしてあの曖昧な「不要不急の」外出を自粛する話が出てきてその後4月の緊急事態宣言へ。弊社もオフィスが完全閉鎖になり、世界はコロナの災禍に本格的に巻き込まれていくのでありました。
 ううむ、危ない橋でしたが3月中に片付けておいて本当に良かった……(汗)

試験まとめ

得点の話

 試験結果のスコアは801点。SAAが836点、DVAが845点だったので一番悪いです。100~1000点で全問不正解でも100点らしいので、900点満点で65問として900/65=約13.8点/1問。(801-100)点/13.8点=50.8でおそらく51問前後正解。分からなかった11問以外も3問ぐらい間違っていた計算になります。なお実際の配点は非公開。また得点に集計されない、範囲外の問題も毎回ランダムに紛れているそうです。
 51問/65問=78%で本番試験が8割に届かず。Udemyや公式など模試類でコンスタントに8割行けるようになれば本番もだいたい8割行ける、というのが今までの感触から分かったのですが、仕上げが若干足りなかったのが数字にも表れた結果となりました。いやはや危ない危ない。

f:id:iwasiman:20200402215545p:plain:w500

費用:1.8万ちょい

 セール時に買ったUdemyが合計約5500円+WHIZLABSが約2000円+本が8700円+公式模試2200円+本番試験に16500円で合計して3.5万。
このうち本の『Amazon Web Services 業務システム設計・移行ガイド』と『Amazon Web Services 定番業務システム14パターン 設計ガイド』はこのブログの収益で0円(ドヤァ...笑)。模試はバウチャーを使って0円、本番試験は今度こそバウチャーで半額になるのを忘れなかったので8250円、実際の合計約18600円でした。
 はっ。そういえば本試験の受験料は会社で出るのですが、弊社はジャパニーズトラディショナル以下略なのでちょいめんどくさい紙の書類を申請しなければなりません。4月から物理出社してないのでまだ申請してない!

学習期間と時間:2ヶ月+αで70-80H

 2020年1月に開始、2月に3週間ほど中断してその後復活、受験したのが3月末。すべて合計するとUdemyが42H+WHIZLABSが20H+本が16H+その他で合計約80H。本は直接は認定と関係しない副読本もあったので半分として集計すると72.5H。だいたい70-80Hとなりました。
 SAAは最初で慣れないこともあり80H以上、DVAが効率化できて65-70Hと減ったのですが三度目のSOAは元に戻ってしまいました。う~んやはり2月に一度中断しちゃったのが響いています。
 ネット上の合格エントリを見ると数日レベルの凄い人を除いてSAAが40-50Hぐらいがたぶん中央値、SOAは合格記録が少ないので平均値や中央値はよくわかりませんね。ふたつめ、みっつめで受ける人が多いのでより小さい数値になるかと思います。自分の場合は薄く長くスケジューリングしたのでやっぱり掛かってしまいました。
 月別に見ると1月が36H、2月が3H、3月が41Hで、1日1H/月で30Hの目標は達成したことになりました。

SysOps アドミニストレーター - アソシエイト試験所感

全体の所感

★SAA→DVASOAの順に受けると、SAAでようこそクラウドの世界へ!→DVAでサーバーレス激推しのクラウドネイティブ祭り!→でもSOAになると移行とか色々あるのよね、という、クラウドの熱狂からちょっと冷めて現実に戻ってきたような感じがあって面白いです。
SAA→SOADVAの順に受けると、クラウドビッグウェーブにノッてどこまでも突き進めるかもしれません。

★模擬試験や本試験の問題で面白いのが設問の状況。最先端を走るAI研究やIoTのベンチャーの社員のエンジニアだ……のようなシチュエーションの他に、SOAになるとあなたは金融や会計の分野で有名な伝統的企業のSREだ……的なお堅めの企業がシチュエーションによく出てきて、なるほどなあと思います。

★また設問でCEOやCTOなどのエライ人やセキュリティのエラい人、別の部門などから何かしたいと要求が下りてきて、主人公のSysOpsアドミニストレーターAWSの機能と自分のスキルを総動員して無理難題をなんとかする……というようなシチュエーションが時々出てきます。舞台がクラウドに変わっても、このへんの運用の役回りというのは同じなのかなと思ったり。

★様々なシチュエーションを見ていくとSRE(サイト・リライアビリティ・エンジニア)というクラウド時代に新しい名づけをされた職種がどういうことをするものなのか、ある程度雰囲気も分かってきてこのへんも面白いです。

★問題文、選択肢ともSAAとDVAより長いことが多いです。運用の現場での「誤った選択肢でも解決は可能だが、正解の選択肢の方がよりよい解決方法である」というパターンがけっこうあります。普段からAWSをお使いの方ならスッと分かるのでしょうが、運用未経験だとこのへんが苦しいですね。

AWS Support, Trusted Advisor, Inspector, System Manager, Configなどなど、運用に出てくるサービスもまんべんなく出てきます。このへんのサービスは機能が違うようで微妙に被っていたりしてややこしいですね。特徴をしっかり押さえるしかないのかなと。

 超どうでもいいですが学習中、Inspectorと聞くと僕の脳内にはアニメの『PSYCHO-PASS 3』に出てくる悪役のおぢさんばっかり思い浮かんでいましたw 劇場版の『FIRST INSPECTOR』もアマプラで堪能したぜ!

psycho-pass.com

★また上のようなサービス群やモニタリングのための仕組みなどなど、やっぱり根幹のデータの出元はEC2インスタンスが定期的に吐き出すログのことが多いです。AWSとしては単にサーバーをクラウドに置くより次のステップ、クラウドネイティブアーキテクチャやサーバーレスアーキテクチャを推してはいますが、やっぱり運用周りになるとまずはEC2が根幹なのかなあと思いました。

 2020年3月末に受けたこのSOA本試験でも、おかしな日本語はほぼ見当たりませんでした。AWS認定のローカリゼーションも引き続き進んでいるようです。

AWS最強理論の応用の話

 以前に書いたSAA合格エントリの最後に、AWS最強理論が問題を解く際に使えるというネタを書きました。DVA資格でも応用可能、そしてSOA資格でも関係するところがあるかと思います。

iwasiman.hatenablog.com iwasiman.hatenablog.com

  • SAA試験は全体的にサーバーレス推し、DVA試験がサーバーレス激推しでデータベースはRDSとDynamoDBが出てきたらまずDynamoDB、みたいな感じでしたがSOA試験の移行の問題ではそうでもなくなってきます。歴史ある業務システムの安定した大きなRDBAWS上に移すならまずはそのままRDSへということですね。要件に問題がなければまずAuroraを、というのは同じです。
  • DVA試験ではLambda関数も激推しでしたが、SOA試験だと逆になってきます。例えば各種ログを一つの場所に集めて可視化したい、手製のLamda関数を一生懸命作って実現も可能だがCloudWatch Logsの機能でやるのが正しい、など。これも、運用のユースケースによく出てきそうなことはAWS側で手段を用意しており、運用者がプログラミングがバリバリできる人でなくとも対応できるようにしている……と推論していけばいちおう説明はつきます。
  • 常に自動化で省力化し、人の仕事は極力減らすのがクラウドのお作法なのはSOA試験でも同じです。たとえばコンプライアンス関係の問題。「データセンターへの見学ツアーを計画する」は非公開だしまずおかしいのが分かる。「AWSの窓口やAWSパートナーに電話で問い合わせる」は向こうの人の仕事が増えるので除外。正しいのはAWS公式サイトの然るべきコーナーに全部掲載されているので見るだけ、だったりします。

  • オンプレ的伝統的解法と新しい技術要素の解法があったら新しい方を選ぶ、の傾向はDVA試験だと特に顕著でしたが、SOA試験では既存システムの移行などの話になるとそうでもなかったりします。

 移行の設問でよく出てくるリレーショナルデータベース。NoSQLデータベースでないRDB系を各クラウドプラットフォームで上げてみるとこのようになります。

 主要な雲海軍の中でAWSだけ、競合のMicrosoft社が作ったSQL ServerOracle Cloudというもので挽回を図っている競合のOracle社のOracleを自らの領土の中で許しているんですね。
これが王者の余裕、AWSは最強だぜ!...ではなく、やはり既存の業務システムをAWS上に移行して末永く使ってもらって囲い込む戦略があるのかなと思います。

AWS認定の問題に登場するプログラム言語やフレームワーク

 DVA試験の合格エントリにおまけとしてこの話を書きました。だからなんだという話ですが、SOAの問題での追加分です。

iwasiman.hatenablog.com

  • 言語ではRubyがほとんど登場しないと書きましたが、模試問題の中に出てくるのを発見しました。
  • フロントエンドのJavaScriptフレームワークではAngularがよく出てくると書きましたが、Reactも発見しました。Vue.jsは見てないですね。やはり人気がアジア圏中心だからでしょうか。

 まあSOA資格ではLambda関数なども名前しか出てこないしプログラム言語はあまり関係ないですね。言語や技術のキーワードの位置づけは変わらず、正解の選択肢には影響せずあくまで設問のシチュエーションの背景という位置づけです。

アソシエイト級3資格の受ける順番

 時々Qiitaの合格エントリなどでも出てきますが、やはり多くの方が言っているように、

(CLF)→SAA→DVASOA→もう片方

で間違いないかと思います。SAAはAWS全体の主要サービスを概観し、DVASOAがより深掘りした内容になっているからですね。

アソシエイト級3資格の難易度

 これも時々Qiitaの記事に語られていますが、皆さん意見がばらばらです。これはもう正直、受験するエンジニアの保有スキルや経験にふだんの仕事内容などバックグラウンド全体によって変動するでしょう。2つめ3つめの受験は重複がある分楽になっていくところもあると思います。完全に私見ですが3資格をまとめてみると以下になります。

ソリューションアーキテクト - アソシエイト (SAA)

Goodなところ

  • AWS認定の看板資格であり、認知度が高い。Webの情報も一番多い。
  • 商業本の参考書5冊+3資格総合が1冊、日本語で学べる模試講座も多く、学習リソースにも恵まれている。
  • シンプルにサービス名を答えるような問題も出題され、比較的答えやすい。

Badなところ

  • おそらく最初に受けることになるので、膨大なAWSサービス、AWS用語やクラウド用語、AWS流の言い回しなど、膨大なキーワードに圧倒される。(でも仕方ない)

デベロッパー - アソシエイト (DVA)

Goodなところ

  • Web上の情報の多さ、学習リソースの豊富さはSAAに次いで中ぐらい。
  • オンプレでも開発経験があるとその知見から正解を導き出せるシーンがあり、助けになる。
  • 言語を使ったプログラミングそのものの問題は実は出ない。

Badなところ

  • 専門に扱った商業本の参考書0冊。
  • 開発経験がまったくないとイメージしづらいところもあり難易度が上がる。
  • API名や設定の数値など、若干暗記が必要になる問題も出てくる。

SysOps アドミニストレーター - アソシエイト (SOA)

Goodなところ

  • オンプレでも各種運用や保守経験があるとその知見が活かせる。
  • おそらく2つめか3つめに受験することになるので、知識が貯まった状態で学習できる。
  • サーバーレスが中核にあるDVAと比べると運用の分野は既存技術の延長の側面が強く、安心して挑むことができる。

Badなところ

 合格エントリでこういうことを言うのもナンですが、SOA資格は残り2つに比べると地味でちょっと人気が低いのかな?とも感じます。(笑)

Google翻訳で誤変換されやすいキーワード
  • サービスの AWS Organizations が「AWS組織」とよく訳される。単に組織を指す organizations もアカウント管理の問題でよく出てくるのでややこしい。
  • リージョンの region が「地域」と訳される事案が頻発。英文で大文字で始まらないことが多いため。

などなど、けっこういろいろ起こります。3文字略語のEC2, ECS, EKS, RDS, IAMなどは間違いようがないし、DynamoDB, Lambda, Auroraとかの固有名詞、CloudWatch, CloudFormation, CloudFront, CloudTrail, GuardDuty など一般的な単語でもスペース区切りのないキーワードは大丈夫です。
 一般性の高い単語でスペース区切りでネーミングにしているキーワードが怪しいですね。AWS Shield, AWS Config, Trusted Advisor, AWS Inspector, Cost Explorer, Personal Health Dashboardとか。
 SOA資格の範疇に出てくるサービス名/用語には特に、こういう固有名詞でない普遍性の高い単語を使ったキーワードが多く出てきて苦労しました。AWSを構想した時に運用周りはあまりネーミングにこだわらなかったのでしょうか。(笑)
おかげで英語の勉強になった気がします。

個人的にフフッとなったGoogle翻訳の珍訳集
  • AWS雪玉」 →データをネットワークでなく物理経由で移行するAWS Snowballのこと
  • 「角度で記述された静的Webサイト」 →S3上にhtmlファイルを上げてWebシステムとして公開したシチュエーション。原文は 'static website written in Angular' で、JavaScriptフレームワークのAngularを使っているのでした。あれ、Google製なのに誤訳されるの?
AWS認定の最近の状況

 ググっての当ブログへのアクセスの首位にある 【AWS】日本語で読めるAWS認定の資格対策本まとめ (2022年3月更新) - Rのつく財団入り口 でプロフェッショナル級と専門分野にはまだ本がないことを当時書きましたが、2020年の最近、また状況が変わってきました。
 なんとSAP対応の日本初の参考書AWS認定ソリューションアーキテクト -プロフェッショナル 試験特性から導き出した演習問題と詳細解説』が2020/6/27に発売。下はお馴染みクラスメソッドさんの書評記事です。

dev.classmethod.jp

 そしてこちらも日本初、専門知識(Specialty)の「AWS認定 セキュリティ」試験に関してAWS認定セキュリティ試験対策テキスト』が2020/7/29に出ます。著者のお一人はAWSの薄い本/厚い本シリーズでお馴染みのササキさん。書名は暫定とのことです。

blog.takuros.net

 withコロナが長引きそうな2020年以降の世界、巣ごもり期間中にスキルアップや資格取得を目指す方も多いと思います。これを機会にAWS認定にチャレンジしてみるのもよいのではないでしょうか。

おわりに

 というわけでSOA攻略作戦もミッションコンプリート、アソシエイト級制覇を成し遂げることができました。
 Udemy講座の講師の方々、読んだ商業本や技術同人誌の著者陣の方々、様々な形でインターネット上に有益な情報を発信してくれたAWS勢の先人の方々、面識があってもなくても様々な形で僕が刺激を受けたり勝手に凄いと思っているクラウド勢の先人の方々、Twitter上で応援してくれたりお祝いしてくれた皆様に感謝します。

 その後実務でもAWSをバリバリ……となると理想的なハッピーエンドのイイ話になるのですがそうもいかなくて、まだ使えていないところです。ま〜僕が仕事で所属しているのがクラウド専門の事業部ではないしプロジェクトも今も幾つも掛け持ちしているし案件も各方面にあちこち色々あるし、このへんは仕方ないですね。
 ほぼ全面テレワークの社内でも教育の拡充は続いていて、クラウドをこれから学ぶという後に続くメンバーも出てきました。部内で先陣を切った最速資格取得者としてフォローしつつ、今後の機会を見ていきたいと思います。何より、クラウドプラットフォームという新領域について体系的に基礎を学べたのは自分としても大きな収穫でした。

 今後の学びとしてはクラウドネイティブなアーキテクチャ、サーバーレス周り、そして前から雰囲気でしか分かっていない気がするKubernetesなどコンテナ技術周りをより深掘りしていこうと思っています。

 それではこれからAWS認定「SysOps アドミニストレーター - アソシエイト」資格に挑戦する皆さんにも、雲海とAWS雪玉のご加護のありますように…… (`・ω・́)ゝビシッ