はじめに
FEモダナイゼーションチームのユウです。
8月6日、8月7日に開催された2日間の「AWS JumpStart 2024」に参加してきました。この記事は、その参加レポートです。
AWS jumpStart2024とは?
AWS JumpStartは、新卒を含むAWS初学者のエンジニアを対象とした、クラウドネイティブなテックリード人材を育成するための実践的な研修プログラムです。事前学習用動画と2日間の集中的なワークショップを通して、自走できる状態までシステムアーキテクチャ設計やAWSの実践的な知識を獲得できる場として知られています。
AWS JumpStartの対象者
- AWSについて聞いたことはあるが、実際に使ったことはない
- EC2などの個別のサービスは使ったことがあるが、システム全体の設計経験はない
- クラウドネイティブなアプリケーションを設計する際に重要な観点を知りたい
AWSを使って開発した経験はあったものの、EC2やAWS CodePipelineなどを触ったことがあっただけで、正直なところAWSについてはあまり理解していませんでした。
初心者向けのイベントだと聞き、AWSをより深く理解できる良い機会だと思い参加を決めました。
このイベントは2日間にわたり開催され、全体の流れはざっくり以下の通りです。
事前学習 → 1日目の講義とハンズオン → 2日目の個人およびチームでのアーキテクチャ構築
この記事では、それぞれの内容と私の所感を紹介します。
先に結論
参加して本当に良かったです。AWS JumpStartにまだ参加したことがないけれど、AWSのサービスに興味がある方には、この記事を読んで、参加のきっかけにして欲しいと思います。まず、AWS JumpStartの内容は、初心者向けとは思えないほど充実していました。さらに、ハンズオンを通じて、これまで使っていたAWSサービスに対する理解がさらに深まりました。特に、これまでチンプンカンプンだったAWSのサービスアーキテクチャ図が、この2日でなんとなく理解できるようになったのは収穫でした。
ここからは具体的なイベント内容を紹介します。
事前学習
イベントが開催される2週間前に、イベント専用のSlackワークスペースに招待され、事前学習用のコンテンツの視聴が案内されました。

事前学習は強制ではなく任意で、忙しい人向けのラーニングパスも用意されています。仕事で忙しく、なかなか時間が取れない人にとってはありがたいですね。
すべての学習コンテンツは日本語で提供されており、予備知識がゼロでも問題なく学べたため、初心者でも安心して取り組むことができました。
主な学習コンテンツは以下の通りです。学習にはAWSアカウントの作成が必要ですが、すべて無料でアクセスできます。
コンテンツを一通り視聴すると、以下のAWSサービスに関する基礎知識を身につけることができます。
- Amazon EC2
- Amazon Lambda
- Elastic LoadBalancing
- Amazon CloudWatch
- Amazon EC2 Auto Scaling
- Amazon RDS
- Amazon Aurora
- Amazon DynamoDB
- Amazon VPC
- …などなど
私は「Cloud for Beginners」と「AWS Skill Builder」の途中までしか視聴できませんでしたが、それでも十分に理解を深めることができました。
1日目
1日目のタイムテーブルは以下の通りです。
全体の流れとしては、講義と実際にAWSマネジメントコンソールを操作するハンズオンを交互に行いました。
講義では、事前学習で学んだ基礎知識をおさらいしつつ、「AWSでWebサービスを構築する際に、どのAWSサービスをどのように組み合わせて設計すれば良いのか」といった基本を学びました。
また、Webサービスの利用者数が増えるにつれて発生する可能性がある課題や、それに対する対策についてもアーキテクチャ図を使って解説されました。

例えば、こちらは利用者数100人までを想定したアーキテクチャです。この構成では、EC2インスタンスとAmazon RDSがそれぞれ1つずつ用意されています。
100人までのトラフィックには耐えられるかもしれませんが、利用者数がさらに増えると、EC2インスタンスが障害を起こしたり、データ量の増加によってDBをスケールアップする必要が生じます。また、サービスの可用性やスケーラビリティに限界が出てくることもあります。

将来的に起こり得る課題を見据えたアーキテクチャ設計の際に、「Design for Failure」という考え方が重要だと教わりました。
可用性の向上や中長期的なスケーラビリティを確保するためには、どのような構成が適切かをあらかじめ考え、設計することが大切です。

例えば、複数のAvailability Zoneを用意し、それぞれにEC2インスタンスとDBを配置することで、ロードバランサーが障害発生時にリクエストを適切に振り分け、サービスの可用性を保つことができます。
ハンズオンでは、マネジメントコンソールを操作しながら以下のサービスを学びました。
- Amazon Virtual Private Cloud
- Amazon Elastic Compute Cloud
- AWS Amplify
Webサービスのアーキテクチャを徐々に構築していく過程を体験することができました。
まずはVPCとAZ(アベイラビリティゾーン)を作成します。

次に複数のAZを配置しました。

さらに、Public / Privateサブネットを作成します。

このように少しずつアーキテクチャを構築していく体験は、初心者の私にとって非常に分かりやすく、達成感を感じることができました。
最後に、AWS Amplifyを使って配布されたHTMLコードをデプロイし、アプリがインスタンス上で動作していることを確認しました。
また、講義で解説された「Design for Failure」の実例として、以下の点をTODOアプリを使って実践しました。
- Application Load Balancer (ALB) を使用してリクエストの負荷を分散させる
- EC2上で実行されているコンテナに障害が発生しても、他のコンテナが代わりにアプリを動作させることを確認
- DBのフェイルオーバーにより、プライマリDBがダウンしてもセカンダリDBが役割を引き継ぐことを確認
初心者向けのイベントにしては、1日目から予想以上に濃い内容で、いい意味で期待を裏切られました。初心者はついていけないのではと思うくらいの充実した内容でした。
イベント専用のSlackチャンネルには、AIチャットボットのAWS Bedrockが導入されていて、講義でわからないことやハンズオンで感じた疑問をBedrockに質問すると、わかりやすく回答してくれるので、スムーズに進めることができました。

1日目を終えた感想としては、事前学習は必須ではないものの、学習コンテンツを半分くらい視聴しておいて本当に良かったと思います。基礎知識だけでなく、実際の運用例やそれぞれの課題とその対策も解説してくれたため、情報量は非常に多く、すべてを消化しきれませんでしたが、それでも非常に満足できる内容でした。
2日目
2日目のタイムテーブルは以下の通りです。
最初のコンテンツは、1日目の講義内容を基にしたクイズゲーム形式で、ZOOMの投票機能を使って参加者が回答します。ただクイズを解いて終わりではなく、各クイズに関連する知識をさらに深く掘り下げて解説してくれます。
例えば、ストレージに関する質問では、ブロックストレージのAmazon Elastic Block Store、ファイルストレージのAmazon Elastic File System、オブジェクトストレージのAmazon Simple Storage Serviceについて、それぞれの特徴や主な用途を詳しく説明してくれました。
このように、1日目に触れなかったAWSサービスの知識も学ぶことができ、その知識は後のアーキテクチャ設計に役立つヒントとなりました。
クイズタイムが終わると、参加者はチームに分けられ、アーキテクチャ設計の課題が出されます。
ネタバレ防止のため、アーキテクチャ設計課題の詳細な要件については記載しませんが、初心者にとってはなかなかチャレンジングな内容でした。
その後、チーム専用のMiroボードでメンバーがそれぞれ要件を満たすアーキテクチャを設計します。MiroにはあらかじめAWSサービスのアイコン群が用意されており、それらのアイコンを使ってアーキテクチャを構築していきます。

Miroで作業をしていると、他のメンバーが設計していく過程もリアルタイムで見えるため、初心者の自分にとっては少し恥ずかしいと感じる場面もありましたが、その過程を参考にしたり、Bedrockに質問したり、講義資料を見返したりしながら、なんとか自分なりに設計を進めました。
その後、メンバー全員が集まり、それぞれが設計したアーキテクチャを共有し合い、議論を交わしながら設計を進めていきました。運営側のサポーターに質問し、フィードバックを基にアーキテクチャをブラッシュアップしていく過程は非常に刺激的で面白かったです。
最終的にチームで設計したアーキテクチャは以下の通りです。

イベントに参加する前は、AWSのアーキテクチャ図を描くことに対して苦手意識を持っていましたが、チームメンバーと一緒にここまでのアーキテクチャ図を作成できたことに驚いています。
最後はチームごとの成果発表と、講師による課題の解説を経て、2日間にわたるイベントが幕を閉じました。
終わりに
すでに冒頭でも書いた通り、AWS jumpStart 2024に参加して本当に良かったと感じています。ここで、特に良かったポイントをおさらいします。
- 初心者向けの内容で、予備知識がなくても安心して参加できる
- 基礎知識だけでなく、AWSサービスの設計時に直面する課題を実例を交えて解説してくれる
- ハンズオンで実際にサービスを構築することで、AWSマネジメントコンソールの操作方法を深く理解できた
- アーキテクチャ設計を通して、AWSのサービスの機能をより深く理解できた
初心者の自分にとって非常に有益なイベントでした。AWSのサービスに興味があるけれど、まだ参加したことがない人には、ぜひおすすめしたいイベントです。
