RM-BLOG

IT系技術職のおっさんがIT技術とかライブとか日常とか雑多に語るブログです。* 本ブログに書かれている内容は個人の意見・感想であり、特定の組織に属するものではありません。/All opinions are my own.*

【ベンダー資格】Google Cloud Certified - Associate Cloud Engineer挑戦記

GCPの入門的(?)資格試験Associate Cloud Engineer通称ACE、色々あったけどとりあえず合格しました!
f:id:rmrmrmarmrmrm:20210318150439p:plain

きっかけ

もともとは、CKADの勉強のためにKubernetesの環境が欲しくて、CKADの試験のバージョンであるKubernetes 1.19がGCPにしかなかった等の理由から、GCPを使い始めた。
今は趣味でCloud Functionsを回していたり、Cloud Runでアプリ動かしたりしており、最早趣味の一部としてGCPとの関係が確立されている(と思う)
せっかく使っているのだから、この知識を対外的に証明することは決して損にはなるまい、という思いは、GCPを使い始めたころからあった。

あと、AWS・Azure・GCPという三大クラウドベンダーの、いわゆる「基礎」にあたる資格を、全て持っておくといのは、クラウドで仕事をしていこうとする人間として、決して損にはならないだろうと踏んだというのも、正直な感想としてある。
1つのクラウドだけを知っているというのはそれぞれに多くの人材がいるので(特にAWSなんかもう飽和状態ではないか)、このマルチクラウドの時代、幅広く色々知っている技術者になりたいという思いはあった。
既にAWS・Azureの基礎資格(AWS Practitioner、Azure Fundamentals)は習得済なので、どうせだからGCPに関しても取っておいても良いだろうという考えは持っていた。
正確に言うとGCP ACEはAWSでいうSAAに相当するもののようで、AWS Practitioner、Azure Fundamentalsに相当する本当の「基礎」にあたる資格は、GCPには存在しないらしいのだけど、まあGCPの入門編ということで受けてみるにはちょうどいい資格だろうと考えた。
あまり後回しにしてしまうと受ける意欲も失せてくるだろうし、今回意を決して受験することに決めた。

受験勉強編

GCPは、AWSみたいに試験対策本があるわけではなく(英語版はあるみたいだったが)、Azureみたいに無料の勉強会が開催されているわけでもない(これも英語版ならあるみたいだったが)
なので「勉強」という観点のアクティビティはAWSとAzureに比べるとやりづらいような気がする。
少なくとも個人的にはそういう印象があった。
一応やったことを挙げておくと、以下のような感じである。

  • 公式の模擬試験
    これは公開されており、日本語かつ完全無料なので、やらないという選択肢がない。
    20問しかないけど(本番は50問)、幅広く出題されるので自分の苦手な分野などはわかると思う。
  • QwikLab
    Hands Onを通じてGoogle Cloudを学べるトレーニングサービス。
    本来有料らしいが、私の時(2021年1月末くらい?だったと思う)は登録後30日間無料キャンペーンというのをやってて、それを使っていくつかのクエストをこなした。
    一時的なGCPの環境を与えられて、Cloud ShellとかConsoleとか使って実際にクラウドを操作していくので、座学に比べて理解は進むと思う。
    ただ、ものによるが、クエスト内の指示が曖昧だったり間違えていたり、進捗度チェックがいつまで経ってもOKにならなかったり、みたいなことがあったので(フィードバックで指摘はしたが)、勉強素材として全面的に信用して利用するのはどうかという感じがした。無料期間も30日間しかないし。
  • Udemyの模擬試験コース
    40問の模擬試験が×3パターン。
    正直これが一番役に立ったかもしれない。
    一般的な知識の充足はこれで十分事足りる。
  • あとは何より自分でGCPに触れること。
    AWS SAA等に比べるとGCPCLIに関する知識が問われたりすることが多く、実際にGCPを利用した経験がないと正直キツいところがある気はした。
    少なくとも、今振り返っても、GCP利用経験皆無の場合、受かった気はしない。
    ちなみに冒頭書いた通りで、私は趣味の範囲でしかGCPを使っていないので、GCPの利用経験があるといっても、メインで使っているのはCloud Functions、Cloud Run、Pub/Sub、App Engineくらいなものである。(あと一応CKADの勉強の時にGKEは使った)
    この経験が全く試験に生きなかったというわけではないが、ことACEに関して言えば、Compute EngineやBigQuery等を使っている方が試験対策としては生きると思う。
  • 全体から見るとそこまで比重は高くないと思うが、ポイントとして取り上げられるのが、kubernetesの経験。
    Googlekubernetesの開発者だからか、厳密に言えばGCPとは関係ないはずの、純粋にkubernetesの知識を問う問題が少なからず出題される。
    kubectlの使い方とか問われることもあり、一瞬「!?」と思う。(それGCP関係なくね?みたいな)
    個人的には最近CKADを受験していたこともあってそこまで抵抗はなかったが、これは「GCPの資格試験」というお題目から考えて挑むと、正直盲点な気がするので、注意したほうが良いと感じた。
  • GCPにはDataXXX系のサービスがいくつかある。(DatastoreとDataprocとかDataflowとか)
    これら、名前が似ていてわかりづらいので、表面上でも構わないのでそれぞれの違いは覚えておいた方が良いと思う。
    この辺抑えておくと、問題文のキーワードですぐさま回答にたどり着ける(あるいは選択肢から除外できる)ものがある。
    例えば「スキーマレス」と言われてDataStoreとDataflowがあったら真っ先にDatastoreを選べる等。
    逆に言うと知らないと解けないのだが(まあ知識を問う試験は本質的にはそんな問題ばかりだけども)
    • あとStackXXX系。ロギング、モニタリング、トレース、デバッグとか。
      それぞれ利用用途が違う(らしい。全部を使ったことはないので表面的な知識しかないが)
    • 似た仲間で言うとBigTableとBigQuery。 BigQueryはデータウェアハウスで、BigTableはNoSQLデータベースなので、そもそも全然違うものなのだ。

試験準備編

本当はテストセンターで受験したかったのだが、COVID-19の影響か、全然テストセンターが空いていない(最寄りのテストセンターは向こう1年以上予約が取れなかった)ので、諦めてオンライン試験することにした。
一応CKADでオンライン試験は経験済なので、まあ、同じノリでなんとかなるだろうと思っていたのもある。
結論から言えばなんとかなったのだが、色々大変だったので(これは後述する)、可能ならテストセンター受験を個人的にはお勧めする。

  • オンラインかどうかに関わらず、試験申し込みをする場合、まずはWeb Assessorへのアカウント登録が必要である。
  • オンライン試験の場合は「遠隔監視」という方を選ぶ。
    f:id:rmrmrmarmrmrm:20210318150442p:plain
  • あとは基本的に申し込みのメールに書かれている内容にしたがって準備していくだけである。
    これは公開ページになっていて、試験申し込みしてない人でも見れる。

    1. システム要件のチェック(同ページ内へのアンカー)
      インターネット速度の条件とかOSの指定とかバックグラウンドプロセスは全部切っとけとか、そういうのが書かれている。
      個人的に気になるのはセキュリティに関する指定事項の ファイアウォールを無効にしろ」である。
      指示の通り無効にして挑んだが、試験中だけとはいえ、ファイアウォール無効にしないといけないというのに正直抵抗はあった。
    2. インターネット速度のチェック
      と書かれているが実際にはマイクの利用可否・Webカメラの利用可否も同時にチェックしている。
      ちなみに昔の別の方の挑戦記などを見ると「PC内蔵のカメラは駄目と書かれている」ような記述も見かけるが、私の場合はPC内臓カメラでも問題なく受けられた(このチェックも通った)。
      実際1.で書いてあるシステム要件にも内臓カメラでOKである旨は書かれれている
    3. Sentinelのインストールと顔面画像の登録。
      これはWeb Assessorの登録済試験ページに案内が載っている。
      わかりづらいのだが、一度顔面情報を登録した後は「ステップ2」の隣のボタンが消えるらしい=ステップ2の隣のボタンが消えていれば顔面画像の登録は正常に完了してますよ、という意味らしい。
      f:id:rmrmrmarmrmrm:20210318150431p:plain
      ちなみに私の場合、普段眼鏡をかけているのだが、眼鏡をつけたままだとSentinelで顔面が正式に認識されず、眼鏡を外したらすぐさま認識されたので、眼鏡なし顔面で登録する形になった。
      これを受けて試験当日も眼鏡なしで=コンタクトで挑んだが、今思うとその辺は本人確認の際に試験監督官が考慮してくれそうな気はする。(眼鏡外して→はい、いいよ、みたいなやり取りはできたのではないか、と思うところがある)
  • オンライン試験の場合、試験開始前の本人確認に際して身分証が必要になる。
    CKADと違って「ローマ字で名前が書かれてること」等の要件はなかったようだが、私はパスポートを使用した。
    本人確認はパソコンのカメラを通じて試験監督官が実施するのだが、やり取りしている感じでは試験監督官は英語圏の人なので、個人的には免許証とか保険証とかよりパスポートのほうがいいと思う。

  • 上の試験ガイドから辿れる動画でも紹介されているが、ちょっとした手鏡は持っておいた方が良いと思った。
    これは、試験開始前の試験環境(机の周りや部屋の状況)をチェックするプロセスにおいて、「PC周りのコードを確認するため手鏡で反射させてWebカメラを通じて試験監督官に見せる」というのがあり、そのときに必要になるからである。
    手鏡がなけれスマホのカメラをセルフィーにして見せてもいいということなので私はそれでやったが、手鏡のほうが表示枠が大きい分確実でわかりやすいなと、そのとき思ったので、ないに越したことはない。
  • これは個人的な経験からいうが、Kryterionのサポートコンタクトページ絶対ブックマークしておいたほうがいい。
    もっと具体的に言うと右下のチャットボックスを確実に抑えておくべきである。
    f:id:rmrmrmarmrmrm:20210318150434p:plain
    試験中、何かが起こったとき、このLiveチャットを通じてやり取りすることになるが(英語だけど)、その際のコンタクト先としてここは必須になる。
    なんならWeb Assessorとかより大事なページな気がする。
    私はここがなければ今回試験に合格できなかったとすらいえる。
    それくらい重要。
  • 上記のLive Chatも含めてだが、オンライン試験の場合、日本語試験を選んだ場合でも、ちょいちょい英語を読まざる&書かざるを得ない場面が出てくる。
    オンライン試験を挑むなら、そういった覚悟と最低限の英語能力は身につけておいた方が良いと思った。

試験当日編

Kryteryon Sentinelを利用したオンライン試験という意味では、初めての体験だったということもあって、色々あったんだろうが、いやあ、もう本当に色々大変だった。

  1. 言われた通り、試験時間15分前にWeb Assessorに入る。この時点で試験開始ボタンは非表示。
    CKADでは試験開始前のチェック(本人確認や机・部屋の周りの確認など)に手間取って20分くらいかったので、この時点で開始できていないことに少し焦るが、座して待つ。
  2. 本来の試験開始10分くらい前に「試験開始」ボタンが表示された。クリック。
  3. まず最初の問題、そもそもSentinelが顔面を認識してくれない。
    ずっと赤い四角形のまま(緑色にならない)。
    なんで??と焦る。ここで5分くらい立往生。
  4. KryteryonのLive Chatで「おい!Sentinelが顔面認識してくれねえぞ!どうなってんだ!?」と問い合わせ。
  5. 「あんたの顔面画像、破損してるから一回リセットしたわ。もう一回顔面画像登録してくれる?」と返信あり。
  6. Web Assessorの登録済試験のページのステップ2の隣にボタンが復活。再度顔面画像を登録する。
  7. さっき躓いた3.のSTEPは一瞬で切り抜ける(緑色の四角形が出てくることすらなかった)
  8. しかし次に第二の問題、本人確認のための試験監督官が全然来てくれない。
    パスポートを用意してWebカメラに晒してボタンを押し、試験監督官を待つのだが、「現在大量の試験を行っている関係でちょっと時間がかかってます。お待ちください」みたいなメッセージ(意訳)が出てきてそのまんま。
    PCの内臓カメラに向かってひたすらパスポートを晒し続ける。
    ここで7~8分くらい立往生。
    体勢がきつくなってきたのもあり、やめとけばよかったのだが、「何か問題が起きているのかもしれない」と考えてしまい、一度Sentinelを終了してしまう(これがミスだった)。
  9. 再びKryteryonのLive Chatで「おい!試験監督官が全然来ねーぞ!どうなってんだ!?」と問い合わせ。 同時に、一度Sentinelを出てしまったことで、試験が「終了」された扱いになったようで(登録済試験ページのステータスがそうなっていた)、これはヤバイと思い、「おい!試験する前に終わったことになってるぞ!どうなってんだ!?」と問い合わせ。
    この、特に後者の方、8.でSentinelを切ってしまったことによる試験終了扱いに関しては、本当に完全に失敗した。
    焦って待ちきれずに「出て」しまったことで無駄な手続きが一回増えてしまった。
    これによりLive Chatの向こうの人にも手間を煩わしてしまい、申し訳ないことをした。
  10. 「試験スケジュール変更しておいたよ。もう一回試して」と返信あり。
    ちなみにパスポート晒して試験監督官を待つのは「大体10分くらいかかる」と返信あり(一応このチャットの流れで質問して回答を得ていた)
    しかし逆に言えば8.の段階でもう少し我慢して待っていればこんなことにはならなかったことがわかったし、そもそもSentinel上の指示に従わずSentinelのWindowをクローズしてしまった私のほうに非があるにも関わらず、「試験スケジュールを変更」することで対応してくれたことは、ありがたいなと思っている。
  11. 再びパスポート晒して待つ画面まで進む。
    ここでは本当に10分くらい待った。
    よく考えたら延々パスポートを晒し続けている必要もないよな(そのときになったら向こうからコンタクトがあるだろう)と思い、顔面だけ晒した状態で待機。
    あとはひたすら待った。
  12. 10分後くらいにSentinel上のLive Chatで「お待たせして申し訳ありません」みたいなメッセージが来て、Live Chatが始まった。
    これはKryteryonとは違い、SentinelのWindow上で行われるLive Chatである。
    こっちの人は、最初こそ英語だったが、「もし日本語がいいなら、Google Translate使って日本語訳すけど、どうする?」って聞いてきたので、「お願い」って返信したら、以後は日本語で指示が来た。(こっちからは英語で回答していったが…そう考えると日本語で返信しても良かったのかもしれない)
  13. CKADとかと同じ、机の上・机の下・部屋の周り・天井等をWebカメラを通じて試験監督官に見せる。
    電源とか接続したままだと柔軟にうごけないので、このときだけそれらを外してPC持ってそれぞれの方向を映していった。
    これは別に苦労はしなかった。
  14. で、ようやく試験開始。(長かった…)
  15. 試験を一通り解き終わり、「回答提出」した後、オンライン試験専用のアンケートがあった。
    この最中、第三の問題、誤って右クリック→「Back」を押してしまうというのをやらかし、Sentinelが「Bad Request」とかいういかにもなエラーを返してきた。
    回答欄にテキストを入力する欄があるのだが、何故かどうやっても文字が入力できず、右クリメニューに何かあるのかなと思って探っていたのが仇になった。
    その後何やっても戻れなくなったので、残念ながら一度Sentinelをクローズ。
    これは正直私のミスでもあるのだが、操作不能になるようなコンテキストメニューを用意しているKryteryon側にも問題はあるのではないかという気もしている。
  16. 三度KryteryonのLive Chatへ、「おい!SentinelでBack押したら操作不能になったぞ!どうなってんだ!?」と問い合わせ
    ついでに、これもSentinelで試験を正式に終了する前に閉じてしまったことが原因で、今度は試験のステータスが「Suspend」(中断)になったのを、「登録済試験」のページで確認したので、「おい!試験ステータスがSuspendとかなってるぞ!今までやった試験はちゃんと提出できているのか!?」と問い合わせ
  17. 「あんたの回答は提出されてないようだね。ちょっと確認するので待ってね」という回答があった。
    ここまで何度も躓きながらやっと問題にたどり着いて必死に問題解いたというのに、最後の最後の誤操作でその全てが台無しになるなんて、、、仮に10.のように再度試験のリスケをしてくれたとしても、さすがに今日はもう一度やり直す気はないぞ…と思って完全に気分が萎えていた。
  18. その後「これまでの回答はすべて保存されている。再度試験をリスケジュールしたので、もう一度開始して続きをやってちょ」という回答があった。
  19. その指示の通り、再度Web Assessorの登録済試験ページから中断していた試験を再開。
    なお、パスポート晒す画面での待機と、机周りをカメラで見せるプロセスは、もう一度発生した。(今度の待機は5分くらいだったが)
    回答の通り、実際今まで解いた本試験の回答はすべて保存されていた。
    アンケートもちゃんと回答し終わった(が、15.に書いた通り、何故かどうやっても文字が入力できないので、ほぼほぼSKIP状態だったが)
    アンケート開始前に「オンサイト試験の場合はSKIPしてください」という指示があったことや、実際アンケート中もしっかり試験残り時間のカウントダウンが続いていたことなども含め、「このアンケートも「遠隔監視」試験の範疇なんだな」と考え、疑うことをしなかったが、良く考えたら「アンケート」だとしたらSKIPしても良かったのかもしれない。
    実際試験の範疇として対応が必須の部分だったかはよくわからない。
  20. アンケートも回答し終わり、ようやく最後に「提出」。
    最終画面でぽつんと「合格」の文字が出てくる。
    長かった戦いがようやく終わった瞬間だった。
    試験時間は2時間だが、こうしたやり取りを含め、総合的には3時間くらい経過していた。
    ぶっちゃけ試験問題そのものよりもそれ以外の部分のほうが圧倒的に大変だった。

こうして振り返ると、3.のSentinelの顔面画像が破損していた件以外は、みんな私のミスなので(15.は微妙な気もするが)、冷静に対処すればどれも引っかかることのなかった事象のような気はする。
ただSentinelの顔面画像破損は完全に私のせいじゃないはずだし(これは本当に原因が不明だ。なんだろう)、本人確認のために10分待たせるのも正直どうかと思うし、右クリック→戻るで完全に操作不能になるSentinelはそれはそれで駄目な気がするし、受験者本人が気を付けてもどうしようもない問題というのも正直ちょいちょいある気はする。

本人確認で10分待つ際のKryteryon側の言い分「大量の試験を実行中なので」も少し気にはなる。
私は日本時間で平日の夜22時頃に受けたのだが、この時間はアメリカだと7時~8時前後なので、もしかしたら朝に試験を受ける人たちが殺到していた、のかもしれない。
真相は不明だ。
ただいつもこのくらい(10分くらい)待たされるのかな、というのは気になる。
COVID-19の影響でオンラインテスト受験者は恐らく増えているだろう(そもそもテストセンターの予約ができないので)から、その影響も出ていそうではある。

また、結果的に2回もリスケしてもらったことになるわけだが、これはお手数おかけして申し訳ないという気持ち。
逆に言うと、ちゃんと説明すればある程度柔軟にリスケ等の対応をしてくれるんだなという発見でもある。
まあこのためには最低限意思の疎通をするための英語能力が必要になるわけだが。

とにかく、この辺りの問題を気にする必要がないのであれば、やはりオンサイト試験(テストセンター受験)を選択したほうが良いなと思った。

余談だが、試験そのものとは直接関係ない部分だが、上に書いた、Chatに問い合わせ→返信もらう、やり取りにあたる部分(4.5.9.10.12.16.17.18)は、全部英語である。
我ながら無茶苦茶な英語だった気がするが、それでもなんとかなるもんだなと思った。
試験に合格したこと、そのものよりも良い経験が出来た気さえしている。
色々な意味で貴重な体験だった。

試験結果・感想編

試験問題の内容は例によって言えないのだが、上述した模擬試験等に比べると、ちょっと異質な気はした。
あれ、そんな問題を出すの?みたいな感じで、なんというか、模擬試験とはノリが違った。
模擬試験が完全に役に立たないとは言わないが、あれを全面的に信用するのは避けた方が良いという感想である(まあどの模擬試験にも同様のことは言えるけども)

また、細かいことは言えないのだが、AWSやAzureでは問われなかったと思われる、より技術的な問題が出てくるのも、GCP ACEの特徴だと思う。
要するにAWS SAAやAzure AZ-900に比べると、問題の特色として、技術面の問題の色が濃いと感じた。
クラウドのコンセプト、サービスの使い方、ソリューションの設計方法といった、AWSでもAzureでもあった問題以外に、そういった要素を孕んでいるというのは覚えておく必要があるのだろう。
そういう意味で、ある程度技術的な素養のある人でないと厳しい側面はありそうな気はする。

オンライン試験の場合だけかもしれないが、回答を提出後、機械的な採点結果として単に「合格」とポツンと画面上表示されるが、正式な案内はその後メールで通知が来る。
Web Assessorの画面上では「7日~10日後」と表示されているが、私の場合は6日後に連絡が来た。
GCPのデジタルバッヂはAWSやAzureと違ってYour AcclaimではなくAccredibleというサイト上で管理されており、バッヂの発行もそちらで行われる。
格通知を貰った時点ではAccredibleのアカウントを持ってなかったので、まずAccredibleのアカウント作った。
私の場合、なんか最初バッヂのverificationがうまくいかず、一度パスワードリセットしたりしたので、正規の手順は踏めていないのかもしれない。
現時点ではちゃんとバッヂ登録されてるので問題はないのだけど。

おわりに

色々あったが、とりあえずGCPの資格は取得できた。
これにより、冒頭書いた、AWS・Azure・GCPの三大クラウドベンダーの知識を証明する基本資格を習得できたことになり、それは自分にとって良いスキルセットになったと感じている。

GCPは趣味の範疇で今後もちょいちょい使っていくつもりだが、いかんせん「趣味」なので、興味ない(使うつもりのない)サービスは多分今後も能動的に触れる機会はないと思う。
個人的には「趣味」として使うと決めたならそれでいい(無理して興味ないサービスに手を出す必要はない)んじゃないのという気もしており、そういう意味で、GCPのこれより上位の資格に挑戦するのはまだまだもっと先になりそうだが(っていうか一生来ないかもしれないが)、まあそれはそれでいいかという気持ちである。
ゆるーく付き合っていこうと思う。

個人的に、GCPは結構好きなのである。
うまく理由を説明できないのだが、なんというか、使いやすいというか、わかりやすいというか、馴染みやすいというか、自分の肌感覚に合ってるというか。
とにかく「使う」ことに対する心理的な抵抗が低い。

AWSもAzureもGCPも利用しているが、利用期間が一番長いということもあって、やはりAWSが一番「使いやすい」が、その次に「使いやすい」と思うのはGCPだ。
というかモノによってはGCPのほうが使いやすい(わかりやすい)と思うサービスもある。
なんかGCPは自分には「合ってる」みたいだ。
今後もGCPは趣味として色々利用させてもらうつもりである(あまり金のかからない範囲で、という条件付きにはなるが)。w