Money Forward Developers Blog

株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。

20230215130734

AWS Cloud Questをやってみた

こんにちは。クラウド経費でエンジニアの小林です。

今回は、AWS Cloud Questを試してみたので、その感想をシェアしたいと思います。

AWS Cloud Questの概要

AWS Cloud Questは、Amazon Web Services(AWS)のクラウド技術を学ぶためのロールプレイングゲームです。

実際のAWSの環境で手を動かしながら、クラウド技術の基本から応用までを学ぶことができます。そのため、知識だけでなく実践的なスキルも身につけることが可能です。

AWS Cloud Questを試そうと思った背景

私がAWS Cloud Questを試そうと思った背景には、いくつかの理由があります。

私はこれまでAWSで構築済みのアプリケーションのアーキテクチャやデータを見る機会はあったものの、自分で何かをAWS上に構築する経験はほとんどありませんでした。

AWSの基本的なサービス(EC2やCloudWatchなど)にどういった機能があるかなどはある程度理解できており、情報を探したり取得したりはできる一方で、新しく作成や更新をするとなるとどうしたら良いのかわからないということが多くありました。 そのため、エンジニアとしてスキルの幅を拡げ、AWSを使いこなせるようになりたいという思いがありました。

しかし、私は主にwebアプリケーションのバックエンド開発を担当しており、日常業務としてAWSを直接扱う機会は少ないです。そうなると、AWSに触れる機会は自分自身で作らないといけません。

また、日常業務でAWSを使う機会がないため、学習に対するモチベーションを維持するのが難しいことも課題でした。何かを学ぶとしても、どうしても実務で使用するものを優先しがちになっていました。

そんな中、AWS Cloud Questを知りました。ここで、興味を引いたのはゲーム形式で学べるという点です。

私はゲーム好きです。同僚から「ゲーム脳だよね」と言われたことがありました。 実際にその通りで、私は何か明確なやるべき理由や目的があると集中して取り組めるのですが、それがぼんやりしているとすぐ別のことに興味が移ってしまいます。以前も、オンラインベースで行う教材を受講したことがありましたが、集中力を保つのに苦労しました。

「ゲーム要素があるのであれば続くのではないか」と思い、このAWS Cloud Questを試すことにしました。

体験「クラウドプラクティショナー」

AWS Cloud Questには受講可能なコンテンツが複数存在し、その中で「クラウドプラクティショナー」は無料で受講できます(2024年2月1日時点)。 公式ページのクラウドプラクティショナーの説明には「クラウドの概念の基本的な理解を深め、...」とあったので、基礎的な内容を学ぶことができると予想していました。お試ししたいということもあり、今回はこちらを受講しました。

クラウドプラクティショナーでは、アバターを作成し仮想都市「Cloud Quest シティ」で困っている人のお悩み(クエスト)をAWSのサービスを駆使しながら解決することで、クエストクリアとなります。

クエストをクリアすると、アバター用のアイテムを取得できたり街がグレードアップしたりといった報酬要素が含まれています。

一つクリアしてまた別の困っている人の元に駆けつけ問題解決し、また別の人のところに出向き・・・、といった形でゲームが進行していきます。

やってみた感想

まず、結論

結論からお伝えすると、想像していたよりも良い印象を受けました。

少なくとも「現時点で仕事で使っていない分野に対して、継続的に学習していけるか」という課題点については解消できそうな感触を持ちました。

学べる内容のレベル感

まず、今回のクラウドプラクティショナーで学べるレベル感ですが、予想通り内容はAWSの基本的なサービスに留まりました。

具体的にどういったことを学べるかについて、いくつか例を挙げます。

  • EC2の新規作成や更新方法
  • 複数のアベイラビリティゾーンにEC2を作成するなど、高可用性なアプリケーションの基本的な構築方法
  • VPC・サブネットなどのネットワークの構築およびセキュリティグループの設定方法

こういったところに十分な構築・運用経験がある人にとっては、このクラウドプラクティショナーからはあまり多くのことは学べないかもしれません。 一方で、これら項目の構築に自信がない人にとっては知見習得のチャンスとなるでしょう。

概念や仕組みを知っているつもりでも、実際にクラウド上にアプリケーションを構築できるかはまた別物です。 私の場合だと、サブネットやネットワークの構築について理解が足りなかったと感じました。

例えば、セキュリティグループの送信元・送信先には特定のIPアドレスやリソース(EC2インスタンスなど)に加えて、サブネットやセキュリティグループも指定できることを知りませんでした。 それまで、私の中でサブネットは「VPC内に設定するネットワーク区画」ぐらいのぼんやりとしたイメージでした(正直、パブリックかプライベートかぐらいしか意識していなかった)。しかし、このような使われ方を知ると「適切なサブネットの設定ってどうするんだろう」といった疑問も湧いてきました。 サブネットはどこか抽象的なもののような感覚がありなかなか理解しづらかったですが、一つの使われ方を知ることでより具体的なイメージが持てるようになった気がします。

ネットワークに関していうと、パブリックサブネットであってもそもそもルートテーブル上でインターネットゲートウェイに接続していないとインターネットにすら繋がらない場面では「ああ、たしかにそうだよな・・・」と改めて認識する機会になりました。 ネットワーク周りは一度構築してしまうとあまり触ることがないため、こういった基本的なことですら抜け落ちていました。

このように、コンテンツを通して実際に手を動かしながらAWSにおける構築方法を学習でき、また自身の知識がどれぐらい網羅的にカバーできているかも確認することができました。

加えて、AWS Cloud Questでは仮想都市で困っている人の悩みを聞いてそのトラブルをAWS上でどのように解決することができるか、といった流れで進んでいきます。

本当にちょっとしたことなのですが、この「何か(実際に)課題がある」 -> 「その課題に対して解決方法を探る・実行する」というのが、ただテキストを読んで操作をするというよりもさらに自身の理解を深めてくれていると感じました。

ゲーム性について

次に、ゲーム面について感想を述べます。個人的にはAWS Cloud Questに最も期待していた部分になります。

初めにお伝えしておくと、ゲームとして期待しすぎるとがっかりするかもしれません。ゲーム観点で、のめり込んで何時間も過ごしてしまうほどの中毒性はないように感じました。

仮想都市では、アバターを操作して動かすことが可能です。ですが、できることはかなり限られています。また、「都市を探索して何かを見つける」といったこともほとんどなく(厳密にはちょっとだけありますが)、こういった観点に期待することはやめておいた方が良いと思いました。 ゲームの操作性はぼちぼちといったところでしょうか。ゲームとしてやることがほとんどないため、故に操作に手こずるというシーンは発生せず、そこまで気になりませんでした。

特に、グラフィック面については一昔前のものを連想させるクオリティでした。最近のゲームはグラフィックが良くて当たり前のようになりつつあるように感じます。グラフィックについては、正直なところ、期待を下回りました。

しかし、これらを差し引いても、私にとってゲーム形式であることは大いにメリットがあるように感じています。

何と言っても、没入感を与えてくれます。前節でも記載した仮想都市で困っている人との会話などが一例です。

会話はかなりシンプルなものですが、それでも「どうすればこの課題(クエスト)をクリアできるか」という思考が働きました。このほんのちょっとした動機付けだけでも、何かを継続していく上では大きな力になると感じます。

また、クエストをクリアするとアイテムが取得できたり仮想都市がグレードアップしたりします。ここについても、何もないよりずっと良かったです。一つ一つの学習からいわゆる「達成感」を得られやすいような工夫を感じました。

結果的にちょっとした時間を見つけながらも最後まで学習を続けられました。AWS Cloud Questのゲーム要素は私にとっては期待通りのものでした。

まとめ

AWS Cloud Questは、AWSを学ぶための新しい形式の学習ツールとして想像以上に満足できるものでした。また、今回は無料プランだけでしたが、月額制の有料プランも試してみたいと思いました。

ゲーム形式だろうが何であろうが、自身のスキルを高められ最終的に何かに活かすことができれば「クエストクリア」です。これからもコツコツと努力していきたいと思います。


マネーフォワード福岡拠点では、エンジニアを募集しています!

求人情報はこちら。

hrmos.co

福岡開発拠点のサイトはこちら。

fukuoka.moneyforward.com