
本講座で何が学べるのか、学習の進め方、特徴についての紹介。
本講座では講座購入費以外に「aws利用料」と「ドメイン購入費」が発生する。それぞれどれくらいかかりそうかを本レクチャーで確認する。
awsとはどんなサービスなのか、クラウドとオンプレミス、データセンターと言った用語について理解を深めながら、awsでできることを学習。
添付リソースを一括ダウンロードできる「Googleドライブ」のリンクがあります。
awsで利用できるアカウント2種類について学習し、「ルートユーザー」の作成を行う。
多要素認証の「多要素」が具体的にどんなものがあるのかを学習し、「ルートユーザー」に対して「所持情報」を用いた「多要素認証」を追加する。
あらかじめ設定しておきたいアラートとしてどんなものがあるのかを学習し、実際にアラート設定を入れていく。
「IAMユーザー」の作成を行い、ログイン、初期設定を行う。
不正アクセス発生時に必要となる「監査ログ」の確認方法および標準機間以上の保管設定を行う。
EC2上にNGINXを入れてローカルマシンから接続を行う。
クラウド時代に変わってきて何が変わったのか、そのような時代におけるawsの特徴はどのようなものなのか、について学習する。
リージョン、アベイラビリティゾーン(AZ)について学習する。
本講座で扱う主要なawsサービスがどんなものがあるのか、どんなことができるものなのかについて概要レベルで学習する。
よく見るあの絵(アーキテクチャアイコン)の取得方法、利用方法について学習する。
一般的なWebアプリケーション構成がどのようなものか、今回作成するWebアプリケーションがどのような構成なのかについて学習する。
本セクション学習の前提となるネットワーク知識として「IPアドレス」「グローバルアドレス、プライベートアドレス」「IPアドレスとサブネットマスク」「CIDR」について学習する。
VPCとは何なのか、何ができるのか、について学習する。
本講座で作成する予定のシステムの基礎となるVPCを作成する。
awsにおけるサブネットとはどのようなものなのかを学習し、実際にサブネットを作成する。
ネットワークをまたぐ方法について学習し、必要となるルートテーブルを作成する。
セキュリティグループがどのようなものなのかを学習し、必要なセキュリティグループを作成する。
インターネットゲートウェイがどのようなものかを学習し、必要なインターネットゲートウェイを作成、設定する。
EC2がどのようなサービスなのか、関連する用語として「インスタンスタイプ」「EBS」「AMI」がどういったものなのかについて学習する。
EC2のライフサイクルがどうなっているのか、について学習する。
SSHとは何なのかを学習し、実際にSSHを用いたEC2への接続を行う。
SCPとは何なのかを学習し、実際にSCPを用いたEC2へのファイル転送を行う。
一般的なビルド~リリースのプロセスについて学習し、今回作成するWebアプリケーションの場合、具体的にどのような作業になっているかを学習する。
アプリケーションリリース時に必要となる「サービス」について、その概要と作り方を学習する。
「サービス」の登録、一覧表示/状態確認、開始終了、自動起動設定の具体的コマンドを学習する。
添付install-middleware.shがAmazon Linux2で正しく動作しない場合の対応方法について補足します。
ここまでに学習したことのまとめとして、EC2をアプリケーションサーバーとして構築していく。
EC2に付与されるIPアドレス、パブリックIP、EIPについて学習し、EIPの取得/付与を実際に行う。
Windowsマシンに MySQL クライアント をインストールする。
RDSとはどのようなサービスなのか、利用可能なDBにどんなものがあるのか、実際に構築する際の手順はどういうものか、について学習する。
RDS(MySQL)を構築する。
添付install-mysql-client.shを実行してもAmazon Linux2でインストールできない場合の対応方法について補足します。
mysqlコマンドについて学習し、EC2からRDSへ接続を行う。
ポートフォワーディングについて学習し、ローカルマシンからRDSへ接続を行う。
ここまでに学習したことのまとめとして、RDSを初期化、初期データの投入を行っていく。
RDSのバックアップとはどのようなものなのかを学習し、実際にRDSのバックアップを行う。
RDSをリストアする方法およびその際の注意点について学習し、実際にRDSのリストアを行う。
パラメータストアとはどのようなサービスなのかについて学習する。
AWSを操作する方法としてどのようなものがあるのかを学習し、そのうちの1つである AWS CLI をクライアントマシンへインストールする。
マネジメントコンソール上からパラメータストアの値を登録/変更/確認/削除する。
AWS CLI を使ってパラメータストアの値を登録/変更/確認/削除する。
マネジメントコンソールからパラメータストアに値を投入し、EC2上から値を取得する。
パラメータストアの設計方針について学習し、APサーバー構築の初回として、パラメータストアの設定、VPC/EC2のタグ設定を行う。
添付install.shがAmazon Linux2で正しく動作しない場合の対応方法について補足します。
添付load-params.shがAmazon Linux2で正しく動作しない場合の対応方法について補足します。
アプリケーションサーバーの構築を手動で行う。
ELBとはどのようなサービスなのか、何ができるのか、種類としてどのようなものがあるのかについて学習する。
ターゲットグループとはどのようなものなのかを学習し、ターゲットグループを作成する。
ELBを作成、設定し、ローカルからELB経由でアプリケーションサーバーにアクセスを行う。
Route53がどのようなサービスなのか、どのようなことができるのかについて学習する。
DNSの仕組みおよび登場する用語「NSレコード」「Aレコード」「CNAMEレコード」について学習する。
「お名前ドットコム」でドメイン取得を行う。
Route53を作成し、ELB向けのAレコードを設定する。
本講座では「AWSを利用してBtoC向けWebアプリケーションを構築する方法」を学びます。
どれだけお金がかかるのか心配だったり、どこから手を付けてよいかわからないといったことがあると思います。
本講座はそんな悩みがある人にとってのガイドとなるべく、アカウント作成からアプリケーション構築まで順を追って学習できます。
ぜひ一緒に手を動かしながら構築する方法を身につけていきましょう!
【謝辞】
これまでは1人の力でコース作成をやってきていましたが、今回は初めて同僚の力を借りて作成することになりました。本コース作成にあたり実務上の知見や講座内容に対するフィードバックをしてくれた古澤魁さん、谷浦良祐さんには大変感謝しています。
【更新履歴】
v1.1.1 2024/02/25 Node.jsインストール、MySQL Clientインストール、インスタンスメタデータオプション変更に関して補足追加
v1.1.0 2024/02/21 確認テスト追加
v1.0.7 2022/02/05 「仮想マシンからDBへ接続」のリソース更新(=MySQLのバージョンアップ対応)
v1.0.6 2021/09/20 「本講座で作成するWebアプリケーション」にアーキテクチャ全体像の図を添付
v1.0.5 2021/06/06 「添付リソースの一括ダウンロード」レクチャーを追加
v1.0.4 2020/05/06 「証明書の発行(1)」レクチャーに補足を追記
v1.0.3 2020/12/27 「作成したリソースの削除」レクチャーを追加
v1.0.2 2020/11/25 「仮想マシンからDBへ接続」の添付リソースを更新
v1.0.1 2020/11/07 「振り返り」レクチャー追加
v1.0.0 2020/10/21 初版リリース