目次
本記事ではEC2でWindows Server 2025を一台用意し、PowerShellのNetTCPIPモジュールのコマンドレットを利用してルートテーブルを確認していきます。
ドキュメント
今回用意した環境について
- Windows_Server-2025-Japanese-Full-Base-2025.03.12(ami-056bc012e638ed630)
- PowerShell 5.1.26100.2161
下記画像のような構成でPrivate subnetにWindows Serverを構築し、こちらにログインして確認していきます。
Privateサブネットに紐づくルートテーブル
今回はIPv4を対象にして確認する
AWSが提供するWindows ServerのAMIではVPCでIPv6を有効にしていなくても、ネットワークインターフェースの設定としてはIPv6が有効になっているため、Get-NetRoute
といったようにコマンドレットを実行するとIPv6の設定も表示されます。
ただ、今回EC2を構築したVPCについてはIPv6を有効にしていないIPv4のみの環境となっているため、IPv4の説明しか対象にしません。
このためコマンドレット実行時のパラメータとしてAddressFamily IPv4を付けて実行し、IPv4設定のみ表示するよう調整しています。
PowerShellでネットワークインターフェースについて確認してみる
Get-NetIPInterfaceでネットワークインターフェースの一覧
Get-NetIPInterface -AddressFamily IPv4
上記コマンドレットでネットワークインターフェースについて情報を取得できる。
ifIndexを見ると、ifIndexが1と6でインターフェースが登録されている事がわかります。
Get-NetIPAddressでIPアドレスの構成について
Get-NetIPAddress -AddressFamily IPv4
上記コマンドレットで各ネットワークインターフェースのIPアドレス構成については取得します。
10.10.10.7とlookback interfaceが登録されている事がわかります。
Get-NetRouteでルートテーブルの状態を確認
Get-NetRoute -AddressFamily IPv4
上記コマンドレットでルートテーブルの設定を取得できます
ifIndex DestinationPrefix NextHop RouteMetric ifMetric PolicyStore
------- ----------------- ------- ----------- -------- -----------
6 255.255.255.255/32 0.0.0.0 256 20 ActiveStore
1 255.255.255.255/32 0.0.0.0 256 75 ActiveStore
6 224.0.0.0/4 0.0.0.0 256 20 ActiveStore
1 224.0.0.0/4 0.0.0.0 256 75 ActiveStore
6 169.254.169.254/32 0.0.0.0 20 20 ActiveStore
6 169.254.169.253/32 0.0.0.0 20 20 ActiveStore
6 169.254.169.251/32 0.0.0.0 20 20 ActiveStore
6 169.254.169.250/32 0.0.0.0 20 20 ActiveStore
6 169.254.169.249/32 0.0.0.0 20 20 ActiveStore
6 169.254.169.123/32 0.0.0.0 20 20 ActiveStore
1 127.255.255.255/32 0.0.0.0 256 75 ActiveStore
1 127.0.0.1/32 0.0.0.0 256 75 ActiveStore
1 127.0.0.0/8 0.0.0.0 256 75 ActiveStore
6 10.10.10.255/32 0.0.0.0 256 20 ActiveStore
6 10.10.10.7/32 0.0.0.0 256 20 ActiveStore
6 10.10.10.0/24 0.0.0.0 256 20 ActiveStore
6 0.0.0.0/0 10.10.10.1 0 20 ActiveStore
DestinationPrefixを確認すると、それぞれ下記のように設定が確認できます。
255.255.255.255/32:ブロードキャストアドレス
224.0.0.0/4:マルチキャストアドレス
169.254.169.123:TimeServer
169.254.169.249:GRID license server
169.254.169.250:WindowsLicense
169.254.169.251:WindowsLicense
169.254.169.253:Amazon DNS server
169.254.169.254:Instance metadata
127.0.0.1/32:localhost
127.0.0.0/8:ループバックアドレス
10.10.10.255/32:ネットワークブロードキャストアドレス(AWSではサブネット最後のIPアドレスが予約)
10.10.10.7/32:自分自身
10.10.10.0/24:Privateサブネット内の通信
0.0.0.0/0:デフォルトルート。
デフォルトルートは10.10.10.1(vpcルーター)に向いており、それ以外がローカルサブネットに向いていました。
また169.254.169で始まるライセンス関係やNTP、メタデータアクセスのルートなども登録される事がわかります。
余談 EC2Launch v2の挙動
今回構築しているEC2インスタンスではインストールされていたEC2Launchのバージョンは v2(2.0.2081となっていました。
EC2Launch v2 では"C:\ProgramData\Amazon\EC2Launch\log\agent.log"にログが格納されており。
こちらのログを確認すると、OS起動時に下記画像のように169.254.169なDestinationをルートに追加しているのが確認できます。
EC2Launch v1 の場合は初期処理でStatic Routeに追加するので、構築した環境のEC2Launchのバージョンが違う場合はルートテーブルの登録が変わり、今回の例とは違った登録になる場合があります。
総評
本記事ではPowerShellのコマンドレットを利用して、EC2インスタンスのルートテーブルについて確認してみました。
PowerShellコマンドレットでは確認するだけでなく、編集することもできます。
編集については別記事で記載したいと思います。
- カテゴリー
- タグ