カテゴリー
サインイン 新規登録
学習時間 15時間
難易度 中級
質問投稿
価格 ¥1,980
月額 ¥2,980
Unlimited会員はこちらの教材を含む100種類以上のUnlimited対象教材が学び放題

【現役エンジニア向け】AWSでシングル構成の環境からスケーラブルな環境を構築するノウハウを学ぼう with Terraform

サーバ1台のシステム環境から、スケーラビリティ・可用性・セキュリティ・ハイパフォーマンスを考慮したシステムの構築を通して、ネットワーク・セキュリティ・データベース・コンピューティング・ストレージの基礎知識を理解し、自身でインフラを構築できるようになることを目指す。

4.8
最終更新 2022/9
Shogo Muranushi

明日から実務に活かせる実践的なインフラ活用スキルを身につけよう

本教材はAWSを用いて、シングル構成で運用しているサーバをクラウドの特徴を活かしたスケーラブルな本番環境を構築します。

1台の構成からスケーラブルな環境にするにはAWSの基本的な機能をフル活用します。セキュリティ、可用性、パフォーマンスの観点を解説しながらステップごとに作成します。

本教材ではアプリケーションとしてWordPressを用いますが、RailsやLaravelなどで作られたアプリケーションでも何でも良いです。主にAWSのサービスを用いてスケーラブルに構築していく大まかな流れを把握してもらうことを一番の目的としておりますので、本教材終了後は自社のアプリケーションをスケーラブルにすることを進めていただければと思います。

学習内容 / 本教材を終えたらどのような状態になっているか

サーバ1台のシステム環境から、スケーラビリティ・可用性・セキュリティ・ハイパフォーマンスを考慮したシステムの構築ができる。

具体的には以下の基礎知識を理解し、構築できるようになっている。

  • ネットワーク、セキュリティ
    • VPC、サブネット、NATゲートウェイ、踏み台(SSM)、CloudFront、アプリケーションロードバランサー
  • データベース
    • RDS、ElastiCache
  • コンピューティング、ストレージ
    • EC2、AutoScaling、EFS

本教材で構成するインフラの全体像

本教材では、最終的には次の図のように2つのアベイラビリティーゾーンでロードバランサー、Webサーバ、データベースサーバを展開し、スケーラビリティ、高可用性、セキュリティを考慮した構成を構築します。

1台の環境から1つ1つ拡張しながら、各サービスの重要な機能、セキュリティ、コストの注意点などの解説を進めます。

Image from Gyazo

本教材の対象者

本教材は現役エンジニア向けの教材です

  • AWSを契約済み
  • どの言語でも良いのでサンプルアプリケーションを作り、EC2などのサーバ上で動かしたことがある方
  • 一般的なWeb三層構造でAWSを活用すると何が良いのかを把握したい方
  • 本番サービスとして耐えうる環境(スケーラビリティ・可用性・セキュリティ・パフォーマンス)に興味がある方

受講における必要条件

  • 1台構成のアプリケーション・システムの構築ができる。

学ばないこと

  • AWSのサービスを用いてスケーラブルに構築していく大まかな流れを把握してもらうことを一番の目的としておりますので、アプリケーションの細かな説明、挙動、特定のフレームワークの解説はありません。
  • AWS環境はTerraformで構築しますが、Terraform自体の使い方などは最低限になっています。需要があれば別教材で解説いたします。

本教材の対応バージョン

  • AWS CLIバージョン1
  • Terraform 0.12系
  • macOS Catalina +

本教材で質問対応可能なOSや環境

  • macOS

本教材の構成について

0章:はじめに

本教材を進める上での環境を整えたり、設計を解説していきます。

1章: 1台構成のアプリケーションを作成する

本教材では、最終的にはスケーラビリティ、高可用性、セキュリティを考慮したシステムを構築しますが、本章では、その第一歩となるEC2の1台構成のアプリケーション環境を作ります。

2章: VPCを活用し高セキュリティのネットワークを構築する

本章では、高セキュリティの基礎となるVPCを作成します。

3章: RDSを活用し高可用性なデータベースを構築する

本章では、RDSを作成しRDSを利用するようにアプリケーションに変更を加えます。
高可用性なデータベースを構築するにあたり、RDSを利用することでHA(ハイアベイラビリティ)クラスターを簡単に作成でき、バックアップやリストアなどの運用も楽になります。

4章: ALBを活用しスケーラブルなロードバランサーを構築する

本章では、ロードバランサーとしてALB(アプリケーションロードバランサー)を利用します。 ALBを利用することでスケーラビリティ、高可用性、セキュリティに関して安価に次の効果が得られます。

5章: オートスケーリングを活用しEC2をスケーラブルにする

本章では、ASG(オートスケーリンググループ)を作成し高負荷時に自動でスケールアウトし、障害時に自動復旧させる環境を作ります。 合わせて複数のEC2環境で同じコンテンツを参照できるように、共有ストレージのEFS(エラスティックファイルシステム)も利用します。 最後に負荷試験を行いオートスケールの動きを確認します。

6章: AWSのサービスを活用しパフォーマンスを向上させる

本章では、コンテンツキャッシュとDBキャッシュを活用しパフォーマンスを向上させる環境を作ります。

7章: 作成したリソースの削除

最後に、本章ではこれまでTerraformで作成したリソースの削除を行います。

カリキュラム

Section 0 はじめに
Section 1 1台構成のアプリケーションを作成する
Section 2 VPCを活用し高セキュリティのネットワークを構築する
  • 2-1 VPCを活用し高セキュリティのネットワークを構築する

講師のプロフィール

教材のレビュー

4.8
4件の評価
75%
25%
0%
0%
0%
田中慎也 1年以上前
Terraformを使ってざっとAWSをなめるにはよい教材でした。バージョン関連でちょこちょこ変えないとならない所はありましたが、概ね問題無いかと。
Kaoru Fujimura 1年以上前
趣味でawsを学習している者です。 terraformでcloudfront-alb-ec2を構築している記事を探したらこちらの記事に辿り着きました。 有料だったので自分の欲しい記事なのか躊躇しましたが、結果購入する価値を十二分に感じております。 自分の欲しかった情報以外にも学ぶべき部分が多くてとても参考になりました。 ありがとうございました! もっと見る
本澤彰一 1年以上前
初心者は難しい。けど、教材の質はとてもいい。