シナリオ: Linux Bridge を使ったプロバイダーネットワーク構成

シナリオ: Linux Bridge を使ったプロバイダーネットワーク構成

このシナリオでは、ML2 プラグインで Linux Bridge を使った OpenStack Networking サービスのプロバイダーネットワークの実装について説明します。

一般に、プロバイダーネットワークは、自由度を犠牲にしますが、単純さ、性能、信頼性を実現します。他のシナリオと違い、管理者だけがプロバイダーネットワークを管理できます。プロバイダーネットワークは物理ネットワーク基盤の設定も必要とするからです。また、インスタンスに対するレイヤー 2 の接続性のみを扱うため、プロバイダーネットワークには Fixed IP アドレスと Floating IP アドレスという概念がありません。

多くの場合、レイヤー 2、レイヤー 3 その他のサービスを物理ネットワーク基盤に依存した仮想ネットワークアーキテクチャーにすでに使っているオペレーターであれば、そのまま途切れなく OpenStack Networking サービスを導入できます。特に、このシナリオは、 Compute のネットワークサービス (nova-net) から OpenStack Networking サービスに移行しようと考えているオペレーターには魅力的です。この最小限の環境に、徐々に他のクラウドネットワークの機能を導入していくこともできます。

OpenStack Networking に DVR が導入される前は、すべてのネットワークトラフィックは 1 台以上の専用のネットワークノードを経由し、性能と信頼性に限界がありました。物理ネットワーク基盤は、一般的には、ソフトウェアで様々なネットワーク操作を行う汎用サーバーに比べると、高い性能と信頼性を持ちます。

一般には、 レイヤー 3 操作を行う OpenStack Networking のソフトウェアコンポーネントは、最も性能と信頼性に影響を与えるコンポーネントです。性能と信頼性を向上させるため、プロバイダーネットワークでは、レイヤー 3 操作を物理ネットワーク基盤に移しています。

ある特定のユースケースでは、従来の仮想化とベアメタルホストが混在する、かなり大きな物理ネットワーク基盤を使った環境に、 OpenStack 環境があります。 OpenStack 環境内で動作するアプリケーションが OpenStack 環境外のアプリケーションに直接レイヤー 2 (通常は VLAN を使用) でのアクセスが必要な場合があります。

Open vSwitch (OVS) を使ったプロバイダーネットワークと違い、このシナリオではLinux 自身のネットワークサービスを

この設定例では、 VLAN プロバイダーネットワークを作成しますが、 フラット (タグなし、素の) プロバイダーネットワークもサポートされています。

前提

この前提は、このシナリオをデプロイするのに必要な最低限の物理インフラと OpenStack サービスの依存関係を記載しています。例えば、Networking サービスは Identity サービスに直接依存しており、Compute サービスは Networking サービスに直接依存しています。 Networking サービスは Image サービスに直接は依存していないので、これらの依存関係には Image サービスなどのサービスは含まれていません。 しかしながら、 Compute サービスはインスタンスを起動するために Image サービスに依存しています。このシナリオの設定例では、 Networking サービスコンポーネントの基本的な設定に関する知識を前提にしています。

説明のため、管理ネットワークは 10.0.0.0/24 を、プロバイダーネットワークは 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 を使用します。

インフラストラクチャー

  1. 1 台のコントローラーノード。ネットワークインターフェースは 2 つ: 管理ネットワークとプロバイダーネットワーク。プロバイダーインターフェースは通常のネットワークに接続され、外部ネットワーク (通常はインターネット) へのスイッチングやルーティングは物理ネットワーク基盤により行われます。

  2. 最低 2 台のコンピュートノード。ネットワークインターフェースは 2 つ: 管理ネットワークとプロバイダーネットワーク。プロバイダーインターフェースは汎用のネットワークに接続され、外部ネットワーク (通常はインターネット) へのスイッチングやルーティングは物理ネットワーク基盤により行われます。

Hardware layout Network layout Service layout

OpenStack サービス - コントローラーノード

  1. neutron データベースがある SQL サーバーと neutron.conf ファイルの適切な設定。

  2. メッセージキューサービスと neutron.conf ファイルの適切な設定。

  3. OpenStack Identity サービスと neutron.conf ファイルの適切な設定。

  4. OpenStack Compute コントローラー/管理サービスと nova.conf ファイルの適切な設定。

  5. Neutron サーバーサービス、ML2 プラグイン、Linux ブリッジエージェント、DHCP エージェントと依存サービス。

OpenStack サービス - コンピュートノード

  1. OpenStack Identity サービスと neutron.conf ファイルの適切な設定。

  2. OpenStack Compute コントローラー/管理サービスと nova.conf ファイルの適切な設定。

  3. ML2 プラグイン、Linux ブリッジエージェント、DHCP エージェントと依存サービス。

アーキテクチャー

汎用のプロバイダーネットワークアーキテクチャーでは、物理ネットワーク基盤を使って、ネットワークトラフィックのスイッチングとルーティングが行われます。

Architecture overview

コントローラーノードは、以下のネットワークコンポーネントを持ちます。

  1. Linux ブリッジエージェント。仮想スイッチ、仮想スイッチ間の接続性、および仮想ポート経由での名前空間、物理インターフェースなどの他のネットワークコンポーネントとのやり取りを管理します。

  2. DHCP エージェント。qdhcp 名前空間を管理します。 qdhcp 名前空間はプロバイダーネットワークを使用するインスタンスに対して DHCP サービスを提供します。

Controller node components - overview Controller node components - connectivity

注釈

説明のため、図には 2 つの別のプロバイダーネットワークが書かれています。

コンピュートノードは、以下のネットワークコンポーネントを持ちます。

  1. Linux ブリッジエージェント。仮想スイッチ、仮想スイッチ間の接続性、および仮想ポート経由での名前空間、セキュリティーグループ、物理インターフェースなどの他のネットワークコンポーネントとのやり取りを管理します。

Compute node components - overview Compute node components - connectivity

注釈

説明のため、図には 2 つの別のプロバイダーネットワークが書かれています。

パケットフロー

注釈

north-south ネットワークトラフィックは、インスタンスと外部ネットワーク (通常はインターネット) 間の通信です。 easy-west ネットワークトラフィックは、インスタンス間の通信です。

ケース 1: north-south

物理ネットワーク基盤が、プロバイダーネットワークと外部ネットワーク間の、ルーティングや潜在的には他のサービスも処理します。この場合、 プロバイダー外部 の違いは、前者がインスタンスが利用できるネットワークであり、後者はルーター経由でのみアクセスできるネットワークであるという点だけです。物理ネットワーク基盤がルーティングを行います。ただし、プロバイダーネットワークは、インターネットなどの 外部 ネットワークへの直接接続にも対応しています。

  • 外部ネットワーク

    • ネットワーク 203.0.113.0/24

  • プロバイダーネットワーク (VLAN)

    • ネットワーク 192.0.2.0/24

    • ゲートウェイ 192.0.2.1 (MAC アドレスは TG)

  • コンピュートノード 1

    • インスタンス 1 192.0.2.11 (MAC アドレスは I1)

  • インスタンス 1 はコンピュートノード 1 上にあり、プロバイダーネットワークを使用します。

  • インスタンスが外部ネットワーク上のホストにパケットを送信します。

以下の手順は、コンピュートノード 1 に関係します。

  1. インスタンス 1 の tap インターフェース (1) はパケットをプロバイダーブリッジ qbr に転送します。宛先は別のネットワーク上にあるので、パケットの宛先 MAC アドレスは TG です。

  2. プロバイダーブリッジ qbr 上のセキュリティーグループルール (2) で、このパケットに対するファイアウォールと状態追跡 (state tracking) が行われます。

  3. プロバイダーブリッジ qbr は、パケットを論理 VLAN インターフェース device.sid に転送します。 device は物理 プロバイダーインターフェースで、 sid はプロバイダーネットワークの segmentation ID です。

  4. 論理 VLAN インターフェース device.sid は、パケットを物理プロバイダーインターフェース経由で物理ネットワークに転送します。

以下の手順は、物理ネットワーク環境に関係します。

  1. スイッチ (3) は、プロバイダーネットワークとルーター (4) 間のあらゆる VLAN タグ操作を行います。

  2. ルーター (4) は、パケットをプロバイダーネットワークから外部ネットワークへルーティングします。

  3. スイッチ (3) は、ルーター (4) と外部ネットワーク間のあらゆる VLAN タグ操作を行います。

  4. スイッチ(3)は、外部ネットワークへパケットを転送します

注釈

戻りのトラフィックは、同様の手順の逆順で処理されます。

Network traffic flow - north/south

ケース 2: 別のネットワークのインスタンスでの east-west トラフィック

物理ネットワーク基盤がプロバイダーネットワーク間のルーティングを行います。

  • プロバイダーネットワーク 1

    • ネットワーク: 192.0.2.0/24

    • ゲートウェイ: 192.0.2.1 (MAC アドレスは TG1)

  • プロバイダーネットワーク 2

    • ネットワーク: 198.51.100.0/24

    • ゲートウェイ: 198.51.100.1 (MAC アドレスは TG2)

  • コンピュートノード 1

    • インスタンス 1: 192.0.2.11 (MAC アドレスは I1)

  • コンピュートノード 2

    • インスタンス 2: 198.51.100.11 (MAC アドレスは I2)

  • インスタンス 1 はコンピュートノード 1 上にあり、プロバイダーネットワーク 1 を使用します。

  • インスタンス 2 はコンピュートノード 2 上にあり、プロバイダーネットワーク 2 を使用します。

  • インスタンス 1 がインスタンス 2 にパケットを送信します。

以下の手順は、コンピュートノード 1 に関係します。

  1. インスタンス 1 の tap インターフェースはパケットをプロバイダーブリッジ qbr に転送します。宛先は別のネットワーク上にあるので、パケットの宛先 MAC アドレスは TG1 です。

  2. プロバイダーブリッジ qbr 上のセキュリティーグループルールで、このパケットに対するファイアウォールと状態追跡 (state tracking) が行われます。

  3. プロバイダーブリッジ qbr は、パケットを論理 VLAN インターフェース device.sid に転送します。 device は物理 プロバイダーインターフェースで、 sid はプロバイダーネットワークの segmentation ID です。

  4. 論理 VLAN インターフェース device.sid は、パケットを物理プロバイダーインターフェース経由で物理ネットワーク基盤に転送します。

以下の手順は、物理ネットワーク環境に関係します。

  1. スイッチ (3) は、プロバイダーネットワーク 1 とルーター (4) 間のあらゆる VLAN タグ操作を行います。

  2. ルーター (4) は、パケットをプロバイダーネットワーク 1 からプロバイダーネットワーク 2 へルーティングします。

  3. スイッチ (3) は、ルーター (4) とプロバイダーネットワーク 2 間のあらゆる VLAN タグ操作を行います。

  4. スイッチ(3)は、コンピュートノード2 にパケットを転します

以下の手順は、コンピュートノード 2 に関係します。

  1. 物理プロバイダーインターフェースは、パケットを論理 VLAN インターフェース device.sid に転送します。 device は物理 プロバイダーインターフェースで、 sid はプロバイダーネットワークの segmentation ID です。

  2. 論理 VLAN インターフェース device.sid は、パケットをプロバイダーブリッジ qbr に転送します。

  3. プロバイダーブリッジ qbr 上のセキュリティーグループルール (5) で、このパケットに対するファイアウォールと状態追跡 (state tracking) が行われます。

  4. プロバイダーブリッジ qbr は、パケットをインスタンス 2 の tap インターフェース (6) に転送します。

注釈

戻りのトラフィックは、同様の手順の逆順で処理されます。

Network traffic flow - east/west for instances on different networks

ケース 3: 同じネットワークのインスタンスでの east-west トラフィック

物理ネットワーク基盤がプロバイダーネットワーク内のスイッチングを行います。

  • プロバイダーネットワーク

    • ネットワーク: 192.0.2.0/24

  • コンピュートノード 1

    • インスタンス 1: 192.0.2.11 (MAC アドレスは I1)

  • コンピュートノード 2

    • インスタンス 2: 192.0.2.12 (MAC アドレスは I2)

  • インスタンス 1 はコンピュートノード 1 上にあります。

  • インスタンス 2 はコンピュートノード 2 上にあります。

  • 両方のインスタンスは同じプロバイダーネットワーク上にあります。

  • インスタンス 1 がインスタンス 2 にパケットを送信します。

以下の手順は、コンピュートノード 1 に関係します。

  1. インスタンス 1 の tap インターフェース (1) はパケットをプロバイダーブリッジ qbr に転送します。宛先は同じネットワーク上にあるので、パケットの宛先 MAC アドレスは I2 です。

  2. プロバイダーブリッジ qbr 上のセキュリティーグループルール (2) で、このパケットに対するファイアウォールと状態追跡 (state tracking) が行われます。

  3. プロバイダーブリッジ qbr は、パケットを論理 VLAN インターフェース device.sid に転送します。 device は物理 プロバイダーインターフェースで、 sid はプロバイダーネットワークの segmentation ID です。

  4. 論理 VLAN インターフェース device.sid は、パケットを物理プロバイダーインターフェース経由で物理ネットワーク基盤に転送します。

以下の手順は、物理ネットワーク環境に関係します。

  1. スイッチ (3) は、コンピュートノード 1 からコンピュートノード 2 へパケットを転送します

以下の手順は、コンピュートノード 2 に関係します。

  1. 物理プロバイダーインターフェースは、パケットを論理 VLAN インターフェース device.sid に転送します。 device は物理 プロバイダーインターフェースで、 sid はプロバイダーネットワークの segmentation ID です。

  2. 論理 VLAN インターフェース device.sid は、パケットをプロバイダーブリッジ qbr に転送します。

  3. プロバイダーブリッジ qbr 上のセキュリティーグループルール (4) で、このパケットに対するファイアウォールと状態追跡 (state tracking) が行われます。

  4. プロバイダーブリッジ qbr は、パケットをインスタンス 2 の tap インターフェース (5) に転送します。

注釈

戻りのトラフィックは、同様の手順の逆順で処理されます。

Network traffic flow - east/west for instances on the same network

設定例

以下の設定例を、お使いの環境でこのシナリオをデプロイする際の雛形として使ってください。

注釈

このシナリオをさらに単純にするため、従来のメタデータエージェントではなくコンフィグドライブを使用して、インスタンスのメタデータを提供することを推奨します。

コントローラーノード

  1. 共通のオプションを設定します。 /etc/neutron/neutron.conf ファイルを編集します。

    [DEFAULT]
    verbose = True
    core_plugin = ml2
    service_plugins =
    

    注釈

    このシナリオでは Networking サービスはルーティングなどのレイヤー 3 サービスを提供しないため、 service_plugins オプションには何の値も設定しません。ただし、この設定にすると、 Networking サービスを管理するダッシュボードの一部機能が正しく動作しません。詳細は インストールガイド を参照してください。

  2. ML2 プラグインと Linux ブリッジエージェントを設定します。 /etc/neutron/plugins/ml2/ml2_conf.ini ファイルを編集します。

    [ml2]
    type_drivers = flat,vlan
    tenant_network_types =
    mechanism_drivers = linuxbridge
    extension_drivers = port_security
    
    [ml2_type_flat]
    flat_networks = provider
    
    [ml2_type_vlan]
    network_vlan_ranges = provider
    
    [securitygroup]
    enable_ipset = True
    

    PROVIDER_INTERFACE は、 プロバイダーネットワークを処理するインターフェース名で置き換えます。例えば、 eth1 など。

    注釈

    tenant_network_types オプションには何も値を指定しません。このアーキテクチャーでは、プロジェクト (プライベート) ネットワークがサポートされないからです。

    注釈

    network_vlan_ranges オプションの provider 値に VLAN ID を指定しなかった場合、任意の VLAN ID を使用できます。

  3. Linux ブリッジエージェントを設定します。/etc/neutron/plugins/ml2/linuxbridge_agent.ini ファイルを編集します。

    [linux_bridge]
    physical_interface_mappings = provider:PROVIDER_INTERFACE
    
    [vxlan]
    enable_vxlan = False
    
    [agent]
    prevent_arp_spoofing = True
    
    [securitygroup]
    firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
    enable_security_group = True
    
  4. DHCP エージェントを設定します。 /etc/neutron/dhcp_agent.ini ファイルを編集します。

    [DEFAULT]
    verbose = True
    interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
    dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
    enable_isolated_metadata = True
    
  5. 以下のサービスを実行します。

    • Server
    • Linux ブリッジエージェント

    • DHCP エージェント

コンピュートノード

  1. 共通のオプションを設定します。 /etc/neutron/neutron.conf ファイルを編集します。

    [DEFAULT]
    verbose = True
    
  2. Linux ブリッジエージェントを設定します。/etc/neutron/plugins/ml2/linuxbridge_agent.ini ファイルを編集します。

    [linux_bridge]
    physical_interface_mappings = provider:PROVIDER_INTERFACE
    
    [vxlan]
    enable_vxlan = False
    
    [agent]
    prevent_arp_spoofing = True
    
    [securitygroup]
    firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
    enable_security_group = True
    

    PROVIDER_INTERFACE は、 プロバイダーネットワークを処理するインターフェース名で置き換えます。例えば、 eth1 など。

  3. 以下のサービスを実行します。

    • Linux ブリッジエージェント

サービスの動作検証

  1. 管理プロジェクトのクレデンシャルを読み込みます。

  2. エージェントの存在と動作を検証します。

    $ neutron agent-list
    +--------------------------------------+--------------------+------------+-------+----------------+---------------------------+
    | id                                   | agent_type         | host       | alive | admin_state_up | binary                    |
    +--------------------------------------+--------------------+------------+-------+----------------+---------------------------+
    | 09de6af6-c5f1-4548-8b09-18801f068c57 | Linux bridge agent | compute2   | :-)   | True           | neutron-linuxbridge-agent |
    | 188945d1-9e70-4803-a276-df924e0788a4 | Linux bridge agent | compute1   | :-)   | True           | neutron-linuxbridge-agent |
    | e76c440d-d5f6-4316-a674-d689630b629e | DHCP agent         | controller | :-)   | True           | neutron-dhcp-agent        |
    | e9901853-6687-45b1-8a92-3712bdec0416 | Linux bridge agent | controller | :-)   | True           | neutron-linuxbridge-agent |
    +--------------------------------------+--------------------+------------+-------+----------------+---------------------------+
    

初期ネットワークの作成

この例では、 VLAN プロバイダーネットワークを作成します。 VLAN ID と IP アドレスの範囲をお使いの環境にあわせて適切な値に変更してください。

  1. 管理プロジェクトのクレデンシャルを読み込みます。

  2. プロバイダーネットワークを作成します:

    $ neutron net-create provider-101 --shared \
      --provider:physical_network provider --provider:network_type vlan \
      --provider:segmentation_id 101
    Created a new network:
    +---------------------------+--------------------------------------+
    | Field                     | Value                                |
    +---------------------------+--------------------------------------+
    | admin_state_up            | True                                 |
    | id                        | 572a3fc9-ad1f-4e54-a63a-4bf5047c1a4a |
    | name                      | provider-101                         |
    | provider:network_type     | vlan                                 |
    | provider:physical_network | provider                             |
    | provider:segmentation_id  | 101                                  |
    | router:external           | False                                |
    | shared                    | True                                 |
    | status                    | ACTIVE                               |
    | subnets                   |                                      |
    | tenant_id                 | e0bddbc9210d409795887175341b7098     |
    +---------------------------+--------------------------------------+
    

    注釈

    shared オプションを指定すると、すべてのプロジェクトがこのネットワークを使用できるようになります。

  3. そのプロバイダーネットワークにサブネットを作成します:

    $ neutron subnet-create provider-101 203.0.113.0/24 \
      --name provider-101-subnet --gateway 203.0.113.1
    Created a new subnet:
    +-------------------+--------------------------------------------------+
    | Field             | Value                                            |
    +-------------------+--------------------------------------------------+
    | allocation_pools  | {"start": "203.0.113.2", "end": "203.0.113.254"} |
    | cidr              | 203.0.113.0/24                                   |
    | dns_nameservers   |                                                  |
    | enable_dhcp       | True                                             |
    | gateway_ip        | 203.0.113.1                                      |
    | host_routes       |                                                  |
    | id                | ff6c9a0b-0c81-4ce4-94e6-c6617a059bab             |
    | ip_version        | 4                                                |
    | ipv6_address_mode |                                                  |
    | ipv6_ra_mode      |                                                  |
    | name              | provider-101-subnet                              |
    | network_id        | 572a3fc9-ad1f-4e54-a63a-4bf5047c1a4a             |
    | tenant_id         | e0bddbc9210d409795887175341b7098                 |
    +-------------------+--------------------------------------------------+
    

ネットワーク動作の検証

  1. コントローラーノードで、 qdhcp 名前空間が作成されているかを確認します。

    $ ip netns
    qdhcp-8b868082-e312-4110-8627-298109d4401c
    

    注釈

    インスタンスを起動するまでは qdhcp 名前空間は存在しない場合があります。

  2. 通常のプロジェクトの認証情報を読み込みます。 以下の手順では demo プロジェクトを使用します。

  3. 適切なセキュリティーグループを作成し、インスタンスへの ping と SSH を許可します。例えば以下のようにします。

    $ nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
    +-------------+-----------+---------+-----------+--------------+
    | IP Protocol | From Port | To Port | IP Range  | Source Group |
    +-------------+-----------+---------+-----------+--------------+
    | icmp        | -1        | -1      | 0.0.0.0/0 |              |
    +-------------+-----------+---------+-----------+--------------+
    
    $ nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
    +-------------+-----------+---------+-----------+--------------+
    | IP Protocol | From Port | To Port | IP Range  | Source Group |
    +-------------+-----------+---------+-----------+--------------+
    | tcp         | 22        | 22      | 0.0.0.0/0 |              |
    +-------------+-----------+---------+-----------+--------------+
    
  4. 作成したプロバイダーネットワークに接続されたインタフェースを持つインスタンスを起動します。

    注釈

    この例では CirrOS イメージを使っています。このイメージは Image Service に自分でアップロードしておく必要があります。

    $ nova boot --flavor m1.tiny --image cirros-0.3.3-x86_64-disk test_server
    +--------------------------------------+-----------------------------------------------------------------+
    | Property                             | Value                                                           |
    +--------------------------------------+-----------------------------------------------------------------+
    | OS-DCF:diskConfig                    | MANUAL                                                          |
    | OS-EXT-AZ:availability_zone          | nova                                                            |
    | OS-EXT-SRV-ATTR:host                 | -                                                               |
    | OS-EXT-SRV-ATTR:hypervisor_hostname  | -                                                               |
    | OS-EXT-SRV-ATTR:instance_name        | instance-00000001                                               |
    | OS-EXT-STS:power_state               | 0                                                               |
    | OS-EXT-STS:task_state                | scheduling                                                      |
    | OS-EXT-STS:vm_state                  | building                                                        |
    | OS-SRV-USG:launched_at               | -                                                               |
    | OS-SRV-USG:terminated_at             | -                                                               |
    | accessIPv4                           |                                                                 |
    | accessIPv6                           |                                                                 |
    | adminPass                            | h7CkMdkRXuuh                                                    |
    | config_drive                         |                                                                 |
    | created                              | 2015-07-22T20:40:16Z                                            |
    | flavor                               | m1.tiny (1)                                                     |
    | hostId                               |                                                                 |
    | id                                   | dee2a9f4-e24c-444d-8c94-386f11f74af5                            |
    | image                                | cirros-0.3.3-x86_64-disk (2b6bb38f-f69f-493c-a1c0-264dfd4188d8) |
    | key_name                             | -                                                               |
    | metadata                             | {}                                                              |
    | name                                 | test_server                                                     |
    | os-extended-volumes:volumes_attached | []                                                              |
    | progress                             | 0                                                               |
    | security_groups                      | default                                                         |
    | status                               | BUILD                                                           |
    | tenant_id                            | 5f2db133e98e4bc2999ac2850ce2acd1                                |
    | updated                              | 2015-07-22T20:40:16Z                                            |
    | user_id                              | ea417ebfa86741af86f84a5dbcc97cd2                                |
    +--------------------------------------+-----------------------------------------------------------------+
    
  5. インスタンスの IP アドレスを確認します。以下の手順では 203.0.113.3 を使っています。

    $ nova list
    +--------------------------------------+-------------+--------+------------+-------------+--------------------------+
    | ID                                   | Name        | Status | Task State | Power State | Networks                 |
    +--------------------------------------+-------------+--------+------------+-------------+--------------------------+
    | dee2a9f4-e24c-444d-8c94-386f11f74af5 | test_server | ACTIVE | -          | Running     | provider-101=203.0.113.3 |
    +--------------------------------------+-------------+--------+------------+-------------+--------------------------+
    
  6. コントローラーノードかプロバイダーネットワークに接続されているホストから、インスタンスの IP アドレスに ping を行います。

    $ ping -c 4 203.0.113.3
    PING 203.0.113.3 (203.0.113.3) 56(84) bytes of data.
    64 bytes from 203.0.113.3: icmp_req=1 ttl=63 time=3.18 ms
    64 bytes from 203.0.113.3: icmp_req=2 ttl=63 time=0.981 ms
    64 bytes from 203.0.113.3: icmp_req=3 ttl=63 time=1.06 ms
    64 bytes from 203.0.113.3: icmp_req=4 ttl=63 time=0.929 ms
    
    --- 203.0.113.3 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3002ms
    rtt min/avg/max/mdev = 0.929/1.539/3.183/0.951 ms
    
  7. インスタンスにアクセスします。

  8. インターネットへの接続性を確認します。

    $ ping -c 4 openstack.org
    PING openstack.org (174.143.194.225) 56(84) bytes of data.
    64 bytes from 174.143.194.225: icmp_req=1 ttl=53 time=17.4 ms
    64 bytes from 174.143.194.225: icmp_req=2 ttl=53 time=17.5 ms
    64 bytes from 174.143.194.225: icmp_req=3 ttl=53 time=17.7 ms
    64 bytes from 174.143.194.225: icmp_req=4 ttl=53 time=17.5 ms
    
    --- openstack.org ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3003ms
    rtt min/avg/max/mdev = 17.431/17.575/17.734/0.143 ms
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.