学習時間 | 15時間 |
---|---|
難易度 | 中級 |
質問投稿 | 可 |
AWSの前に必要な基礎知識とRuby on Rails・Laravel・Spring BootのWebアプリケーションのAWSへのデプロイを学ぶ
「AWSへのデプロイ」に挑戦!Linux・ネットワーク・Webの仕組みといった前提知識を学んだ上で、Ruby on Rails・Laravel・Spring BootのWebアプリケーションをAWSにデプロイしてみよう!
「AWS へのデプロイ」に挑戦!そのための前提知識「Linux・ネットワーク・Web アプリの仕組み」から学習!
Web アプリケーションの実装に入門した次のステップアップとして、AWS を学ぼうと考える方は多いです。
特に、自分の作ったアプリケーションを「AWS にデプロイ」 する方法を学びたいという声はよく耳にします。
「AWS へのデプロイ」を学ぶには、いくつものステップがあります。
その第一歩は、「AWS に Linux サーバを 1 台だけ用意して、そこで環境構築する」ことです。
そこで本教材では、「AWS へのデプロイ」を Linux サーバ 1 台という最小構成で実現することを目標として、Linux・ネットワークの基礎知識に始まり、Web アプリケーションの環境構築の基礎を学んでいきます。
その後、Ruby on Rails・Laravel・Spring Boot を使った Web アプリケーションのデプロイに実際に挑戦してみます。
学習内容
本教材は、大きく「体験編」「基礎編」「実践編」の 3 つに分かれています。
まず最初の体験編では、「AWS へのデプロイ」という言葉が指している意味が分かるよう、最小限の解説で「AWS へのデプロイ」を体験してみます。
この体験を通して、「AWS へのデプロイ」の第一歩として、本当に必要な知識は何なのかを確認します。
(実は、本当に必要なのは AWS の知識ではなく、Linux・ネットワーク・Web の仕組みの知識なのです)
続く基礎編では、「AWS へのデプロイ」のために本当に必要な、
- Linux
- ネットワーク
- Web の仕組み
の基礎知識を学びます。
こういった知識は、文字で読むだけよりも、手で動かしながら学ぶと理解が深まりやすいです。
本教材では、どの章も実際に手を動かしながら学べるようになっています。
実践編では、以下の 3 種類のアプリケーションを題材として、仕組みを学びながら環境構築を実施します。
- Ruby (Rails)
- PHP (Laravel)
- Java (Spring Boot)
「よく関わるプログラミング言語について学びたい」という方は、該当のプログラミング言語の章だけ実施しても大丈夫です。
「たくさん練習したり、色々なプログラミング言語の知見をつけたい」という方は、練習として全ての章を実施するのもおすすめです。
作成物のイメージ
本教材では、AWS の Linux サーバを 1 台使用して、Ruby on Rails・Laravel・Spring Boot を使った Web アプリケーションのデプロイを学びます。
下図のように、Ruby on Rails・Laravel・Spring Boot のアプリケーションに加えて、Web サーバ (nginx) やデータベース (PostgreSQL や MySQL) もセットアップする、非常に典型的な構成の環境を構築していきます。
本教材の対象者
- 「AWS へのデプロイ」を学びたいが、その言葉が何を指していて、どうやって学べばいいのか分からない方
- AWS Certified Solutions Architect - Associate (SAA) などの資格の学習を始めたが、インフラに触れたことがなく、アプリケーション開発とどのように関係するのかよく分からない方
- Web 上の情報などを参考に AWS になんとなくデプロイすることはできたが、自分が何をしたのか実はよく分かっていないという方
- 「インフラ」への苦手意識を克服したいアプリケーションエンジニアの方
受講における必要条件
- AWS アカウントを持っていること
- 何らかのプログラミング言語で Web アプリケーションを作ったことがあること
- 絶対パス・相対パス程度のコンピュータの基礎知識があること
- ターミナルで ls、cd などの基本的なコマンドを実行したことがあること
- Vim や nano など、ターミナルで使用可能なエディタを使うことができること
学ばないこと
本教材では、Linux サーバでの Web アプリケーションの環境構築の第一歩として、Web サーバ・アプリケーションサーバ・データベースを疎通させる方法を学びます。
実際にアプリケーションを公開する際に必要になる、ドメインの取得や DNS の設定・SSL 証明書の設定までは解説しません。
題材として練習するのは、Ruby on Rails・Laravel・Spring Boot を使った、サーバサイドで HTML を生成する方式の Web アプリケーションです。
Web API を使う方式のアプリケーションや、SPA などのデプロイ方法は解説しません。
また、AWS については EC2 に触れる程度にとどめ、AutoScaling や VPC、RDS などその他のサービスについては解説しません。
本教材の対応バージョン
本教材で使用するサンプルアプリケーションは、Ruby on Rails・Laravel・Spring Boot の以下のバージョンを使用しています。
- Ruby on Rails 7.0
- Laravel 10.8
- Spring Boot 3.10
ただし、本教材で学ぶ内容は、これらのフレームワークのその他のバージョンを使用している場合でも役立ちます。
本教材で質問対応可能なOSや環境
- macOS
- Windows 10
Google Chrome などの一般的な Web ブラウザを使用可能な環境であれば受講可能です。
カリキュラム
- 2-1 Linux とは
- 2-2 サーバと SSH 接続とは
- 2-3 コマンドの実行と PATH の基本