ルートテーブルの使用
このセクションでは、ルートテーブルを操作する方法について説明します。
内容
サブネット用のルートテーブルの決定
サブネットが関連付けられているルートテーブルを特定するには、Amazon VPC コンソールでサブネットの詳細を確認します。
サブネットのルートテーブルを決定するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで、[Subnets] (サブネット) を選択します。
-
サブネットを選択します。
-
[ルートテーブル] タブを選択すると、ルートテーブルとそのルートに関する情報が表示されます。関連付けがメインルートテーブルとのものか、また、その関連付けが明示的かどうかを特定する方法については、「明示的に関連付けられているサブネットまたはゲートウェイを特定する」を参照してください。
明示的に関連付けられているサブネットまたはゲートウェイを特定する
ルートテーブルに明示的に関連付けられているサブネットまたはゲートウェイとその数を特定できます。
メインルートテーブルは、サブネットとの明示的な関連付けと暗示的な関連付けを持つことができます。カスタムルートテーブルは、明示的な関連付けしか持つことができません。
どのルートテーブルにも明示的に関連付けられていないサブネットは、メインルートテーブルに暗示的に関連付けられています。メインルートテーブルには、サブネットを明示的に関連付けることができます。その理由の例については、「メインルートテーブルの置換」を参照してください。
コンソールを使用して明示的に関連付けられているサブネットを特定するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで、[Route tables] (ルートテーブル) を選択します。
[明示的なサブネットの関連付け] (Explicit subnet association) 列を確認して、明示的に関連付けられたサブネットを特定し、[メイン] (Main) 列を確認して、これがメインルートテーブルかどうかを判断します。
-
ルートテーブルを選択し、[サブネットの関連付け] (Subnet associations) タブを選択します。
-
[明示的なサブネットの関連付け] (Explicit subnet associations) の下のサブネットが、ルートテーブルに明示的に関連付けられています。[明示的な関連付けのないサブネット] (Subnets without explicit associations) の下のサブネットは、ルートテーブルと同じ VPC に属していますが、どのルートテーブルにも関連付けられていません。そのため、VPC のメインルートテーブルと暗黙的に関連付けられています。
コンソールを使用して明示的に関連付けられているゲートウェイを特定するには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで、[Route tables] (ルートテーブル) を選択します。
-
ルートテーブルを選択し、[Edge associations] (エッジの関連付け) タブを選択します。
コマンドラインを使用して 1 つ以上のルートテーブルを記述し、その関連付けを表示するには
-
describe-route-tables(AWS CLI)
-
Get-EC2RouteTable(AWS Tools for Windows PowerShell)
カスタムルートテーブルを作成する
Amazon VPC コンソールを使用して VPC のカスタムルートテーブルを作成できます。
コンソールを使用してカスタムルートテーブルを作成するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで、[Route tables] (ルートテーブル) を選択します。
-
[ルートテーブルの作成] を選択します。
-
(オプション) [Name] (名前) には、ルートテーブルの名前を入力します。
-
[VPC] で、ユーザーの VPC を選択します。
-
(オプション) タグを追加するには、[Add new tag] (新しいタグを追加) を選択し、タグキーとタグ値を入力します。
-
[ルートテーブルの作成] を選択します。
コマンドラインを使用してカスタムルートテーブルを作成するには
-
create-route-table(AWS CLI)
-
New-EC2RouteTable(AWS Tools for Windows PowerShell)
ルートテーブルのルートの追加と削除
ルートテーブルのルートは追加、削除、変更できます。変更できるのは、追加したルートのみです。
Site-to-Site VPN 接続の静的ルートの操作の詳細については、AWS Site-to-Site VPN ユーザーガイドの「Site-to-Site VPN 接続の静的ルートの編集」を参照してください。
コンソールを使用してルートテーブルのルートを更新するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
-
[アクション]、[ポリシーの編集] の順に選択します。
-
ルートを追加するには、[ルートの追加] を選択します。[送信先] に、送信先 CIDR ブロック、単一の IP アドレス、またはプレフィックスリストの ID を入力します。
-
ルートを変更するには、[Destination] (送信先) で、送信先 CIDR ブロックまたは単一の IP アドレスを置き換えます。[ターゲット] で、ターゲットを選択します。
-
ルートを削除するには、[Remove] (削除) を選択します。
-
[Save changes] (変更の保存) をクリックします。
コマンドラインを使用してルートテーブルのルートを更新するには
-
create-route(AWS CLI)
-
replace-route(AWS CLI)
-
delete-route(AWS CLI)
-
New-EC2Route(AWS Tools for Windows PowerShell)
-
Set-EC2Route(AWS Tools for Windows PowerShell)
-
Remove-EC2Route(AWS Tools for Windows PowerShell)
注記
コマンドラインツールまたは API を使用してルートを追加すると、送信先 CIDR ブロックは自動的に正規形式に変更されます。例えば、CIDR ブロックに 100.68.0.18/18
を指定した場合、送信先 CIDR ブロックが 100.68.0.0/18
であるルートが作成されます。
ルート伝達は有効または無効にできます。
ルート伝達は、仮想プライベートゲートウェイがルートテーブルにルートを自動的に伝達できるようにします。これは、VPN ルートを手動で追加または削除する必要がないことを意味します。
このプロセスを完了するには、仮想プライベートゲートウェイが必要です。
詳細については、「Site-to-Site VPN ユーザーガイド」の「Site-to-Site VPN のルーティングオプション」を参照してください。
コンソールを使用してルート伝達を有効にするには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
-
[アクション]、[Edit route propagation (ルート伝達を編集)] の順に選択します。
仮想プライベートゲートウェイの横にある [Enable] (有効化) チェックボックスをオンにし、[Save] (保存) を選択します。
コマンドラインを使用してルート伝達を有効にするには
-
enable-vgw-route-propagation(AWS CLI)
-
Enable-EC2VgwRoutePropagation(AWS Tools for Windows PowerShell)
コンソールを使用してルート伝達を無効にするには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
[アクション]、[Edit route propagation (ルート伝達を編集)] の順に選択します。
-
仮想プライベートゲートウェイの横にある [Enable] (有効化) チェックボックスをオフにしてから、[Save] (保存) を選択します。
コマンドラインを使用してルート伝達を無効にするには
-
disable-vgw-route-propagation(AWS CLI)
-
Disable-EC2VgwRoutePropagation(AWS Tools for Windows PowerShell)
サブネットをルートテーブルに関連付ける
ルートテーブルのルートを特定のサブネットに適用するには、ルートテーブルをサブネットに関連付ける必要があります。ルートテーブルは複数のサブネットに関連付けることができます。ただし、サブネットは一度に 1 つのルートテーブルにのみ関連付けることができます。どのテーブルにも明示的に関連付けられていないサブネットは、デフォルトでメインルートテーブルに暗示的に関連付けられています。
コンソールを使用してルートテーブルをサブネットに関連付けるには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
-
[Subnet Associations] (サブネットの関連付け) タブで、 [Edit subnet associations] (サブネットの関連付けの編集) を選択します。
-
ルートテーブルに関連付けるサブネットのチェックボックスをオンにします。
-
[Save associations] (関連付けを保存する) を選択します。
コマンドラインを使用してサブネットをルートテーブルに関連付けるには
-
associate-route-table(AWS CLI)
-
Register-EC2RouteTable(AWS Tools for Windows PowerShell)
サブネット用のルートテーブルの編集
サブネットのルートテーブルの関連付けを変更できます。
ルートテーブルを変更すると、変更後のルートテーブルに同じターゲットへの同じトラフィックのルートが含まれていない限り、サブネット内の既存の接続は削除されます。
コンソールを使用してサブネットとルートテーブルの関連付けを変更するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [Subnets] を選択し、サブネットを選択します。
-
[Route table] (ルートテーブル) タブから、[Edit route table association] (ルートテーブルの関連付けを編集) を選択します。
-
[Route table ID] (ルートテーブル ID) で、新しいルートテーブルを選択します。
-
[Save (保存)] を選択します。
コマンドラインを使用してサブネットに関連付けられたルートテーブルを変更するには
-
replace-route-table-association(AWS CLI)
-
Set-EC2RouteTableAssociation(AWS Tools for Windows PowerShell)
サブネットとルートテーブルの関連付けを解除する
サブネットとルートテーブルの関連付けを解除することができます。別のルートテーブルにサブネットを関連付けるまでは、メインルートテーブルに暗示的に関連付けられています。
コンソールを使用してサブネットとルートテーブルの関連付けを解除するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
-
[Subnet Associations] (サブネットの関連付け) タブから、[Edit subnet associations] (サブネットの関連付けの編集) を選択します。
-
サブネットのチェックボックスをオフにします。
-
[Save associations] (関連付けを保存する) を選択します。
コマンドラインを使用してサブネットとルートテーブルの関連付けを解除するには
-
disassociate-route-table(AWS CLI)
-
Unregister-EC2RouteTable(AWS Tools for Windows PowerShell)
メインルートテーブルの置換
VPC でメインルートテーブルを別のルートテーブルに変更できます。
コンソールを使用してメインルートテーブルを置き換えるには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [Route tables] (ルートテーブル) を選択してから、新しいメインルートテーブルを選択します。
-
[Actions] (アクション)、[Set main route table] (メインルートテーブルの設定) を順に選択します。
-
確認を求められたら、「
set
」と入力してから、[OK] を選択します。
コマンドラインを使用してメインルートテーブルを置き換えるには
-
replace-route-table-association(AWS CLI)
-
Set-EC2RouteTableAssociation(AWS Tools for Windows PowerShell)
次の手順では、サブネットとメインルートテーブルの間の明示的な関連付けを解除する方法について説明します。これにより、サブネットとメインルートテーブルが暗示的に関連付けられます。そのプロセスは、サブネットと任意のルートテーブルの関連付け解除と同じです。
メインルートテーブルとの明示的な関連付けを解除するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
-
[Subnet Associations] (サブネットの関連付け) タブから、[Edit subnet associations] (サブネットの関連付けの編集) を選択します。
-
サブネットのチェックボックスをオフにします。
-
[Save associations] (関連付けを保存する) を選択します。
ゲートウェイとルートテーブルの関連付け
インターネットゲートウェイまたは仮想プライベートゲートウェイをルートテーブルに関連付けることができます。詳細については、「ゲートウェイルートテーブル」を参照してください。
コンソールを使用してゲートウェイをルートテーブルに関連付けるには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
-
[Edge associations] (エッジの関連付け) タブから、[Edit edge associations] (Edge の関連付けを編集) を選択します。
-
ゲートウェイのチェックボックスをオンにします。
-
[Save changes] (変更の保存) をクリックします。
AWS CLI を使用してゲートウェイをルートテーブルに関連付けるには
[associate-route-table] コマンドを使用します。次の例では、インターネットゲートウェイ igw-11aa22bb33cc44dd1
をルートテーブル rtb-01234567890123456
に関連付けます。
aws ec2 associate-route-table --route-table-id rtb-01234567890123456 --gateway-id igw-11aa22bb33cc44dd1
ルートテーブルからゲートウェイの関連付けを解除する
インターネットゲートウェイまたは仮想プライベートゲートウェイをルートテーブルから関連付け解除できます。
コンソールを使用してゲートウェイをルートテーブルに関連付けるには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
-
[Edge associations] (エッジの関連付け) タブから、[Edit edge associations] (Edge の関連付けを編集) を選択します。
-
ゲートウェイのチェックボックスをオフにします。
-
[Save changes] (変更の保存) をクリックします。
コマンドラインを使用してゲートウェイとルートテーブルの関連付けを解除するには
-
disassociate-route-table(AWS CLI)
-
Unregister-EC2RouteTable(AWS Tools for Windows PowerShell)
ローカルルートのターゲットを置換または復元する
デフォルトのローカルルートのターゲットを変更できます。ローカルルートのターゲットを置き換えた場合は、後でデフォルトの local
ターゲットに戻すことができます。VPC に複数の CIDR ブロックがある場合、ルートテーブルには複数のローカルルートが、CIDR ブロックごとに 1 つあります。必要に応じて、各ローカルルートのターゲットを置き換えまたは復元できます。
コンソールを使用してローカルルートを更新するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
-
[Routes] (ルート) タブから、[Edit routes] (ルートの編集) を選択します。
-
ローカルルートの場合は、[Target] (ターゲット) をオフにしてから、新しいターゲットを選択します。
-
[Save changes] (変更の保存) をクリックします。
コンソールを使用してローカルルートのターゲットを復元するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
-
[アクション]、[ポリシーの編集] の順に選択します。
-
ルートの場合は、[Target] (ターゲット) をオフにしてから、[Local] (ローカル) を選択します。
-
[Save changes] (変更の保存) をクリックします。
AWS CLI を使用してローカルルートのターゲットを置き換えるには
[replace-route] コマンドを使用します。次の例では、ローカルルートのターゲットを eni-11223344556677889
に置き換えます 。
aws ec2 replace-route --route-table-id rtb-01234567890123456 --destination-cidr-block 10.0.0.0/16 --network-interface-id eni-11223344556677889
AWS CLI を使用してローカルルートのターゲットを復元するには
次の例では、ルートテーブル rtb-01234567890123456
のローカルターゲットを復元します。
aws ec2 replace-route --route-table-id rtb-01234567890123456 --destination-cidr-block 10.0.0.0/16 --local-target
ルートテーブルを削除する
ルートテーブルは、サブネットが関連付けられていない場合にのみ削除できます。メインルートテーブルを削除することはできません。
コンソールを使用してルートテーブルを削除するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [ルートテーブル] (Route tables) を選択して、ルートテーブルを選択します。
-
[Actions (アクション)]、[Delete route table (ルートテーブルの削除)] の順に選択します。
-
確認を求められたら、「
delete
」と入力してから、[Delete] (削除) を選択します。
コマンドラインを使用してルートテーブルを削除するには
-
delete-route-table(AWS CLI)
-
Remove-EC2RouteTable(AWS Tools for Windows PowerShell)