五島移住エンジニアの日々

2024年夏、五島に移住します!移住に関する情報や、エンジニアとしてのアウトプットなど中心に書いていきます!

AWSクラウドプラクティショナー 第7章 VPC

クラウドラクティショナー勉強録シリーズ。

toyamadori.hatenablog.com



一般技術キーワード

サブネット

ネットワークを論理的に分割して異なるネットワークセグメントを作る手段。
特定のIPアドレスの範囲に割り当てられ、その範囲内のデバイスやリソースは同じ物理ネットワークに存在するとみなされる。

Aレコード

DNSで利用されるレコードの一種でAddress Recordの略。
その名の通り(IP)アドレスとドメインを紐付けるレコード。

example.com.    IN    A    192.168.1.1

CNAMEドメインに別名をつけるものなので対応付けて覚えよう

Zone Apex

DNSの用語で、特定のドメインにおいて最も上位の部分、つまりルートドメインから最も直接のサブドメインを指す。
www.example.comの場合はexample.comがZone Apexになる。
DNSゾーンの中で頂点(apex)にあたるドメイン名であるためこのように呼ばれる。


VPC

Amazon Virtual Private Cloudの略。
AWSクラウド内にプライベートなネットワーク環境を構築できる。

VPC内で起動する主なサービス

  • EC2
  • RDS
  • Lambda
  • ELB
  • ECS

機能要素

ポイント

  • 複数のAZにまたがって使用できる

RDS

Relational Database Serviceの略。
MySQLPostgreSQLなどをサポートしている。

インターネットゲートウェイ

IGWとも略される。
VPCなどのクラウド環境において、VPC内のリソースがインターネットと通信できるようにするためのコンポーネント
パブリックなIPv4アドレスを持ちVPC内のリソースとインターネットとの通信を仲介する。
IGW自体が、水平スケーリングにより高い可用性と冗長性を持っており、SPOFにはならない

ルートテーブル

ネットワークトラフィックのルーティングを定義するためのテーブル。
サブネット内の他のリソース、インターネット、仮想プライベートゲートウェイなどへのトラフィックをどのように処理するかの情報が含まれる。 IGWに対してルートを持つルートテーブルはパブリックサブネットとして関連付けて扱い、逆にIGWへのルートを持たないようにしたルートテーブルはプライベートサブネットとして関連付けて扱う。

ネットワークACL

WebACLとは別物なので注意!
NACLとも。
サブネットに対して設定するファイアウォール機能で、IPアドレスやポート番号でトラフィック制御を行う。

ネットワークACLとWebACLの比較

ネットワークACL WebACL
ネットワーク層 アプリケーション層
動作単位 サブネット単位 アプリケーション単位
目的 パケットがサブネット内のリソースに到達する前にトラフィックの許可または拒否 Webトラフィックに対するアプリケーション層の攻撃や不正アクセスを防ぐ
制御基準
  • レスポンス内容
  • リクエストヘッダ
  • クエリパラメータ
AWS内での位置 Amazon VPC AWS WAF

NATゲートウェイ

Network Address Translation Gatewayの略。
VPC内のプライベートサブネットから外部のインターネットへの通信を可能にするサービス。

インターネットゲートウェイとNATゲートウェイの比較

インターネットゲートウェイ NATゲートウェイ
目的 インターネット向けに公開したいWebサーバーやアプリケーションなど、外部からのアクセスが必要なリソースに対して利用 プライベートサブネット内のリソースが、ソフトウェアのアップデートなどの目的で直接外部と通信するために使用
通信の方向
  • インターネットからのアクセス
  • インターネットへのアクセス
  • インターネットへのアクセスのみ
IPアドレスの変換 プライベートとパブリックが1対1 プライベートとパブリックが多対1
AWS内での位置 VPCにアタッチ サブネット内

※なかなか違いを理解できなかったので、以下のブログや図を参考にさせていただきました。
ありがとうございます。
www.hanatare-papa.jp

CIDR

Classless Inter-Domain Routingの略。
サイダーと呼ぶ。

CIDRが出てくる前はアドレスがクラスごとに分類されていた。
クラスフルという)

クラス 範囲 用途
クラス A 1.0.0.0 ~ 126.255.255.255 大規模ネットワーク
クラス B 128.0.0.0 ~ 191.255.255.255 中規模ネットワーク
クラス C 192.0.0.0 ~ 223.255.255.255 小規模ネットワーク
クラス D 224.0.0.0 ~ 239.255.255.255 グループ通信(マルチキャスト
クラス E 240.0.0.0 ~ 255.255.255.255 実験や将来用に予約

インターネット初期のクラスフルなIPアドレスの割当・運用をしていた時代は、ネットワークのサイズを予め予測して発行しないといけなかった。
CIDRの登場によって、現在は柔軟に割当ブロックのサイズを変更できる(クラスレス)ようになったため、現在はクラスフルアドレッシングは使用されていない

CIDR表記

IPアドレス10.0.0.0/16などの16の部分はサブネットマスクのビット数を表している。

VPCにおいては、最初の4つのアドレスと最後の一つのIPアドレスAWSによって予約されているのでサブネットとして使用することはできない。
例) 10.0.1.0/24の場合
・10.0.1.0: ネットワークアドレス
・10.0.1.1: VPCルータ
・10.0.1.2: 予約
・10.0.1.3: 予約
・10.0.1.255: ネットワークブロードキャストアドレス

ハイブリッド環境構成

以下のような形でオンプレ環境とVPC環境を接続する形をハイブリッド環境構成という。

  • データセンターからVPN経由でVPCに接続する形式
  • AWS Direct Connectという専用線を利用する形式
  • VPCピアリング接続というVPC同士を接続する形式

CloudFront

エッジロケーションを使い低レイテンシーでコンテンツを配信できるCDNサービス。
ClourFrontを使用してキャッシュを持つことで、1人目のアクセスはオリジナルコンテンツからの配信をCloudFront経由で受けることになるが、2人目・3人目はCloudFrontのキャッシュから配信を受ける事ができる


Route 53

エッジロケーションで使用されるDNSサービス。

通常のシンプルルーティングの他に、用途に応じたルーティングを選択することもできる。

  • Geo DNS
    • 地理的な場所を近くして低遅延になるようにルーティングを行う
  • 加重ラウンドロビン
    • 1つのドメインに対して複数のDNSレコードを用意しておき、あらかじめ割合を決めておく
  • 複数値回答

ヘルスチェックとフェイルオーバー

プライマリに障害が発生したときにセカンダリのURLに飛ばす事ができる。
このようにシステムの一部が故障や障害により利用できなくなった場合に、別の代替システムやリソースに切り替えるプロセスをフェイルオーバーという。
AWS Global Acceleratorというサービスを使えばより高速なフェイルオーバーが実現できる。


練習問題で引っかかった部分

  • CIDRはVPCごとに設定するので、同一アカウント内、同一リージョン内でもVPCが別であれば範囲は重複できる
  • パブリックサブネットタイプという概念はなく、サブネットにIGWに対するルートテーブルを設定する
  • NACLはデフォルトですべてのインバウンド・アウトバウントトラフィックが許可されている
  • ShieldはCloudFront, Rout53の保護をしているのでエッジロケーションで使われるサービスと言える