
このコースの概要や構築する題材、対象者や前提知識を確認します。
このコースを受講するときの進め方について説明します。
このコースで発生する可能性のある、AWS の料金について説明します。
ネットワークの話の入り口として、インターネットと Web の概要を学びます。
このセクションで通信を試すのに使う EC2 インスタンスを作成します。
EC2 インスタンスに SSH で接続する方法を説明します。
EC2 インスタンスに Web サーバのプログラムである nginx をインストールします。
curl コマンドと telnet コマンドを使い、Web サーバとの通信を体験します。
通信に登場する重要な概念である IP アドレス・名前解決・ポート番号・メッセージについて整理し、さらに TCP/IP モデルについて学習します。
このセクションで使用した EC2 インスタンスを片付けます。
このセクションで実施することを説明します。
AWS で VPC(仮想ネットワーク)を作成します。
AWS のリージョン・AZ と、VPC のサブネットの構成の基本を学びます。
AWS におけるファイアウォールの一種であるセキュリティグループを作成します。
EC2 インスタンスを作成し、以後のセクションの演習の準備を完了します。
IPv4 アドレスの基本を学びます。
IP アドレスを確認するのに使えるコマンドとして、ip コマンドと ifconfig コマンドを実行してみます。
ネットワークのアドレスとサブネットについて学習します。
パブリック IP アドレスとプライベート IP アドレスの概要を学びます。
2 つの EC2 インスタンスを使い、curl コマンドで HTTP での通信を試します。
このセクションで学んだ内容を整理します。
ネットワークの構成と、IP パケットのルーティングの基本を学びます。
パケットの到達を確認するコマンドとして、ping コマンドを実行してみます。
VPC ピアリングを使い、2 つの VPC を接続して疎通を確認してみます。
AWS の VPC におけるパブリックサブネットとプライベートサブネットの概念を学びます。
ルートテーブルを編集して、パブリックサブネットとしての設定の意味を体験します。
このセクションで学んだ内容を整理します。
このセクションで実施することを説明します。
プライベートサブネットに EC2 インスタンスを起動する準備として、SSH 接続に使うキーペアを作成します。
プライベートサブネットに EC2 インスタンスを起動します。
パブリックサブネットの EC2 インスタンスを踏み台として、プライベートサブネットの EC2 インスタンスに SSH 接続してみます。
プライベート IP アドレスの問題点と、NAT の概要、AWS における NAT の設定について学びます。
NAT Gateway を設定して、プライベートサブネットからインターネットと通信できることを確認します。
このセクションのまとめをして、不要になったサーバを片付けます。
ファイアウォールの概要を学びます。
セキュリティグループの設定変更で、ファイアウォールの設定を体験します。
WAF(Web Application Firewall)について補足します。
TCP と UDP の概要を学び、TCP の待ち受けと接続の流れを理解します。
ss・netstat・lsof といったコマンドで、通信を待ち受けている状態を確認する方法を試します。
nc コマンドを使い、TCP コネクションを確立できるか確認する方法を学びます。
ps や systemctl コマンドでプロセスの状態を確認する方法を学びます。
このセクションで学んだ内容を整理します。
HTTP の概要と、HTTP のステータスコードの基本を学びます。
curl コマンドと wget コマンドを使い、HTTP での通信を試します。
HTTP 以外のアプリケーション層のプロトコルについて、概要を学びます。
名前解決の概要と、hosts ファイルによる名前解決について学びます。
hosts ファイルによる名前解決を実践してみます。
localhost の特別な扱いと、UNIX ドメインソケットについて学習します。
近年、アプリケーションの実行環境として、AWS などのクラウドが使われることが非常に多くなっています。
クラウドの環境構築はアプリケーションエンジニアが担当する例も多く、その際はネットワークの基礎知識が求められます。
しかし...
例えば、ネットワークのトラブルに遭遇した場合、ネットワークの基礎知識がないと解決の方向性を考えることも難しいです。
また、ネットワークについて独学して仕組みはなんとなく頭に入ったものの、実際のトラブルシューティングでは手が動かないという方も少なくありません。
ネットワークのトラブルシューティングには、ネットワークの仕組みの知識と、具体的なコマンドの知識が必要です。
そこでこのコースでは、AWS の VPC(仮想ネットワーク)にふれながら、アプリケーションエンジニアでも知っておきたい範囲で、ネットワークの基礎知識と、トラブルシューティングに必要なコマンドを学びます。
最終的には、学習した知識を活用してネットワークのトラブルシューティングの例にも挑戦します。
■このコースで学ぶこと
・TCP/IP モデル、IP、TCP、HTTP の概要
・IPv4 アドレス、ルーティング、NAT、ファイアウォール
・名前解決(hosts、DNS)
・トラブルシューティングで使える Linux の各種コマンド
・AWS の VPC(仮想ネットワーク)でのトラブルシューティングの例
■このコースで学ばないこと
・Ethernet、MAC アドレス、VLAN といった IP よりも下位のレイヤの知識
・IPv6 やルーティングプロトコルなどのより高度なネットワークの知識
・Windows・macOS で使えるコマンド