本ブログにはプロモーションが含まれております。

AWS

【初心者必見】AWSVPCのルートテーブルとACLの違いとは

スポンサーリンク

AWSのVPCを勉強をしていたときに、ルートテーブルとACLの違いがわからず困惑してしまいました。ネットワークの知識もろくに無いままAWSを勉強していると、このような壁にしばしば当たりますよね。しかし、壁に当たったときこそ勉強するチャンスです。

今回は、AWSVPCのルートテーブルとACLの違いについて、初心者の方向けに分かりやすくお伝えしようと思います。どちらもVPCにおいて必ず必要なものなので、覚えておきたいです。

ルートテーブルとは

ルートテーブルは、「通信の経路(ルート)を表(テーブル)にまとめたもの」です。

ルートテーブルが何たるかを分かりやすく理解するために、まずはなぜルートテーブルが必要になるのかを考えます。VPC仮想ネットワークの作成からたどってみます。

VPC作成から読み解くルートテーブル

AWSのVPCを勉強していると、本でも動画でも必ず次の通りに要素が作成されていくと思います。

  1. VPCの作成
  2. パブリックサブネットとプライベートサブネットの作成
  3. インターネットゲートウェイの作成
  4. ルートテーブルの作成
  5. (以降省略)

この流れを追っていくと、ルートテーブルの役割が見えてきます。まずはじめにVPCの作成で、全ての土台となる仮想ネットワークが作成されます。

その後、ネットワークをサブネットに分割します。公開するネットワークであるパブリックサブネットと、非公開にするプライベートサブネットです。よくある分かりやすい例として、パブリックは公開だからWebサーバ、プライベートは非公開で直接アクセス不可のDB置き場、といったたとえ話があります。

さて、次にインターネットゲートウェイを設定します。今までは閉じた世界でしたが、めでたく外の世界とつながる門が完成したので、外部のインターネットに接続することができるはずです。

しかし、「外の世界に繋がる門が完成した」と言われても、サブネットの住民は誰も「門までどうやっていくのか」をわかっていない状態です。門への行き方(ルート)を知らないのです。

そこで登場するのが、ルートテーブルになります。ルートテーブルは、サブネットの住民がサブネットの外と通信する際の経路(ルート)を表形式でまとめてくれた(テーブル)ものです。

送信先ターゲット
172.30.0.0/16local
0.0.0.0/0IGW

サブネットの住民は、ルートテーブルに従ってサブネットから出ることができます。(※0.0.0.0/0は全ての通信を指します)

AWSでは、サブネットごとにルートテーブルを作成してあげる必要がありますので、例えばプライベートサーバには、パブリックサーバやNATゲートウェイへのルーティングが示されたルートテーブルが必要になることでしょう。

以上がルートテーブルの説明になります。

ACL(アクセスコントロールリスト)とは

ACL(アクセスコントロールリスト)とは、「アクセスを制御するリスト」です。サブネットに関して、許可するアクセスと拒否するアクセスをリスト化した、セキュリティの設定になります。

例えば以下の表の場合、ポート80を通る全てのHTTP通信が拒否され、ポート443を通る全てのHTTPS通信が許可されています。どちらにも当てはまらない通信は許可されています。

タイププロトコルポート送信元許可/拒否
HTTPTCP800.0.0.0/0DENY
HTTPSTCP4430.0.0.0/0ALLOW
全て全て全て0.0.0.0/0ALLOW

この場合、サブネットにあるEC2に対してHTTPでアクセスした場合はエラーになりますが、HTTPS通信でアクセスすれば通ります。このように、どんな種類のアクセスを許可/拒否するか、というリストがACLになります。

ルートテーブルとACLの違い

ここまで読んでいただけたらおわかりのように、2つは似て非なるものです。

ルートテーブルACL
通信の行き先を指定通信の許可/拒否を指定

このような違いがあります。AWSで表だけ見ていると同じように見えてしまいますが、しっかり並べてみると意外とさがありますね。

まとめ

AWSVPCのルートテーブルとACLの違いについてご紹介しました。

  • ルートテーブル: どこを通るか
  • ACL: 通すか通さないか

といった違いがあります。最後までお読みいただきありがとうございました。

スポンサーリンク

-AWS
-, , , ,

© 2024 教職志望だった文系エンジニア Powered by AFFINGER5