ユーザ用ツール

サイト用ツール


aws:vpc:index.html

AWS

Amazon VPC (Virtual Private Cloud)で、プライベートクラウド

Amazon VPC (Virtual Private Cloud) 概要

Amazon VPCとは

VPCは、Virtual Private Cloudの略で、AWSで利用するプライベート・ネットワークセグメントのことです。

製品ページ Amazon VPC
AWSドキュメント Amazon VPC

Amazon VPCの特徴

  • AWSにIPを固定できる。(DHCPでもMACやIPが変わることはない)
  • アドレス空間は、VPC全体で16ビット以上の任意のネットワークアドレス(例:192.168.0.0/16, 172.31.1.0/24)をVPCの作成時に設定します。
  • ネットワークアドレスは作成後は変更できないので、20ビット以下など、ある程度のレンジを持つアドレスにするのが無難です。
  • 同じVPC内に作成したサブネットはユーザーが設定しなくてもパケットのやり取りができる。

Amazon VPC内のDHCP

  • VPCを使えば、プライベートIPアドレスを固定化できる
    ただ、AWSでは、固定IPではなく、DHCPを使うのが基本。(仮想マシンの複製を簡単にするため)
  • 仮想マシンのElastic Network Interfaces(ENI)に対してIPアドレスを払い出すため、ENIが変更されない限りMACアドレスやIPアドレスが変更になることはない。

Amazon VPCの注意点

  • サブネットで指定したIPアドレスのうち、先頭4つと末尾の1つはVPCで予約されるため使用できません。
    • ネットワークにCIDR +2がDNSサーバ(例:10.0.0.2)
    • ネットワークアドレス+1が仮想ルータ(例:10.0.0.1)
  • AZ間では、約2.5msの遅延が発生する。AZ内は、0.5ms以下。
  • VPCではマルチキャストやブロードキャストのパケットは流せない。ユニキャストはできる。
    クラスターソフトを選ぶ時に注意が必要。
利用できないIPアドレス(/24の例)
ホストアドレス 用途
.0 ネットワークアドレス
.1 VPCルータ
.2 Amazonが提供するDNSサービス
.3 AWSで予約
.255 ブロードキャストアドレス

Amazon VPCと外部との接続

インターネットゲートウェイ(IGW)

  • インターネットに接続するためのゲートウェイ

仮想プライベートゲートウェイ(VGW)

  • オフィスやデータセンターなどとの外部と、VPNで接続するためのゲートウェイ
  • パブリックIPなしで、プライベートIPのままVPC外部と通信を行うことができます。


VPC設計

VPCの分け方イメージ

リージョンの中にVPCを作ります。
例では、東京リージョンに、本番用VPC(Production)、ステージング用VPC(Staging)、開発用VPC(Dev)を作っています。

(1)リージョンを選択
(2)VPCを作る
(3)VPCを選択して、その中にサブネットを作る。サブネットを作る際に、AZを指定する

VPCの分け方イメージ

VPC内の通信イメージ

VPCイメージ図VPC内の通信イメージ

サブネットの分け方

サブネット サーバ例 ルートテーブル Security Group
Subnet意識なし ELB
Public Subnet NATゲートウェイ、
プロキシーサーバ、
Webサーバ
踏み台(インターネット経由)
0.0.0.0/0は、IGW IN:sshは、VPCセグメント全て
Private Subnet APサーバ 0.0.0.0/0は、NAT GW IN:sshは、VPCセグメント全て
Protected Subnet DBサーバ IN:DBポートはPrivate Sbunetの必要なサーバのみ
Managed Subnet 監視サーバ、
ジョブサーバ、
デプロイサーバ
踏み台サーバ(DX経由)
0.0.0.0/0は、NAT GW IN:sshは、VPCセグメント全て

他社の例

Quickの証券会社・銀行のネット向け情報サービス

PayPayカードのシングルAZ戦略

https://japan.zdnet.com/article/35202869/p/2/

一般的には、システムの可用性を重視して複数のリージョン(例えば東京と大阪など)を組み合わせるマルチリージョンや、複数のAZを組み合わせるマルチAZの構成を採用するが、信太氏によれば、同社では特に可用性と決済処理における遅延とのバランスをどう両立させるかが課題になり、慎重に検討した結果、シングルAZを採用した。同社の検証では、シングル構成の場合にインスタンスからデータベース(Amazon Relational Database Service)への処理時間が0.19ミリ秒なのに対し、マルチAZでは2.6ミリ秒だったとのこと。仮に1000万レコードを処理すると、前者では30分程度だが、後者では7.2時間になり、マルチAZでは10倍近く遅延が大きくなることが懸念された。
「結果として基幹システムではバッチ処理がメインになることから、性能面はスケールアップと並列処理によって対応し、可用性はアクティブ-スタンバイの構成で瞬時に切り替えることにより対応できるようにしている」(信太氏)


用語

用語 説明
Default VPC 何もVPCを指定しない場合にEC2が起動するVPC
インターネットゲートウェイ
Internet Gateway
IGW
インターネットとやり取りするための仮想的なゲートウェイ
VPCルータ ルートテーブルに基づいたルーティング
NATゲートウェイ プライベートセグメントのサーバがインターネットに出る時に利用する
ただ、注意点として、全てのプライベートのサーバがインターネットにでれるようになってしまう。
AWSのベストプラクティスでは、これが正しいのか??
費用も月5000円くらい。
仮想プライベートゲートウェイ
Virtual Private GateWay
VGW
オフィスやデータセンターなどのオンプレミスとVPN接続するための仮想ルータ
Direct Connectのエンドポイント
1つのVPCに1つのVGWのみ可能
カスタマーゲートウェイ
Customer Gateway
CGW
オンプレ側のVPN接続エンドポイントとなるデバイス
ファイアウォールやルータ
ルートテーブル ルーティング情報
各サブネットに1つ設定
Elastic IP アカウントに紐づけられている固定のパブリックIP
EC2インスタンスに割り当て可能
Elastic ネットワークインターフェース
Elastic Network Interface
ENI
EC2インスタンス毎に仮想ネットワークインターフェースを複数持てる
エンドポイント aws cliやAmazon Linuxのyumはインターネット経由でアクセスしないといけないですが、
エンドポイントを作成することで、AWSの内部経由でアクセスできるようになります。
詳細は、AWS VPC エンドポイントとは。設定手順・利用手順


Security GroupとNetwork ACLの比較

Security Group

  • EC2に設定します
  • 許可しか設定できない(拒否ができない)
  • ステートフルなファイアウォールです
  • メインに使うユーザが多い。
  • 一般的には、OutはAnyで許可し、Inをどのネットワークからどのポートかを絞る。

Network ACL

  • Network ACLは、VPCやサブネットに設定します。
  • ステートレスなファイアウォールです。
  • デフォルトでは、インバンドも、アウトバンドも全て許可です。
  • デフォルトの全て許可のままで、Network ACLで制御していないことも多いです。
  • サブネット毎に設定する。
  • サブネットにつき1つ
  • Security Groupの補助
  • 拒否ルールが必要な時に利用する。
    例えば、このIPからのアクセスは拒否。
利用例
  • サブネットにNetwork ACLを適用して、AZ1とAZ2を疎通させないようにする。


VPC ピアリング(Peering)で、別アカウントのEC2と接続

  • 同じAWSアカウントでも、異なるAWSアカウントのVPCを接続可能
  • 異なるリージョンのVPCを接続可能(東京リージョンとシンガポールリージョン)
注意点
  • CIDRブロックが一致・重複するVPC間のピアリングはできません。
VPC Peeringできる例: 
    VPC  10.0.0.0/16  と  VPC  10.1.0.0/16



「VPC Peering」で1対1でピアリングするのではなく、「AWS Transit Gateway」だとハブ&スポークで接続できます。
参照 AWS Transit Gateway(TGW)で、AWS VPC間やオンプレを接続する

ピアリングの手順概要

  1. VPCで、ピアリング接続を作成します。
  2. 依頼を受けたVPCで、「リクエストの承諾」をします。
  3. ルートテーブルで、他のVPCのセグメントに接続したい場合は、他のVPCのpeering connectionを指定するようにします。
  4. セキュリティグループも許可しましょう。


IP設計の例

Default-VPC

Network : vpc-xxxxxx (172.31.0.0/16)(default)
Subnet  : subnet-xxxx(172.31.0.0/20) | Default in ap-northeast-1a
          subnet-xxxx(172.31.16.0/20) | Default in ap-northeast-1a
          4091 IP Addresses available

勉強用には、/16(/24で256セグメント)もいらないので、/21(/24で8セグメント)くらいで十分。

VPC 192.168.0.0/16  (192.168.0.0 - 192.168.255.255)
  Subnet1  公開用サブネット 192.168.1.0/24 (256 IP)   Availability Zone 1
  Subnet2  社内用サブネット 192.168.2.0/24 (256 IP)   Availability Zone 2
VPC 192.168.200.0/22  (192.168.200.0 - 192.168.203.255)
  Subnet1  公開用サブネット 192.168.200.0/24 (256 IP)   Availability Zone 1
  Subnet2  社内用サブネット 192.168.201.0/24 (256 IP)   Availability Zone 2
VPC 192.168.200.0/21  (192.168.200.0 - 192.168.207.255)
  Subnet1  公開用サブネット 192.168.200.0/24 (256 IP)   Availability Zone 1
  Subnet2  社内用サブネット 192.168.201.0/24 (256 IP)   Availability Zone 2
VPC 10.0.0.0/16  (10.0.0.0 - 10.0.255.255)
  Subnet1  公開用サブネット 10.0.1.0/24 (256 IP)   Availability Zone 1
  Subnet2  社内用サブネット 10.0.2.0/24 (256 IP)   Availability Zone 2


参考パワーポイント

参考

aws/vpc/index.html.txt · 最終更新: 2023/07/23 01:47 by 52.167.144.85

ページ用ツール