カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

0-1

本教材について

Web アプリケーションの実装に入門した次のステップアップとして、AWS を学ぼうと考える方は多いです。
特に、自分の作ったアプリケーションを「AWS にデプロイ」 する方法を学びたいという声はよく耳にします。

「AWS へのデプロイ」を学ぶには、いくつものステップがあります。
その第一歩は、「AWS に Linux サーバを 1 台だけ用意して、そこで環境構築する」ことです。

そこで本教材では、「AWS へのデプロイ」を Linux サーバ 1 台という最小構成で実現することを目標として、Linux・ネットワークの基礎知識に始まり、Web アプリケーションの環境構築の基礎を学んでいきます。

本教材が終えたらどのような状態になっているか

本教材では、プログラミングの基礎を学んだ段階から、AWS を学び始める準備ができるくらいまでのステップアップを目指します。

具体的には、

  • Linux での環境構築の基礎知識
  • ネットワークの基礎知識
  • 各種プログラミング言語の Web アプリケーションの仕組み

を学び、Linux サーバで基本的な Web アプリケーションの環境構築ができる状態を目指します。

受講における必要条件

  • AWS アカウントを持っていること
  • 何らかのプログラミング言語で Web アプリケーションを作ったことがあること
  • 絶対パス・相対パス程度のコンピュータの基礎知識があること
  • ターミナルで ls、cd などの基本的なコマンドを実行したことがあること
  • Vim や nano など、ターミナルで使用可能なエディタを使うことができること

この教材の対象者

  • 「AWS へのデプロイ」を学びたいが、その言葉が何を指していて、どうやって学べばいいのか分からない方
  • AWS Certified Solutions Architect - Associate (SAA) などの資格の学習を始めたが、インフラに触れたことがなく、アプリケーション開発とどのように関係するのかよく分からない方
  • Web 上の情報などを参考に AWS になんとなくデプロイすることはできたが、自分が何をしたのか実はよく分かっていないという方
  • 「インフラ」への苦手意識を克服したいアプリケーションエンジニアの方

学ばないこと

本教材では、Linux サーバでの Web アプリケーションの環境構築の第一歩として、Web サーバ・アプリケーションサーバ・データベースを疎通させる方法を学びます。
実際にアプリケーションを公開する際に必要になる、ドメインの取得や DNS の設定・SSL 証明書の設定までは解説しません。

題材として練習するのは、Ruby on Rails・Laravel・Spring Boot を使った、サーバサイドで HTML を生成する方式の Web アプリケーションです。
Web API を使う方式のアプリケーションや、SPA などのデプロイ方法は解説しません。

また、AWS については EC2 に触れる程度にとどめ、AutoScaling や VPC、RDS などその他のサービスについては解説しません。

本教材に対応している環境

  • macOS
  • Windows 10

構築する環境のイメージをつかもう

本教材では、AWS の Linux サーバを 1 台使用して、Ruby on Rails・Laravel・Spring Boot を使った Web アプリケーションのデプロイを学びます。

下図のように、Ruby on Rails・Laravel・Spring Boot のアプリケーションに加えて、Web サーバ (nginx) やデータベース (PostgreSQL や MySQL) もセットアップする、非常に典型的な構成の環境を構築していきます。

Image from Gyazo

学習における注意点

本教材では、AWS を使用し、その中でも EC2 と EBS というサービスの料金が発生します。

AWS のアカウントを作成して 1 年以内の場合、無料枠が適用される可能性があります。
無料枠が適用されない場合、目安として、月額で 10 ドルを少し超えるくらいの料金が発生する可能性があります。
後で説明する流れで EC2 を停止・削除することで、費用を削減することもできます。

より詳細な料金体系は以下のページから確認できます。

執筆者について

執筆者は、サーバサイドやクラウドインフラを中心に携わっているエンジニアです。

AWS については、Web アプリケーションの稼働環境の構築やデータ分析基盤の構築といった多数の経験があり、AWS Certified Solutions Architect - Professional の資格を保有しています。

現在は、「実務につき始めたエンジニア」向けの研修や教材作成などの活動中です。

目次

0 章 はじめに

本教材の概要や、進め方を説明します。
また、後の各章で必要な EC2 の起動・停止方法を解説します。

1 章 「AWS へのデプロイ」を体験してみる

まずは「AWS へのデプロイ」を一通りざっと体験してみます。
体験を通して、「AWS へのデプロイ」ができるようになるには、どんな知識を学ぶ必要があるのかを確認します。

2 章 Linux の基本操作

Linux サーバに接続する方法と、ディレクトリやファイルの基本操作を学びます。
また、「コマンド」「インストール」「PATH」といった基本概念を学びます。

3 章 Web サーバの動作とプロセスの基本

シンプルな Web サーバの環境構築を通して、Web サーバの概要と Linux のプロセスの概念を学びます。

4 章 ネットワークと Web の仕組みの基礎知識

Web アプリケーションの環境構築で壁になりやすい、ネットワークと Web の仕組みに入門します。

5 章 Ruby(Rails)を使った Web アプリケーションの環境構築

5 章から 7 章では、いくつかのプログラミング言語を使って、仕組みを学びながら環境構築に挑戦します。

5 章では Ruby (Rails) を使った Web アプリケーションの環境構築に挑戦します。
初学者が混乱しがちな「Rack」や、Puma・Unicorn といった「アプリケーションサーバ」などの関係も学びます。

6 章 PHP(Laravel)を使った Web アプリケーションの環境構築(キーワード:FastCGI、php-fpm)

6 章では、PHP の実行方式を学び、PHP (Laravel) を使った Web アプリケーションの環境構築に挑戦します。
「FastCGI」や「php-fpm」がキーワードです。

7 章 Java(Spring Boot)を使った Web アプリケーションの環境構築

Java の実行方式の基本を学び、Java (Spring Boot) を使った Web アプリケーションの環境構築に挑戦します。
その中で、アプリケーション開発に関わり始めたばかりではイメージしにくい、「ビルド」という概念も学びます。

8 章 おわりに

最後に、Python・Go・Node.js といった、その他の言語の Web アプリケーションのデプロイ方法について概要を説明します。

また、今後のステップアップとして、より実践的な構成や、そのために学習すべき知識を紹介します。

現在のパート (0)
全パート (1)
みんなで助け合おう!
現在のパートのディスカッション 全0件