「AWSのVPCについて、概要、接続に知りたい。」
このような疑問に対して、筆者が業務で使用するためにAWS VPCについて調べた内容メモをご紹介いたします。メモベースですので、分かりにくい箇所があるかも知れません。ご容赦ください。
この記事で分かること
- VPC (Amazon Virtual Private Cloud)の概要
- CIDRとは
- VPCの設計ポイント
- VPCとの接続
参考情報
>>【公式】Amazon ドキュメント VPC
>> Amazon VPC とは?
VPC (Amazon Virtual Private Cloud)の概要
-
Virtual Private Cloud (VPC)
- 任意のIPアドレス範囲を選択し、ネットワークを構築
- サブネットの作成、ルートテーブルやネットワークゲートウェイの設定など仮想ネットワーキング環境を完全に制御可能
- 必要に応じてクラウド内外のネットワーク同士を接続することも可能
- 複数の接続オプションが利用可能
-インターネット経由
-VPN/専用線(Direct Connect)
VPCはAWSクラウド内に論理的に分離されたセクションを作り、ユーザーが定義した仮想ネットワークを構築するサービス
—
-
Virtual Private Cloud (VPC)
- 単一のVPCを構築すると、単一AZの範囲に設定される
—
-
Virtual Private Cloud (VPC)
- 同一リージョン内では、VPCは複数のAZにリソースを含めることが可能
—
-
サブネットとVPC
- VPCとサブネットの組み合わせでネットワーク空間を構築する。VPCはサブネットとのセットが必須
—
-
VPC設定手順
- CIDR方式でアドレスレンジを選択
- AZのサブネットを選択
- インターネット経路を選択
- VPCへのトラフィック許可を設定
—
CIDRとは
CIDR
CIDRに/16を設定した際に設定可能となるサブネット数とIPアドレス数の組合せ(AWS管理IPの5つを引いたもの)
サブネットマスク | サブネット数 | サブネットあたりのIPアドレス数 |
/18 | 4 | 16379 |
/20 | 16 | 4091 |
/22 | 64 | 1019 |
/24 | 256 | 251 |
/26 | 1024 | 59 |
/28 | 4096 | 11 |
—
-
CIDR
既に利用されていいるなどして設定できないアドレス
ホストアドレス | 用途 |
.0 | ネットワークアドレス |
.1 | VPCルータ |
.2 | Amazonが提供するDNSサービス |
.3 | AWSで予約されているアドレス |
.255 | ブロードキャストアドレス |
—
サブネット
- パブリックサブネット:トラフィックがインターネットゲートウェイにルーティングされるサブネット
- プライベートサブネット:インターネットへゲートウェイへのルートがないサブネット
—
サブネット
- サブネットはVPC内に複数設置でき、:プライベートとパブリックに分かれる
- VPCあたりのサブネット作成上限数はデフォルト200個
- インターネットアクセス範囲を定義するために使用
—
-
CIDRの付与
VPCとサブネットにはCIDR(IPアドレス範囲)が付与され、識別される
—
-
VPCにサブネットを設定
- VPCにCIDR/16を設定し、サブネットに/24の設定を推奨
—
VPCとの接続
-
VPC外部接続
- パブリックサブネットからインターネットに接続するにはインターネットゲートウェイが必要
- プライベートサブネットからインターネットに接続するには、NATゲートウェイがパブリックサブネットが必要
-
VPC外部接続
- VPCの外側にあるリソースとの通信には、パブリックのAWSネットワークかエンドポイントを利用する
—
-
インターネット経路を設定
- ルートテーブルでパケットの行先を設定
- VPC作成時にデフォルトで1つルートテーブルを作成
- VPC内はCIDRアドレスでルーティング
ルートテーブルとCIDRアドレスでルーティングを設定
—
-
VPCトラフィック設定
トラフィック設定はセキュリティグループまたは、ネットワークACLを利用する
セキュリティグループ設定 | ネットワークACL設定 |
・ステートフル:戻りトラフィックの考慮がいらない ・サーバー単位で適用 ・許可のみをIN/OUTで指定 ・デフォルトでは同じセキュリティグループ内 通信のみ許可 ・必要な通信は許可設定が必要 ・すべてのルールを適用 |
・ステートレス:戻りトラフィックも 許可が必要 ・サブネット単位で適用 ・許可と拒否をIN/OUT ・デフォルトでは全ての送信元IPを許可 ・番号の順序通りに適用 |
—
VPCの設計ポイント
- 設計時には将来の拡張もみすえたアドレッシングや他ネットワークとの接続性も考慮する
- CIDRは既存のVPC、社内のDCやオフィスと被らないアドレス対を設定し、組織構成やシステム構成の将来像も考えながら前もって計画する
- VPC構成は自社業務に合わせたVPC単体ではなくVPC全体の関係性も視野に入れる
- 組織とシステム境界からVPCをどのように分割するか将来構成も考慮してけんとうする
- 複数AZを利用して可用性の高いシステムを構築
- サブネットは大きいサブネットを使い、パブリック/プライベートサブネットへのリソースの配置をインターネットアクセス可否から検討する
- セキュリティグループを使ってリソース間のトラフィックを適切に制御する
- 実装や運用を補助するツールも有効利用し、VPC Flow Logsを使ってモニタリングできるようにする
—
-
IPアドレスとサブネットマスク
- IPアドレスは10進数の3桁(0-255) * 4つの組み合わせで、各桁が8桁の2進数の集合を表す。1つ目を第1オクテット、2つ目を第2オクテット、3つ目を第3オクテット、4つ目を第4オクテットともいう。
表記方法 | 10.0.0.255 | |
10進数/2進数 | 10進数 | 2進数 |
第1オクテット | 10 | 00001010 |
第2オクテット | 0 | 00000000 |
第3オクテット | 0 | 00000000 |
第4オクテット | 255 | 11111111 |
—
-
IPアドレスとサブネットマスク
- サブネットマスクはIPアドレス表記の後ろに「/数値」で記載される
表記方法 | 10.0.0.255/24 |
—
-
CIDR (Classless Inter-Domain Routing)
- サブネットマスクの値を設定し、同じネットワークとして扱うIPアドレスの個数を調整できるIPアドレスの設定方法
「/」から前のアドレス部分を 10進数での表記した場合 |
196.51.***.***/16 | |
「/」から前のアドレス部分を 2進数での表記した場合 |
11000100.00110011.********.********/16 | |
/16をサブネットといい、2進数で数えて、 左から16桁目までが同じネットワーク範囲であることを表す |
—
CIDR
IPアドレスの範囲は今後の拡張も踏まえて、十分な余裕がありつつ、多すぎないレンジを指定する
10.0.0.255/16
推奨レンジ
(655,534アドレス)
—
VPCとの接続
-
VPCとのオンプレミス接続
- VPN接続
- 専用線接続(Direct connect)
—
-
Direct Connect
- 安価なアウトバウンドトラフィック料金
- ネットワーク信頼性の向上
- ネットワーク帯域幅の向上
お客様のデータセンターやオフィスを専用線などを介してAWSへプライベートに接続するサービス
【Direct Connectのメリット】
—
-
Direct Connect
- Direct Connectロケーションに物理的に自社オンプレ環境を接続することでAWS環境との専用線接続を実現する
- Direct Connect gatewayにより、同一アカウントに所属する複数リージョンの複数AZから複数リージョンの複数VPCに接続
-
VPNとのDirect Connect
- VPNの方が安く素早く利用できるが、信頼性や品質は専用線が勝る
VPN | 専用線 | |
コスト |
安価なベストエフォート 回線が有利 |
キャリアの専用線サービス契約が 必要となりVPNより割高 |
リードタイム |
クラウド上での接続設定 で可能なので、即時 |
物理的対応が必要なため数週間 |
帯域幅 |
暗号化のオーバーヘッドにより 制限がある |
ポートあたり1G/10Gbps |
品質 |
インターネット経由のため ネットワーク状態の影響を受ける |
キャリアにょり高い品質が 保証される |
障害切り分け |
インターネットベースのため 自社で保持している以外の確認は 難しい |
物理的に経路が確保されているため 比較的容易 |
—
-
VPNエンドポイント
- VPNエンドポイントはグローバルIPを持つAWSサービスに対して、VPC内から直接アクセスするための出口
- GateWay型はサブネットに特殊なルーティングを設定し、VPC内部から直接外のサービスと通信する
- PrivateLink型はサブネットにエンドポイント用のプライベートIPアドレスを生成しm、DNSが名前解決でルーティングする
—
-
VPC Flow Logs
- ネットワークインターフェースを送信元/送信先とするトラフィックが対象
- セキュリティグループとネットワークACLのルールでaccepted/rejectされたトラフィックログを取得
- キャプチャウィンドウと言われる時間枠(約10分間)で収集・プロセッシング・保存する
- RDS・Redshift・ElasticCache、WorkSpacesのネットワークインターフェーストラフィックも取得可能
- 追加料金はなし
ネットワークトラフィックを取得し、CloudWatchでモニタリングできるようにする機能
—
-
VPC Flow Logs
- ネットワークインターフェースを送信元/送信先とするトラフィックが対象
- セキュリティグループとネットワークACLのルールでaccepted/rejectされたトラフィックログを取得
- キャプチャウィンドウと言われる時間枠(約10分間)で収集・プロセッシング・保存する
- RDS・Redshift・ElasticCache、WorkSpacesのネットワークインターフェーストラフィックも取得可能
- 追加料金はなし
ネットワークトラフィックを取得し、CloudWatchでモニタリングできるようにする機能
—
-
VPCの設定上限
- VPCの各種設定においては上限数があるため、大規模に利用する場合は考慮する必要がある
リソース | 数 |
リージョンあたりのVPCの上限数 | 5 |
VPCあたりのサブネットの上限数 | 200 |
AWSアカウントあたりの1リージョン内のElasticIP数 | 5 |
ルートテーブルあたりのルート上限数 | 100 |
VPCあたりのセキュリティグループの上限数 | 500 |
セキュリティグループあたりのルールの上限数 | 50 |
—
-
VPCを分割するケース
- アプリケーションによる分割
- 監査のスコープによる分割
- リスクレベルによる分割
- 本番/検証/開発フェーズによる分割
- 部署による分割 共通サービスの切り出し
アプリサービスや組織構成などの用途に応じてVPCを分割する
—
-
VPC Peearing
- 異なるAWSアカウント間のVPC間をピア接続可能
- 一部のリージョン間の異なるVPC間のピア接続も可能
- 単一障害点や帯域幅のボトルネックは存在しない
VPC Peearingにより2つのVPC間でのトラフィックルーティングが可能
—
-
VPC設計
- パブリックサブネットとプライベートサブネットを作る
- パブリックサブネット側にWEBサーバを、プライベートサブネット側にDBサーバーをたてる
- セキュリティグループとルートテーブルで設定を行う
- NAT Gatewayを設置してプライベートサブネットからインターネットへのアクセスを可能にする
- ネットワークACLによるアクセス制御を追加する
—
VPC Flow Logs
VPC Flow logsの特徴
- ネットワークインターフェースを送信元、送信先とするトラフィックが対象
- 機能自体には追加料金は発生しない
- キャプチャウィンドウと言われる時間枠(約10分間)で収集、プロセッシング、保存する
- セキュリティグループだけではなく、ネットワークACLのルールも対象となる
—
Elastic IPとPublic IP
-
Elastic IP
- インスタンスにアタッチ/デタッチが可能で、静的なインターネットと通信することができるIPアドレス
- インスタンスが再起動・停止・終了した場合も同じIPアドレス
—
参考にさせていただいたページ
>> 【公式】AWS ドキュメント
>> AWSチャンネル
>> Acrovision > 技術記事 >AWS
>> これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)
まとめ
本記事では「AWSのVPCについて、VPCとは?概要、接続方法について知りたい・・・」このような疑問に対して、筆者が業務で使用するためにAWS VPCについて調べた内容メモをご紹介いたします。メモベースですので、分かりにくい箇所があるかも知れません。ご容赦ください。
この記事で分かること
- VPC (Amazon Virtual Private Cloud)の概要
- CIDRとは
- VPCとの接続
- VPCの設計ポイント
なお、筆者がAWSソリューションアーキテクト アソシエイトの試験対策についてまとめた記事がありますので、ご紹介します。
【AWS SAA関連記事】
>> 【第1回】AWSソリューションアーキテクトアソシエイト勉強法/初心者が最短合格するための学習方法
>> 【第2回】AWSソリューションアーキテクトアソシエイト勉強法/主な学習トピックとポイント
本記事がお役に立てば幸いです。