クラウドのルートテーブルとセキュリティ制御とは?通信経路と許可・拒否を図解

当ページのリンクには広告が含まれています。
ネットワーク上級編 33/全70記事

この記事は、 「ネットワーク上級編|要件定義・設計・クラウド・自動化へ進む」 の第33回です。

第4章では、クラウド上の仮想ネットワーク、ルーティング、 セキュリティ、ロードバランサー、オンプレミス接続などを学びます。

NETWORK ADVANCED|CHAPTER 4 CLOUD NETWORK

クラウドのルートテーブルとセキュリティ制御とは?通信経路と許可・拒否を図解

クラウド上でサーバー同士が通信するには、 「どこへ転送するか」を決めるルーティングと、 「その通信を通してよいか」を判断するセキュリティ制御の両方が必要です。 この記事では、ルートテーブルとSecurity Group・NSG・Firewall・ACLなどの役割を整理し、 クラウド通信を設計・切り分けるための考え方を解説します。

対象レベル Level 3〜4・上級
想定読了時間 約25分
身につく成果 クラウド通信の経路と許可条件を設計できる
前提知識 仮想ネットワーク・サブネット
演習環境 ブラウザ・紙・Excel等

クラウドで「サーバーへ接続できない」という問題が発生したとき、 セキュリティ設定だけを確認しても原因が見つからないことがあります。

逆に、ルートテーブルに正しい経路が登録されていても、 セキュリティルールで通信が拒否されていれば接続できません。

重要なのは、 「経路が存在すること」と「通信が許可されていること」は別の条件 だと理解することです。

この記事を読み終えるとできること

  • クラウドのルートテーブルの役割を説明できる
  • 宛先ネットワークとNext Hopの関係を説明できる
  • 最長一致による経路選択を判断できる
  • ルーティングとセキュリティ制御を区別できる
  • ステートフルとステートレスの違いを説明できる
  • 通信できない場合の確認順序を整理できる
  • 3層構成の通信許可ルールを設計できる
  • AWS・Azure・Google Cloudの用語を対応付けられる

ルートテーブルとセキュリティ制御とは

最初に覚える考え方

ルートテーブルは「どこへ送るか」を決め、 セキュリティ制御は「その通信を通してよいか」を決めます。

オンプレミスのルーターでは、 ルーティングテーブルを見て宛先ネットワークへのNext Hopを判断します。

クラウドでも基本的な考え方は同じです。 仮想ネットワーク内にはルーティング機能が存在し、 宛先IPアドレスに応じて通信を適切な方向へ転送します。

ただしクラウドでは、 ルーティングとは別にSecurity Group、Network Security Group、 Firewall Rule、Network ACLなどの仮想的なセキュリティ制御が組み合わされます。

クラウド通信が成立するための2つの判断

① 宛先を確認
Destination IP
② 経路を確認
Route Table
③ 通信許可を確認
Security Rule

「ルートがある=通信できる」ではありません。

通信経路が存在しても、ファイアウォールやセキュリティルールで拒否されれば通信できません。 反対にセキュリティルールで許可していても、宛先への経路がなければパケットは届きません。

オンプレミスとクラウドで変わらない基本

確認項目 オンプレミス クラウド
送信元 PC・サーバー・ネットワーク機器 VM・コンテナ・クラウドサービスなど
宛先 IPアドレス・ネットワーク IPアドレス・CIDR・サービスなど
経路選択 ルーティングテーブル クラウドのルート・ルートテーブル
通信許可 ACL・Firewall Security Group・NSG・Firewall Ruleなど
確認方法 showコマンド・ログ 管理画面・CLI・API・Flow Logなど

ルートテーブルの基本

ルートテーブルには、 「どの宛先へ通信するとき、どこへ転送するのか」 が登録されています。

基本的には次の2つをセットで確認します。

1

Destination

宛先となるIPアドレスまたはネットワークです。

例: 10.20.0.0/16

2

Next Hop / Target

その宛先へ向かうために、 次にパケットを転送する対象です。

VPN Gateway、Internet Gateway、 Firewall、Virtual Applianceなどが指定される場合があります。

ルートテーブルの例

Destination Next Hop / Target 意味
10.10.0.0/16 Local / Virtual Network 同じ仮想ネットワーク内の通信
10.20.0.0/16 VPN Gateway オンプレミス側ネットワークへ送る
172.16.0.0/16 Virtual Firewall 別ネットワークへの通信をFirewall経由にする
0.0.0.0/0 Internet Gateway / NAT / Firewall その他の宛先へのデフォルト経路

実際のNext Hopの名称や選択肢はクラウドサービスによって異なります。

重要なのは製品名を暗記することではなく、 「この宛先へのパケットを、次にどこへ渡すのか」 と考えることです。

サブネットとの関連付けを確認する

ルートテーブルを作成しただけでは、 期待した通信に使用されない場合があります。

実務では、 どのサブネット・ネットワーク・インターフェースなどに そのルーティング設定が適用されるのか を確認する必要があります。

「ルートテーブルの中身は正しいのに通信できない」 という障害では、 そもそも対象サブネットへ正しいルートテーブルが関連付いていない ことがあります。

クラウドでも重要な最長一致

ルーティングを理解するうえで、 中級編で学んだ Longest Prefix Match(最長一致) はクラウドでも重要です。

複数のルートが宛先IPアドレスに一致する場合、 より具体的なネットワークを示すルートが優先されます。

例:宛先が10.20.1.50の場合

Destination Next Hop 一致
0.0.0.0/0 Internet 一致する
10.0.0.0/8 Firewall-A 一致する
10.20.0.0/16 VPN Gateway 一致する
10.20.1.0/24 Firewall-B 最も具体的

この場合、 10.20.1.0/24 が最も長いプレフィックスなので、 Firewall-B側のルートが選択されます。

トラブルシューティングでは、 「目的のルートが存在するか」だけでなく、 それより具体的な別ルートが存在していないか も確認します。

セキュリティ制御の基本

ルーティングによって通信経路が決まった後も、 そのパケットが必ず通過できるとは限りません。

クラウドでは複数の場所でセキュリティ制御が行われることがあります。

リソース単位

VMやネットワークインターフェースなどに対して、 送受信できる通信を制御します。

サブネット単位

サブネットへ入る通信・出る通信をまとめて制御します。

Firewall経由

仮想Firewallへ通信を集約し、 ポリシーに基づいて許可・拒否します。

セキュリティルールで確認する主な情報

項目 意味
Direction 受信・送信のどちらか Inbound / Outbound
Source 通信元 10.10.1.0/24
Destination 通信先 10.10.2.10
Protocol 通信プロトコル TCP / UDP / ICMP
Port 対象ポート TCP 443
Action 処理 Allow / Deny

最小権限で考える

セキュリティ設計では、 「とりあえず全部許可する」のではなく、 業務に必要な通信だけを許可する ことが基本です。

たとえばWebサーバーからDBサーバーへTCP 3306だけが必要なら、 Webサーバー用セグメントからDBサーバーのTCP 3306だけを許可します。

0.0.0.0/0から管理ポートを許可する設計には注意が必要です。

SSH、RDP、管理画面などは、 管理端末、踏み台サーバー、VPN経由など、 必要な接続元へ限定する設計を検討します。

ステートフルとステートレス

クラウドのセキュリティ制御を理解するときに重要なのが、 ステートフルステートレスの違いです。

ステートフル

通信の状態を追跡し、 許可した通信に対する応答パケットを 同じ通信として扱います。

一般的には、 往路を許可すれば戻り通信を個別に許可しなくても セッションの応答として扱える場合があります。

ステートレス

パケットを個別に判断します。

往路を許可しただけでは不十分で、 復路についてもルールを検討する必要があります。

項目 ステートフル ステートレス
通信状態 追跡する 基本的に追跡しない
戻り通信 セッションとして考慮される 個別ルールの確認が必要
設計 比較的シンプル 往路・復路を意識する
用途例 リソースへのアクセス制御 サブネット境界の追加制御など

サービス名だけで判断せず、 利用しているクラウドサービスの公式仕様で 「どの単位に適用されるか」「ステートフルか」「ルール評価順序はどうか」 を確認してください。

3層構成で通信の流れを考える

ここでは企業システムでよく使われる Web・Application・Databaseの3層構成を例に考えます。

3層クラウドネットワークの通信イメージ

Internet 利用者
Load Balancer HTTPS 443
Web / App Private Subnet
Database DB Subnet

必要な通信を先に整理する

送信元 宛先 通信 必要性
Internet Load Balancer TCP 443 必要
Load Balancer Web/App TCP 8080 必要
Web/App Database TCP 3306 必要
Internet Database Any 不要
一般利用者端末 Database TCP 3306 原則不要

このように、 まず通信要件を表にしてからセキュリティルールへ落とし込む と設計しやすくなります。

ルートとセキュリティを分けて確認する

ルーティング設計

  • Web/AppからDatabaseへ到達できるか
  • Internet向け通信のNext Hopは何か
  • オンプレミス向け経路はどこへ送るか
  • Firewallを経由させる必要があるか

セキュリティ設計

  • 誰から誰への通信を許可するか
  • どのプロトコル・ポートを許可するか
  • 管理通信をどこから許可するか
  • 不要な横方向通信を遮断するか

インターネット接続とルートテーブル

クラウド上のサーバーからインターネットへ通信するときは、 単に 0.0.0.0/0 のルートを設定すればよいとは限りません。

通信方向やサーバー公開要件に応じて、 Internet Gateway、NAT機能、Firewall、Proxyなどを組み合わせます。

インターネットから直接受信する場合

外部から公開サービスへ接続

Internet
Internet Edge Gateway / LBなど
公開サービス HTTPSなど

公開するサービスでは、 インターネットとの経路だけでなく、 パブリックIPやロードバランサー、 セキュリティルールなど複数条件を確認します。

プライベートサーバーから外部へ出る場合

Private Subnetからのインターネットアクセス

Private VM
NAT / Firewall
Internet

OSアップデートや外部API利用など、 「外から直接接続されたくないが、サーバー側からインターネットへ通信したい」 という要件ではNAT機能などを利用する構成があります。

「Public Subnet」「Private Subnet」という名称だけで判断しないことが重要です。

実際にどこへルーティングされ、 どのアドレス変換やGatewayを使用し、 どのセキュリティルールが適用されるかを確認します。

AWS・Azure・Google Cloudでは何が違うのか

各クラウドで名称や適用単位は異なりますが、 基本的な役割へ分解すると理解しやすくなります。

役割 AWS Azure Google Cloud
仮想ネットワーク VPC Virtual Network VPC Network
経路制御 Route Table System Route / Route Table・UDR VPC Routes
主なリソース通信制御 Security Group Network Security Group VPC Firewall Rules / Firewall Policy
追加の境界制御例 Network ACL NSG・Firewall等を設計に応じて利用 Firewall Policy等

各サービスは完全に同じ機能ではありません。 「AWSのSecurity Group=AzureのNSG」と機械的に置き換えるのではなく、 適用単位、評価方法、ステート管理、優先順位、既定ルール を個別に確認してください。

サービス名ではなく役割で覚える

Route

どこへ送るか

Firewall

通してよいか

NAT

アドレスをどう変換するか

Load Balancer

どのバックエンドへ振り分けるか

ルートテーブルとセキュリティ制御を設計する判断基準

実務では、 いきなり管理画面からルートやSecurity Groupを作成するのではなく、 通信要件を整理してから設定へ落とし込みます。

  1. 通信元を決める どのシステム・サブネット・利用者から通信するのかを整理します。
  2. 通信先を決める Web、DB、インターネット、オンプレミス、別VPCなど宛先を整理します。
  3. プロトコル・ポートを確認する TCP 443、TCP 22、UDP 53など必要な通信条件を確認します。
  4. 通信経路を設計する Local、VPN、専用線、Firewall、NAT、InternetなどNext Hopを決めます。
  5. セキュリティ境界を決める どの単位で通信を許可・拒否するのかを決めます。
  6. 戻り通信を確認する ステートフル・ステートレスの違いや非対称ルーティングを考慮します。
  7. ログ・監視を設計する 通信できないときに追跡できるよう、Flow LogやFirewall Logなどを検討します。

通信要件表を成果物にする

No. 送信元 宛先 Protocol Port Route Security
1 Internet Web-LB TCP 443 Internet Edge Allow
2 Web DB TCP 3306 VPC内部 Allow
3 Admin Web TCP 22 VPN経由 Allow

この表を作ると、 ルーティング設計・Firewall設計・試験項目を関連付けやすくなります。

クラウドで通信できないときの確認順序

クラウドネットワークでは設定箇所が多いため、 行き当たりばったりに確認すると時間がかかります。

次の順序で分解すると効率的です。

  1. 送信元・宛先IPを確認する 想定しているIPアドレスへ通信しているか確認します。
  2. サブネットを確認する 送信元と宛先がどの仮想ネットワーク・サブネットに所属しているか確認します。
  3. ルートテーブルを確認する 宛先へのルートが存在し、期待したNext Hopが選ばれるか確認します。
  4. ルートの適用先を確認する 正しいサブネット・リソースへルーティング設定が適用されているか確認します。
  5. セキュリティルールを確認する Source、Destination、Protocol、Port、Directionを確認します。
  6. Firewall・NAT・Gatewayを確認する 経路上にある中継サービスの状態とポリシーを確認します。
  7. OS側を確認する サーバー内Firewall、Listenポート、アプリケーション状態も確認します。
  8. ログで事実を確認する Flow LogやFirewall Logなどから、許可・拒否・到達状況を確認します。

通信障害の基本切り分け

IP 送信元・宛先
Route 経路
Security 許可・拒否
Service OS・アプリ

「ネットワーク障害」と決めつけず、最後はサーバー側まで確認します。

ルートもセキュリティルールも正常でも、 アプリケーションがポートをListenしていなければ接続できません。

ルートテーブルとセキュリティ制御でよくある設計ミス

1.ルートだけ設定する

正しい経路を設定したことで通信できると思い込み、 Security GroupやFirewallを確認していないケースです。

2.Security Ruleだけ設定する

TCP 443を許可していても、 宛先ネットワークへのルートがなければ通信できません。

3.0.0.0.0/0を安易に使う

経路・セキュリティルールともに範囲を広げすぎると、 意図しない通信を許可する原因になります。

4.戻り経路を確認しない

往路だけ到達できても、 戻りパケットが別経路へ流れると通信が成立しない場合があります。

5.Firewall経由を片方向だけ考える

ステートフルなFirewallを経由する構成では、 往復通信が適切に同じ検査経路を通るか確認します。

6.関連付けを確認しない

正しいRoute TableやSecurity Policyを作成しても、 対象サブネットへ適用されていなければ意味がありません。

クラウドではGUI上で設定が作成できるため、 「作成した=適用された」 と誤認しやすい点に注意してください。

顧客・上司へどう説明するか

技術に詳しくない相手へ、 Route Table、Security Group、Network ACLなどの名称をそのまま並べても 伝わりにくいことがあります。

その場合は、 道路と入館許可 に置き換えると説明しやすくなります。

Route Table

「目的地までどの道路を使うかを決める案内表」 と説明できます。

Security Rule

「目的地まで道路があっても、 入館許可がなければ建物には入れない」 と説明できます。

説明例

「クラウド上では、サーバー間の通信経路とアクセス許可を別々に管理します。 ルートテーブルで通信をどこへ送るかを決め、 セキュリティルールで必要な通信だけを許可します。 そのため、WebサーバーからDBへの必要な通信は通しつつ、 インターネットからDBへの直接アクセスは許可しない設計にできます。」

上級工程では、 「Security Groupを設定しました」で終わらず、 どの業務通信を守るために、なぜその制御が必要なのか まで説明できることが重要です。

ルートテーブルとセキュリティ制御で使われる英語表現

英語 意味
Route Table ルートテーブル
Destination 宛先
Next Hop 次の転送先
Target 転送先・対象
Longest Prefix Match 最長一致
Inbound Traffic 受信通信
Outbound Traffic 送信通信
Allow / Deny 許可 / 拒否
Stateful 通信状態を追跡する方式
Stateless 各パケットを個別に判断する方式

障害調査で使える表現

Please check whether a route to 10.20.0.0/16 exists. 10.20.0.0/16へのルートが存在するか確認してください。 The traffic is being denied by the security rule. 通信はセキュリティルールによって拒否されています。 Please verify the return route. 戻り経路を確認してください。 The subnet is associated with the wrong route table. サブネットに誤ったルートテーブルが関連付けられています。 HTTPS traffic is allowed only from the load balancer. HTTPS通信はロードバランサーからのみ許可されています。

理解度チェック

次の問題に答えて、 ルーティングとセキュリティ制御の違いを確認してください。

問題1.ルートテーブルの主な役割はどれですか。

  1. ユーザーを認証する
  2. 宛先に応じてパケットの転送先を決める
  3. サーバーを自動で増やす
  4. データを暗号化する
解答を見る
正解:B

ルートテーブルは宛先ネットワークを確認し、 パケットをどこへ転送するかを決めます。

問題2.宛先10.20.1.50に対して 10.0.0.0/8、10.20.0.0/16、10.20.1.0/24がある場合、 基本的にどのルートが最も具体的ですか。

解答を見る
正解:10.20.1.0/24

最長一致では、 宛先IPアドレスに一致するルートの中から 最も長いプレフィックスが選択されます。

問題3.ルートテーブルに正しい経路が存在していれば、 必ず通信できますか。

解答を見る
正解:できるとは限りません。

Security Group、NSG、Firewall、ACL、 OS側Firewallなどで通信が拒否される可能性があります。

問題4.ステートレスな制御で特に意識する必要があるものは何ですか。

解答を見る
正解:往路と復路の両方です。

パケットを個別に評価するため、 戻り通信についても必要なルールを確認します。

問題5.WebサーバーからDBサーバーへTCP 3306だけ必要です。 適切な基本方針はどれですか。

  1. 全通信を許可する
  2. インターネット全体からTCP 3306を許可する
  3. 必要なWebサーバー側からDBのTCP 3306だけを許可する
  4. ルートを削除する
解答を見る
正解:C

必要な通信元・宛先・プロトコル・ポートへ限定する 最小権限の考え方が基本です。

実践演習:クラウドの通信経路と許可ルールを設計する

次のクラウドネットワークを設計するとします。

演習構成

Internet
Load Balancer 10.0.1.10
App Server 10.0.2.10
DB Server 10.0.3.10

要件

  • 利用者はInternetからHTTPSでサービスを利用する
  • Load BalancerからApp ServerへTCP 8080で接続する
  • App ServerからDB ServerへTCP 3306で接続する
  • DB ServerをInternetから直接公開しない
  • 管理者はVPN経由でApp ServerへSSH接続する

課題1.必要な通信を整理する

次の表を完成させてください。

送信元 宛先 Protocol Port
Internet Load Balancer ____ ____
Load Balancer App Server ____ ____
App Server DB Server ____ ____
VPN管理ネットワーク App Server ____ ____
課題1の解答を見る
送信元 宛先 Protocol Port
Internet Load Balancer TCP 443
Load Balancer App Server TCP 8080
App Server DB Server TCP 3306
VPN管理ネットワーク App Server TCP 22

課題2.DB Serverのセキュリティルールを考える

DB Serverへ許可すべき通信元とポートを書いてください。

送信元:______________
Protocol:______
Port:______
課題2の解答例を見る

送信元:App ServerまたはApp Server用セキュリティグループ

Protocol:TCP

Port:3306

Internet全体やWeb利用者ネットワークから DBへ直接接続する必要はありません。

課題3.障害を切り分ける

App ServerからDB Serverへ接続できません。 DB Server側ではTCP 3306が許可されています。

次に何を確認しますか。 3つ以上挙げてください。

1.____________________
2.____________________
3.____________________
課題3の解答例を見る
  • App ServerからDB Serverへのルートが存在するか
  • 正しいルートテーブルが対象サブネットへ適用されているか
  • App Server側のOutbound通信が許可されているか
  • 途中のFirewallやACLで拒否されていないか
  • 戻り経路が存在するか
  • DB ServerのOS FirewallでTCP 3306が許可されているか
  • DBサービスが実際にTCP 3306でListenしているか

課題4.設計理由を顧客へ説明する

「なぜDB Serverをインターネットから直接アクセスできないようにするのですか?」 と顧客から質問されました。

ここに30〜60秒程度の説明を書いてみましょう。
説明例を見る

DBサーバーは一般利用者が直接アクセスする必要がなく、 アプリケーションサーバーからのDB通信だけが必要です。 そのため、インターネットからDBへ直接到達できる経路や許可ルールを設けず、 必要なサーバーから必要なポートだけを許可します。 これにより、外部からDBへ直接攻撃される範囲を減らし、 必要な業務通信だけを許可できます。

自分の言葉で説明する課題

「クラウドのルートテーブルとセキュリティルールは何が違うのですか?」 と後輩から質問されました。

30秒程度で説明してください。

ルートテーブルは________________________。
セキュリティルールは______________________。
説明例を見る

ルートテーブルは、宛先IPアドレスを見て パケットをどこへ送るかを決める設定です。 一方、セキュリティルールは、 その通信を許可するか拒否するかを決めます。 そのためクラウド通信では、 「経路があること」と「通信が許可されていること」の両方を確認する必要があります。

まとめ

  • ルートテーブルは、 宛先ネットワークに応じてパケットの転送先を決める
  • セキュリティ制御は、 通信元・宛先・プロトコル・ポートなどをもとに 通信を許可・拒否する
  • ルートが存在していても、 セキュリティルールで拒否されていれば通信できない
  • セキュリティルールで許可されていても、 宛先への経路がなければ通信できない
  • 複数のルートが一致する場合は、 最長一致を意識する
  • ステートフルとステートレスでは、 戻り通信の考え方が異なる
  • クラウドごとにサービス名は異なるため、 Route・Firewall・NATなど 役割へ分解して理解する
  • 障害時は IP → Route → Security → Firewall/NAT → OS・Application の順番で確認すると整理しやすい

クラウドネットワーク設計では、 「どこへ通信させるか」と「どの通信を許可するか」を 分けて考えることが重要です。

次の記事:ロードバランサーの基本

今回は、 クラウドネットワークの通信経路とセキュリティ制御について学びました。

次の記事では、 複数のサーバーへ通信を振り分ける ロードバランサー の役割を解説します。

L4・L7の違い、 ヘルスチェック、 バックエンドサーバーへの振り分け、 冗長化との関係などを整理します。

ネットワーク上級編 33/全70記事

第4章では、クラウドネットワークの基本から、 サブネット、ルーティング、ロードバランサー、NAT Gateway、 VPN、専用線、DNS、障害切り分けまでを順番に学びます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次