はじめに
AWS Cloud Practitioner Essentials (Japanese) (Na) 日本語実写版を受講してみてAWSのネットワークの基本的な部分がわかりやすく説明されていたのでまとめてみました。
Amazonアカウントを取得していれば無料で受講できます。
VPC
正式名称はAmazon Virtual Private Cloud、通称VPCと言う。
AWSリソースに対する境界を確立するためのネットワークサービスであり、AWSの中に独立した仮想ネットワークを作成できる。
インターネットゲートウェイ
実際にクライアントからVPCにアクセスするためにはVPCにインターネットゲートウェイという出入り口を作ってあげる必要がある。
インターネットゲートウェイはVPCとインターネットを繋ぐ役割を果たす。
仮想プライベートゲートウェイ
仮想プライベートゲートウェイはVPC内のプライベートリソースにアクセスするために使用し、保護されたインターネット接続(VPN)をVPCで受け付けるためのもの。
サブネット
サブネットはセキュリティまたは運用のニーズに基づいてリソースをグループ化できるVPC内のセクション
パブリックサブネットとプライベートサブネットと2つ種類がある。
VPC内でサブネットは相互に通信できる。
パブリックサブネット
インターネットと通信できるサブネットであり、インターネットから直接アクセスさせたいものを入れる。
主にウェブサイトなど一般公開されているリソースが含まれている。
プラベートサブネット
インターネットと通信できないサブネットであり、インターネットから直接アクセスさせたくないものを入れる。
主に個人情報や注文履歴を含むデータベースなど、プライベートネットワークを介してのみアクセス可能なリソースが含まれている。
ネットワークACL
ネットワークコントロールリスト、通称ネットワークACLと言う。
ネットワークACLはサブネットレベルでインバウンドトラフィックとアウトバウンドトラフィックを制御する仮想ファイアウォール
クライアントからデータをリクエストしパケットが送信されるとインターネットゲートウェイを介してVPCに送信される。
パケットがサブネットに出入りする前に、アクセス許可がチェックされる、パケットからサブネットへのアクセス許可をチェックする役割を果たすのがネットワークACLです。
デフォルトのネットワークACL
各AWSアカウントには、デフォルトのネットワークACLがある。
VPCを設定する際は、アカウントのデフォルトのネットワークACLを使用するか、カスタムネットワークACLを作成できる。
デフォルトのネットワークACLでは、すべてのインバウンドトラフィックとアウトバウンドトラフィックを許可する。
カスタムネットワークACL
カスタムネットワークACLは、許可するトラフィックを指定するルールを追加するまでは、すべてのインバウンドトラフィックとアウトバウンドトラフィックが拒否されます。
ステートレスパケットフィルタリング
ネットワークACLでは、ステートレスパケットフィルタリングが実行されます。
パケットはサブネットの境界(インバウンドとアウトバウンドの双方向)を出入りするたびにチェックされる。
リクエストに対するレスポンスが返ってくるとき、ネットワークACLに以前のリクエストの情報は保存されていない。
ネットワークACLでは、パケットの応答がルールのリストと照合され、許可するか拒否するかが決定されます。
ステートレスとは、システムが現在の状態を表すデータなどを保持せず、入力の内容によってのみ出力が決定される方式
(出典: ステートレス 【stateless】)
セキュリティグループ
パケットがサブネットを通過したら、次はサブネット内のリソース(EC2など)に対して評価するアクセス許可が必要です。
パケットのEC2インスタンスへのアクセス許可をチェックする役割を果たすのがセキュリティグループです。
セキュリティグループは、Amazon EC2インスタンスのインバウンドトラフィックとアウトバウンドトラフィックを制御する仮想ファイアウォールです。
デフォルトの設定では、セキュリティグループはすべてのインバウンドトラフィックを拒否し、すべてのアウトバウンドトラフィックを許可します。
ステートフルパケットフィルタリング
セキュリティグループでは、ステートフルパケットフィルタリングが実行されます。
受信パケットに対して行われた以前の処理情報は保存されてる。
ステートフルとは、システムが現在の状態を表すデータなどを保持しており、その内容を処理に反映させる方式。同じ入力に対する出力が常に同じとは限らず、内部の状態次第で変わることがある。
(出典: ステートフル 【stateful】)
EC2インスタンスからインターネットにリクエストを送信するという例で考えてみる
そのリクエストに対するレスポンスがEC2インスタンスに返されるとき、以前のリクエストの情報がセキュリティグループに保存されているので、この場合、セキュリティグループは、セキュリティグループのインバウンドルールに関係なく、レスポンスの通信を通過させます。
参考にしたもの
AWS Cloud Practitioner Essentials (Japanese) (Na) 日本語実写版
コーヒーショップを例にわかりやすく説明されています。