10.4. ネットワークインターフェースの参照
以下のセクションでは、ネットワークインターフェースの種別および各ネットワークインターフェースで使用されるパラメーターを定義します。
interface
単一のネットワークインターフェースを定義します。この設定では、実際のインターフェース名 (eth0、eth1、enp0s25) または番号付きのインターフェース (nic1、nic2、nic3) を使用して各インターフェースを定義します。
以下に例を示します。
- type: interface name: nic2
オプション | デフォルト | 説明 |
---|---|---|
name | インターフェース名 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | インターフェースに割り当てられる IP アドレスの一覧 | |
routes | インターフェースに割り当てられるルートの一覧。「routes」を参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
primary | False | プライマリーインターフェースとしてインターフェースを定義します。 |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
persist_mapping | False | システム名の代わりにデバイスのエイリアス設定を記述します。 |
dhclient_args | なし | DHCP クライアントに渡す引数 |
dns_servers | なし | インターフェースに使用する DNS サーバーの一覧 |
vlan
VLAN を定義します。parameters
セクションから渡された VLAN ID およびサブネットを使用します。
以下に例を示します。
- type: vlan vlan_id:{get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet}
オプション | デフォルト | 説明 |
---|---|---|
vlan_id | VLAN ID | |
device | VLAN の接続先となる親デバイス。VLAN が OVS ブリッジのメンバーではない場合に、このパラメーターを使用します。たとえば、このパラメーターを使用して、ボンディングされたインターフェースデバイスに VLAN を接続します。 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | VLAN に割り当てられる IP アドレスの一覧 | |
routes | VLAN に割り当てられるルートの一覧。「routes」を参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
primary | False | プライマリーインターフェースとして VLAN を定義します。 |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
persist_mapping | False | システム名の代わりにデバイスのエイリアス設定を記述します。 |
dhclient_args | なし | DHCP クライアントに渡す引数 |
dns_servers | なし | VLAN に使用する DNS サーバーの一覧 |
ovs_bond
Open vSwitch で、複数の インターフェース
を結合するボンディングを定義します。これにより、冗長性や帯域幅が向上します。
以下に例を示します。
- type: ovs_bond name: bond1 members: - type: interface name: nic2 - type: interface name: nic3
オプション | デフォルト | 説明 |
---|---|---|
name | ボンディング名 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | ボンディングに割り当てられる IP アドレスの一覧 | |
routes | ボンディングに割り当てられるルートの一覧。「routes」を参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
primary | False | プライマリーインターフェースとしてインターフェースを定義します。 |
members | ボンディングで使用するインターフェースオブジェクトの一覧 | |
ovs_options | ボンディング作成時に OVS に渡すオプションのセット | |
ovs_extra | ボンディングのネットワーク設定ファイルで OVS_EXTRA パラメーターとして設定するオプションのセット | |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
persist_mapping | False | システム名の代わりにデバイスのエイリアス設定を記述します。 |
dhclient_args | なし | DHCP クライアントに渡す引数 |
dns_servers | なし | ボンディングに使用する DNS サーバーの一覧 |
ovs_bridge
Open vSwitch で、複数の interface
、ovs_bond
、vlan
オブジェクトを接続するブリッジを定義します。外部のブリッジは、パラメーターに 2 つの特殊な値も使用します。
-
bridge_name
: 外部ブリッジ名に置き換えます。 -
interface_name
: 外部インターフェースに置き換えます。
以下に例を示します。
- type: ovs_bridge name: bridge_name addresses: - ip_netmask: list_join: - / - - {get_param: ControlPlaneIp} - {get_param: ControlPlaneSubnetCidr} members: - type: interface name: interface_name - type: vlan device: bridge_name vlan_id: {get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet}
OVS ブリッジは、設定データを取得するために Neutron サーバーに接続します。OpenStack の制御トラフィック (通常はコントロールプレーンと Internal API のネットワーク) が OVS ブリッジに配置されると、OVS がアップグレードされたり、管理ユーザーやプロセスによって OVS ブリッジが再起動されたりする度に、Neutron サーバーへの接続が失われます。これにより、ダウンタイムが生じます。このような状況でダウンタイムが許されない場合には、コントロールグループのネットワークを OVS ブリッジではなく別のインターフェースまたはボンディングに配置すべきです。
- Internal API ネットワークをプロビジョニングインターフェース上の VLAN 上に配置し、OVS ブリッジを 2 番目のインターフェースに配置すると、最小の設定にすることができます。
- ボンディングを使用する場合には、最小で 2 つのボンディング (4 つのネットワークインターフェース) が必要です。コントロールグループは Linux ボンディング (Linux ブリッジ) に配置すべきです。PXE ブート用のシングルインターフェースへの LACP フォールバックをスイッチがサポートしていない場合には、このソリューションには少なくとも 5 つの NIC が必要となります。
オプション | デフォルト | 説明 |
---|---|---|
name | ブリッジ名 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | ブリッジに割り当てられる IP アドレスの一覧 | |
routes | ブリッジに割り当てられるルートの一覧。「routes」を参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
members | ブリッジで使用するインターフェース、VLAN、ボンディングオブジェクトの一覧 | |
ovs_options | ブリッジ作成時に OVS に渡すオプションのセット | |
ovs_extra | ブリッジのネットワーク設定ファイルで OVS_EXTRA パラメーターとして設定するオプションのセット | |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
persist_mapping | False | システム名の代わりにデバイスのエイリアス設定を記述します。 |
dhclient_args | なし | DHCP クライアントに渡す引数 |
dns_servers | なし | ブリッジに使用する DNS サーバーの一覧 |
linux_bond
複数の インターフェース
を結合する Linux ボンディングを定義します。これにより、冗長性や帯域幅が向上します。bonding_options
パラメーターには、カーネルベースのボンディングオプションを指定するようにしてください。
以下に例を示します。
- type: linux_bond name: bond1 members: - type: interface name: nic2 primary: true - type: interface name: nic3 bonding_options: "mode=802.3ad"
nic2
が primary: true
と設定されている点に注意してください。これにより、ボンディングが必ず nic2
の MAC アドレスを使用するようになります。
オプション | デフォルト | 説明 |
---|---|---|
name | ボンディング名 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | ボンディングに割り当てられる IP アドレスの一覧 | |
routes | ボンディングに割り当てられるルートの一覧。「routes」を参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
primary | False | プライマリーインターフェースとしてインターフェースを定義します。 |
members | ボンディングで使用するインターフェースオブジェクトの一覧 | |
bonding_options | ボンディングを作成する際のオプションのセット | |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
persist_mapping | False | システム名の代わりにデバイスのエイリアス設定を記述します。 |
dhclient_args | なし | DHCP クライアントに渡す引数 |
dns_servers | なし | ボンディングに使用する DNS サーバーの一覧 |
linux_bridge
複数の interface
、linux_bond
、vlan
オブジェクトを接続する Linux ブリッジを定義します。外部のブリッジは、パラメーターに 2 つの特殊な値も使用します。
-
bridge_name
: 外部ブリッジ名に置き換えます。 -
interface_name
: 外部インターフェースに置き換えます。
以下に例を示します。
- type: linux_bridge name: bridge_name addresses: - ip_netmask: list_join: - / - - {get_param: ControlPlaneIp} - {get_param: ControlPlaneSubnetCidr} members: - type: interface name: interface_name - type: vlan device: bridge_name vlan_id: {get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet}
オプション | デフォルト | 説明 |
---|---|---|
name | ブリッジ名 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | ブリッジに割り当てられる IP アドレスの一覧 | |
routes | ブリッジに割り当てられるルートの一覧。「routes」を参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
members | ブリッジで使用するインターフェース、VLAN、ボンディングオブジェクトの一覧 | |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
persist_mapping | False | システム名の代わりにデバイスのエイリアス設定を記述します。 |
dhclient_args | なし | DHCP クライアントに渡す引数 |
dns_servers | なし | ブリッジに使用する DNS サーバーの一覧 |
routes
ネットワークインターフェース、VLAN、ブリッジ、またはボンディングに適用するルートの一覧を定義します。
以下に例を示します。
- type: interface name: nic2 ... routes: - ip_netmask: 10.1.2.0/24 default: true next_hop: get_param: EC2MetadataIp
オプション | デフォルト | 説明 |
---|---|---|
ip_netmask | なし | 接続先ネットワークの IP およびネットマスク |
default | False |
このルートをデフォルトルートに設定します。 |
next_hop | なし | 接続先ネットワークに到達するのに使用するルーターの IP アドレス |