VPCは、Virtual Private Cloudの略で、AWSで利用するプライベート・ネットワークセグメントのことです。
ホストアドレス | 用途 |
---|---|
.0 | ネットワークアドレス |
.1 | VPCルータ |
.2 | Amazonが提供するDNSサービス |
.3 | AWSで予約 |
.255 | ブロードキャストアドレス |
リージョンの中にVPCを作ります。
例では、東京リージョンに、本番用VPC(Production)、ステージング用VPC(Staging)、開発用VPC(Dev)を作っています。
(1)リージョンを選択
(2)VPCを作る
(3)VPCを選択して、その中にサブネットを作る。サブネットを作る際に、AZを指定する
サブネット | サーバ例 | ルートテーブル | 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セグメント全て |
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 エンドポイントとは。設定手順・利用手順 |
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間やオンプレを接続する
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