Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
AWSとオンプレミスを繋ぐときに知ってお
きたいルーティングの知識

(シスコ認定インストラクター監修!)

トレノケート株式会社

AWS認定インストラクター

金井 仁 (かないじん)

2021.3.20 (Sat.)

自己紹介

トレノケート株式会社

技術教育エンジニア

金井 仁(かないじん)

● ネットワークエンジニア出身

○ SIerにてNW設計、構築、提案など担当

○ ファイアーウォール、ロードバランサー

○ Openflow / VyOS

● 近年はクラウド、インフラ自動化など対応

○ docker / Kubernetes / Ansible

○ Git /Python

● 好きなAWSのサービス

○ Amazon S3

・ネットワークスペシャリスト

・Python 3 エンジニア認定基礎試験

トレノケート紹介

皆様、ルーティング、意識してますか?

https://archive.interop.jp/2018/images/shownet/shownet_topology.pdf
本日お話する内容

● オンプレミスが出てくると急に複雑になるネットワークの話のうち、
ルーティングについてお話いたします ^ ^

○ AS / BGP など

○ オンプレミスと冗長接続するときに必要なBGPの知識

● 以下はお話いたしませんm(_ _)m

○ AWS上での設定方法、サービスの紹介

○ オンプレミス上のルータの設定方法、コンフィグなど

○ IPv6について

まずは押さえておきたいキーワードから

経路情報 / ルーティング / ルーティングテーブル

・ネクストホップ ≒ ターゲットパケット
の送り先
・ルート伝播
後述
● ルーティング・・・経路情報を使ってパケットを送信先まで届けること

● ルーティングテーブル・・・経路情報の一覧表(ルートテーブルと同義)

ルーティングテーブルには経路情
報を適用するサブネットが紐付く
・経路情報(ルート情報)
送信先にパケットを送るためには、次どこに送ればいいか
● ロンゲストマッチ(最長プレフィックス一致)・・・基本的にこれが最優先

○ 複数の経路情報が該当する場合、プレフィックス長が最長のものを使用













● (おまけ)デフォルトルート (0.0.0.0/0)

○ プレフィックス長がゼロ = 最も優先度が低い

○ 他のルータに丸投げしたいときに使う(インターネットような膨大な送信先があるとか)

○ デフォルトルートのネクストホップがデフォルトゲートウェイ

重要キーワード:ロンゲストマッチ

● あるポリシーのもとに構成されたネットワークのこと

○ 企業、ISP、学術組織、などなど 

○ 同一管理下にあり一貫した運用ポリシーおよび経路制御ポリシーを持つ、 インターネットに接続されるネットワーク@JPNIC

● インターネット = ASがルータでたくさん繋がったもの 

○ インターネットを構成しているのはパブリックAS

● ASN(AS Number / AS番号)が1つ割り当てられる

○ 2バイトもしくは4バイト(0から4294967295)

○ IANAが管理、日本はJPNICが管理

● プライベートASも利用可能(インターネット接続不可)


○ ASNが64512~65534 と 4200000000~4294967294

○ プライベートIPアドレスと同じ(IANA管理外)

重要キーワード:AS (Autonomous System / 自律システム)

ルータ
ルータ
ルータ
AWSとオンプレミスを繋ぐときに必要なASの知識

● VGW / TGW / DirectConnect(DX)のVIFを設定するときにASNが必要 

● AWS側ASN・・・基本的にプライベートASNを利用 

○ AWSは設定されたASNの検証をしていない 

○ VIFはパブリックASNも設定可 

● オンプレミス側ASN・・・パブリック / プライベートどちらのASNも利用可能 

○ DXのパブリック接続でプライベートASNが利用可能 

● ASNは基本的に重複させない 

○ VGW / TGW / オンプレミスルータで別のASNを利用する 

○ DXGW経由の場合は、VGWとオンプレミス側のASNが一緒でもよい 

ダイナミックルーティングとBGP

ルーティングテーブルを作成する方法

● スタティックルーティング(静的ルーティング)

○ CLIやGUIでポチポチと手動で経路情報を設定すること

○ 数が少なければ手動でOK

● ダイナミックルーティング(動的ルーティング)

○ 数が多くなるとしんどいので、ルータに自動で作成してもらう

○ 例えばインターネット

■ IPv4ルートの数・・・849514 routes(3/20 8:03am時点)

■ ルータの数・・・わからない(すごい数)

ダイナミックルーティングとは

● 各ルータがベストパスを決定してルーティングテーブルを作成

● ルーティングテーブル作成に必要な情報を他ルータに広告

● ネットワークの変更時にルーティングテーブルを自動更新

● IGPとEGPがある

○ IGP(Interior Gateway Preotocol)・・・ AS内のルートを決める

■ RIP / OSPF / EIGRP などなど 

■ (主に)ブロードキャスト・マルチキャスト で経路情報を交換(1:多の通信) 

○ EGP(Exterior Gateway Protocol)・・・ AS間のルートを決める

■ 現状BGP一択

■ ユニキャストで経路情報を交換(1:1の通信) 

★ブロードキャスト・マルチキャストは AWSのネットワークを流れない  → IGPは利用できない
※Transit Gatewayはマルチキャストに対応
BGP (Border Gateway Protocol)

BGP4+ / MP-BGP (Multiprotocol Extensions for Border Gateway Protocol 4)

● AS間で経路情報を交換するために使われる

○ なのでASNの設定が必須

● ルータ同士をユニキャストで直接接続(ピアリング)する

○ TCP/179を使用

● 経路制御ポリシーを他ASに伝えやすい

○ 自ASへはこのルータを使ってください、など

○ 経路情報に含まれるパス属性(後述)で制御

● eBGPとiBGPがある

○ eBGP・・・他ASとのBGP接続

○ iBGP・・・自AS内とのBGP接続

AWS with BGP できること・制約

● オンプレミスとAWSの経路情報が自動で同期

○ 冗長構成の場合、障害時の経路切替も自動 

○ AWS側ルートテーブルの「ルート伝播(RoutePropergation)」を有効にする必要がある 

● DirectConnectのルーティング設定はBGPのみ

○ スタティックルート設定ができない 

○ サイト間VPNでは、静的・動的(BGP)が選択可能 

● 広告できる経路情報は100個まで

○ DirectConnect / サイト間VPNのどちらも 

○ 100個を超える経路情報を広告しようとするとBGPセッションが停止(リセット) 

オンプレミスとの接続を冗長化するとき

冗長構成の場合は経路の優先順位を考慮

1. ロンゲストマッチが最強

2. VGW上では、DXがサイト間VPNより優先(BGPで制御不可)

3. サイト間VPNでは、スタティックルートがBGPより優先

4. BGPでの制御は、パス属性で制御(後述)

  ※ただしオンプレミス側からのみ

172.16.0.0/25 via
CGW2
172.16.0.0/24 via
CGW1
BGPパス属性について

● ルーティングテーブルに載せる経路情報(ベストパス)を決める要素

○ 送信先ネットワーク(NLRI)と一緒にBGPピアに広告

● AWS with BGPでよく使うパス属性

○ LOCAL_PREF (Local Preference、LP)属性  ※iBGP内でのみ有効。AWS側で設定不可

■ (対向ASと複数の経路がある場合)他ASへパケットを出すルータを指定 

○ AS_PATH 属性

■ 送信先にたどり着くまでに、自分を含めどのASを通るか 

■ 少ないと送信先までの距離が近いことになる=ベストパスになる(ならないこともある) 

■ わざと増やして経路を使わせない手法もある(AS_PATH prepend) 

○ MED (Multi-Exit-Discriminator、めど)属性

■ (対向ASと複数の経路がある場合)自ASへのパケットの入り口を指定 

※BGP的に重要なパス属性(ORIGIN,NEXT_HOPなど)はありますが割愛します
m(_ _)m
経路制御とパス属性の関係

LocalPreference属性に
より、AWSへはこのルータ
を使用
MED値が低いため、
オンプレミスへはこのルー
タ(VIF)を使用
10.10.10.0/24
AS_PATH 65001
MED 100
10.10.10.0/24
AS_PATH 65001
MED 200
● 【重要】VGWはBGPの設定ができないのでオンプレミス側から制御

● LP属性・・・オンプレミス→AWSの経路を制御

● MED属性・・・AWS→オンプレミスの経路を制御

他にもまだある、覚えておきたい用語

● BFD (Bidirectional Forwarding Detection)

○ 対向装置と数100ms単位でパケットを交換して生存確認する


○ BGPの障害検知速度を上げるのに使われる


○ VGWは、対向がBFDを利用したら自動で機能する


● ECMP (Equal Cost Multi Path)

○ 同じ送信先への経路を複数個、ルーティングテーブルに乗せる


○ ロードバランスして回線を効率よく利用できる


○ 行き通信と戻り通信の経路が異なる
非対称ルーティングに注意

■ VGWおよびDirectConnectでは通信可能 

■ VPN用のFirewallでは注意 

まとめ

● ロンゲストマッチ最強

● AWSでダイナミックルーティング使うならBGP

● 冗長化しなければ難しいこと考えなくてOK

● VGWはルーティングテーブルもBGP情報も確認不可。オンプレミス側のルー
ティングで制御

● 重要なBGPパス属性・・・LocalPreference / AS_PATH / MEDを覚えておこう

ご清聴ありがとうございました


More Related Content

AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)